版博士V2.0程序
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

66 righe
1.5 KiB

  1. import {
  2. emitHelperId,
  3. emit_helper_default,
  4. helperPrefix,
  5. transformDefineModel,
  6. useVmodelHelperId,
  7. use_vmodel_default
  8. } from "./chunk-USRR2C2S.mjs";
  9. // src/index.ts
  10. import { createUnplugin } from "unplugin";
  11. import {
  12. REGEX_SETUP_SFC,
  13. REGEX_VUE_SFC,
  14. REGEX_VUE_SUB,
  15. createFilter,
  16. detectVueVersion,
  17. normalizePath
  18. } from "@vue-macros/common";
  19. function resolveOption(options, framework) {
  20. const version = options.version || detectVueVersion();
  21. return {
  22. include: [REGEX_VUE_SFC, REGEX_SETUP_SFC].concat(
  23. version === 2 && framework === "webpack" ? REGEX_VUE_SUB : []
  24. ),
  25. unified: true,
  26. ...options,
  27. version
  28. };
  29. }
  30. var name = "unplugin-vue-define-model";
  31. var src_default = createUnplugin(
  32. (userOptions = {}, { framework }) => {
  33. const options = resolveOption(userOptions, framework);
  34. const filter = createFilter(options);
  35. return {
  36. name,
  37. enforce: "pre",
  38. resolveId(id) {
  39. if (id.startsWith(helperPrefix))
  40. return id;
  41. },
  42. loadInclude(id) {
  43. return id.startsWith(helperPrefix);
  44. },
  45. load(_id) {
  46. const id = normalizePath(_id);
  47. if (id === emitHelperId)
  48. return emit_helper_default;
  49. else if (id === useVmodelHelperId)
  50. return use_vmodel_default;
  51. },
  52. transformInclude(id) {
  53. return filter(id);
  54. },
  55. transform(code, id) {
  56. return transformDefineModel(code, id, options.version, options.unified);
  57. }
  58. };
  59. }
  60. );
  61. export {
  62. src_default
  63. };