Home / File/ compiler-options.spec.ts — vue Source File

compiler-options.spec.ts — vue Source File

Architecture documentation for compiler-options.spec.ts, a typescript file in the vue codebase. 3 imports, 0 dependents.

File typescript 3 imports

Entity Profile

Dependency Diagram

graph LR
  f1fbc5ed_2f01_ecbe_8e95_5e8fb1ee72f0["compiler-options.spec.ts"]
  c5601857_7faf_30c6_efca_20de90db006c["vue"]
  f1fbc5ed_2f01_ecbe_8e95_5e8fb1ee72f0 --> c5601857_7faf_30c6_efca_20de90db006c
  debff2f0_93b9_dcac_1449_6a8aee983732["compiler"]
  f1fbc5ed_2f01_ecbe_8e95_5e8fb1ee72f0 --> debff2f0_93b9_dcac_1449_6a8aee983732
  a0ba3d1b_5fa2_9aa0_10cf_68e933ca762a["helpers"]
  f1fbc5ed_2f01_ecbe_8e95_5e8fb1ee72f0 --> a0ba3d1b_5fa2_9aa0_10cf_68e933ca762a
  style f1fbc5ed_2f01_ecbe_8e95_5e8fb1ee72f0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Vue from 'vue'
import { compile } from 'web/compiler'
import { getAndRemoveAttr } from 'compiler/helpers'

describe('compile options', () => {
  it('should be compiled', () => {
    const { render, staticRenderFns, errors } = compile(
      `
      <div>
        <input type="text" v-model="msg" required max="8" v-validate:field1.group1.group2>
      </div>
    `,
      {
        directives: {
          validate(el, dir) {
            if (dir.name === 'validate' && dir.arg) {
              el.validate = {
                field: dir.arg,
                groups: dir.modifiers ? Object.keys(dir.modifiers) : []
              }
            }
          }
        },
        modules: [
          {
            transformNode(el) {
              el.validators = el.validators || []
              const validators = [
                'required',
                'min',
                'max',
                'pattern',
                'maxlength',
                'minlength'
              ]
              validators.forEach(name => {
                const rule = getAndRemoveAttr(el, name)
                if (rule !== undefined) {
                  el.validators.push({ name, rule })
                }
              })
            },
            genData(el) {
              let data = ''
              if (el.validate) {
                data += `validate:${JSON.stringify(el.validate)},`
              }
              if (el.validators) {
                data += `validators:${JSON.stringify(el.validators)},`
              }
              return data
            },
            transformCode(el, code) {
              // check
              if (!el.validate || !el.validators) {
                return code
              }
              // setup validation result props
              const result = { dirty: false } // define something other prop
              el.validators.forEach(validator => {
// ... (111 more lines)

Dependencies

  • compiler
  • helpers
  • vue

Frequently Asked Questions

What does compiler-options.spec.ts do?
compiler-options.spec.ts is a source file in the vue codebase, written in typescript.
What does compiler-options.spec.ts depend on?
compiler-options.spec.ts imports 3 module(s): compiler, helpers, vue.
Where is compiler-options.spec.ts in the architecture?
compiler-options.spec.ts is located at test/unit/modules/compiler/compiler-options.spec.ts (directory: test/unit/modules/compiler).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free