From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../coverage/lcov-report/lib/compileStyle.ts.html | 498 +++++++++++++++++ .../lcov-report/lib/compileTemplate.ts.html | 597 +++++++++++++++++++++ .../coverage/lcov-report/lib/index.html | 123 +++++ .../coverage/lcov-report/lib/parse.ts.html | 405 ++++++++++++++ .../lcov-report/lib/stylePlugins/index.html | 110 ++++ .../lcov-report/lib/stylePlugins/scoped.ts.html | 363 +++++++++++++ .../lcov-report/lib/stylePlugins/trim.ts.html | 99 ++++ .../lcov-report/lib/styleProcessors/index.html | 97 ++++ .../lcov-report/lib/styleProcessors/index.ts.html | 468 ++++++++++++++++ .../lib/templateCompilerModules/assetUrl.ts.html | 222 ++++++++ .../lib/templateCompilerModules/index.html | 123 +++++ .../lib/templateCompilerModules/srcset.ts.html | 267 +++++++++ .../lib/templateCompilerModules/utils.ts.html | 231 ++++++++ 13 files changed, 3603 insertions(+) create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileStyle.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/index.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/parse.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/index.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/scoped.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/trim.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/assetUrl.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/index.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/srcset.ts.html create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/utils.ts.html (limited to 'node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib') diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileStyle.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileStyle.ts.html new file mode 100644 index 00000000..2eda9486 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileStyle.ts.html @@ -0,0 +1,498 @@ + + + + Code coverage report for lib/compileStyle.ts + + + + + + + +
+
+

+ All files / lib compileStyle.ts +

+
+
+ 93.33% + Statements + 28/30 +
+
+ 87.5% + Branches + 28/32 +
+
+ 83.33% + Functions + 5/6 +
+
+ 93.33% + Lines + 28/30 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +1442x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +14x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +15x +15x +15x +15x +15x +  +15x +15x +15x +  +15x +7x +  +  +15x +  +  +  +  +15x +4x +  +  +  +  +  +  +  +15x +15x +  +  +15x +15x +  +  +15x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +14x +13x +  +1x +  +  +14x +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  + 
const postcss = require('postcss')
+import { ProcessOptions, LazyResult } from 'postcss'
+import trimPlugin from './stylePlugins/trim'
+import scopedPlugin from './stylePlugins/scoped'
+import {
+  processors,
+  StylePreprocessor,
+  StylePreprocessorResults
+} from './styleProcessors'
+ 
+export interface StyleCompileOptions {
+  source: string
+  filename: string
+  id: string
+  map?: any
+  scoped?: boolean
+  trim?: boolean
+  preprocessLang?: string
+  preprocessOptions?: any
+  postcssOptions?: any
+  postcssPlugins?: any[]
+}
+ 
+export interface AsyncStyleCompileOptions extends StyleCompileOptions {
+  isAsync?: boolean
+}
+ 
+export interface StyleCompileResults {
+  code: string
+  map: any | void
+  rawResult: LazyResult | void
+  errors: string[]
+}
+ 
+export function compileStyle(
+  options: StyleCompileOptions
+): StyleCompileResults {
+  return doCompileStyle({ ...options, isAsync: false })
+}
+ 
+export function compileStyleAsync(
+  options: StyleCompileOptions
+): Promise<StyleCompileResults> {
+  return Promise.resolve(doCompileStyle({ ...options, isAsync: true }))
+}
+ 
+export function doCompileStyle(
+  options: AsyncStyleCompileOptions
+): StyleCompileResults {
+  const {
+    filename,
+    id,
+    scoped = true,
+    trim = true,
+    preprocessLang,
+    postcssOptions,
+    postcssPlugins
+  } = options
+  const preprocessor = preprocessLang && processors[preprocessLang]
+  const preProcessedSource = preprocessor && preprocess(options, preprocessor)
+  const map = preProcessedSource ? preProcessedSource.map : options.map
+  const source = preProcessedSource ? preProcessedSource.code : options.source
+ 
+  const plugins = (postcssPlugins || []).slice()
+  Eif (trim) {
+    plugins.push(trimPlugin())
+  }
+  if (scoped) {
+    plugins.push(scopedPlugin(id))
+  }
+ 
+  const postCSSOptions: ProcessOptions = {
+    ...postcssOptions,
+    to: filename,
+    from: filename
+  }
+  if (map) {
+    postCSSOptions.map = {
+      inline: false,
+      annotation: false,
+      prev: map
+    }
+  }
+ 
+  let result, code, outMap
+  const errors: any[] = []
+  Iif (preProcessedSource && preProcessedSource.errors.length) {
+    errors.push(...preProcessedSource.errors)
+  }
+  try {
+    result = postcss(plugins).process(source, postCSSOptions)
+ 
+    // In async mode, return a promise.
+    if (options.isAsync) {
+      return result
+        .then(
+          (result: LazyResult): StyleCompileResults => ({
+            code: result.css || '',
+            map: result.map && result.map.toJSON(),
+            errors,
+            rawResult: result
+          })
+        )
+        .catch(
+          (error: Error): StyleCompileResults => ({
+            code: '',
+            map: undefined,
+            errors: [...errors, error.message],
+            rawResult: undefined
+          })
+        )
+    }
+ 
+    // force synchronous transform (we know we only have sync plugins)
+    code = result.css
+    outMap = result.map
+  } catch (e) {
+    errors.push(e)
+  }
+ 
+  return {
+    code: code || ``,
+    map: outMap && outMap.toJSON(),
+    errors,
+    rawResult: result
+  }
+}
+ 
+function preprocess(
+  options: StyleCompileOptions,
+  preprocessor: StylePreprocessor
+): StylePreprocessorResults {
+  return preprocessor.render(
+    options.source,
+    options.map,
+    Object.assign(
+      {
+        filename: options.filename
+      },
+      options.preprocessOptions
+    )
+  )
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html new file mode 100644 index 00000000..0954e315 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html @@ -0,0 +1,597 @@ + + + + Code coverage report for lib/compileTemplate.ts + + + + + + + +
+
+

+ All files / lib compileTemplate.ts +

+
+
+ 91.89% + Statements + 34/37 +
+
+ 78.79% + Branches + 26/33 +
+
+ 100% + Functions + 5/5 +
+
+ 97.14% + Lines + 34/35 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +7x +7x +1x +  +  +  +  +6x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +1x +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +6x +  +6x +6x +4x +  +  +  +  +  +4x +  +  +  +  +6x +  +  +  +  +6x +  +  +  +  +  +  +  +6x +  +  +  +  +  +6x +8x +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +6x +  +6x +  +  +6x +6x +  +  +6x +  +  +  +  +  +  +  + 
import { VueTemplateCompiler, VueTemplateCompilerOptions } from './types'
+ 
+import assetUrlsModule, {
+  AssetURLOptions
+} from './templateCompilerModules/assetUrl'
+import srcsetModule from './templateCompilerModules/srcset'
+ 
+const prettier = require('prettier')
+const consolidate = require('consolidate')
+const transpile = require('vue-template-es2015-compiler')
+ 
+export interface TemplateCompileOptions {
+  source: string
+  filename: string
+  compiler: VueTemplateCompiler
+  compilerOptions?: VueTemplateCompilerOptions
+  transformAssetUrls?: AssetURLOptions | boolean
+  preprocessLang?: string
+  preprocessOptions?: any
+  transpileOptions?: any
+  isProduction?: boolean
+  isFunctional?: boolean
+  optimizeSSR?: boolean
+}
+ 
+export interface TemplateCompileResult {
+  code: string
+  source: string
+  tips: string[]
+  errors: string[]
+}
+ 
+export function compileTemplate(
+  options: TemplateCompileOptions
+): TemplateCompileResult {
+  const { preprocessLang } = options
+  const preprocessor = preprocessLang && consolidate[preprocessLang]
+  if (preprocessor) {
+    return actuallyCompile(
+      Object.assign({}, options, {
+        source: preprocess(options, preprocessor)
+      })
+    )
+  } else if (preprocessLang) {
+    return {
+      code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
+      source: options.source,
+      tips: [
+        `Component ${
+          options.filename
+        } uses lang ${preprocessLang} for template. Please install the language preprocessor.`
+      ],
+      errors: [
+        `Component ${
+          options.filename
+        } uses lang ${preprocessLang} for template, however it is not installed.`
+      ]
+    }
+  } else {
+    return actuallyCompile(options)
+  }
+}
+ 
+function preprocess(
+  options: TemplateCompileOptions,
+  preprocessor: any
+): string {
+  const { source, filename, preprocessOptions } = options
+ 
+  const finalPreprocessOptions = Object.assign(
+    {
+      filename
+    },
+    preprocessOptions
+  )
+ 
+  // Consolidate exposes a callback based API, but the callback is in fact
+  // called synchronously for most templating engines. In our case, we have to
+  // expose a synchronous API so that it is usable in Jest transforms (which
+  // have to be sync because they are applied via Node.js require hooks)
+  let res: any, err
+  preprocessor.render(
+    source,
+    finalPreprocessOptions,
+    (_err: Error | null, _res: string) => {
+      Iif (_err) err = _err
+      res = _res
+    }
+  )
+ 
+  Iif (err) throw err
+  return res
+}
+ 
+function actuallyCompile(
+  options: TemplateCompileOptions
+): TemplateCompileResult {
+  const {
+    source,
+    compiler,
+    compilerOptions = {},
+    transpileOptions = {},
+    transformAssetUrls,
+    isProduction = process.env.NODE_ENV === 'production',
+    isFunctional = false,
+    optimizeSSR = false
+  } = options
+ 
+  const compile =
+    optimizeSSR && compiler.ssrCompile ? compiler.ssrCompile : compiler.compile
+ 
+  let finalCompilerOptions = compilerOptions
+  if (transformAssetUrls) {
+    const builtInModules = [
+      transformAssetUrls === true
+        ? assetUrlsModule()
+        : assetUrlsModule(transformAssetUrls),
+      srcsetModule()
+    ]
+    finalCompilerOptions = Object.assign({}, compilerOptions, {
+      modules: [...builtInModules, ...(compilerOptions.modules || [])]
+    })
+  }
+ 
+  const { render, staticRenderFns, tips, errors } = compile(
+    source,
+    finalCompilerOptions
+  )
+ 
+  Iif (errors && errors.length) {
+    return {
+      code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
+      source,
+      tips,
+      errors
+    }
+  } else {
+    const finalTranspileOptions = Object.assign({}, transpileOptions, {
+      transforms: Object.assign({}, transpileOptions.transforms, {
+        stripWithFunctional: isFunctional
+      })
+    })
+ 
+    const toFunction = (code: string): string => {
+      return `function (${isFunctional ? `_h,_vm` : ``}) {${code}}`
+    }
+ 
+    // transpile code with vue-template-es2015-compiler, which is a forked
+    // version of Buble that applies ES2015 transforms + stripping `with` usage
+    let code =
+      transpile(
+        `var __render__ = ${toFunction(render)}\n` +
+          `var __staticRenderFns__ = [${staticRenderFns.map(toFunction)}]`,
+        finalTranspileOptions
+      ) + `\n`
+ 
+    // #23 we use __render__ to avoid `render` not being prefixed by the
+    // transpiler when stripping with, but revert it back to `render` to
+    // maintain backwards compat
+    code = code.replace(/\s__(render|staticRenderFns)__\s/g, ' $1 ')
+ 
+    Eif (!isProduction) {
+      // mark with stripped (this enables Vue to use correct runtime proxy
+      // detection)
+      code += `render._withStripped = true`
+      code = prettier.format(code, { semi: false, parser: 'babylon' })
+    }
+ 
+    return {
+      code,
+      source,
+      tips,
+      errors
+    }
+  }
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/index.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/index.html new file mode 100644 index 00000000..7c167d16 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/index.html @@ -0,0 +1,123 @@ + + + + Code coverage report for lib + + + + + + + +
+
+

+ All files lib +

+
+
+ 92.47% + Statements + 86/93 +
+
+ 77.11% + Branches + 64/83 +
+
+ 93.33% + Functions + 14/15 +
+
+ 95.56% + Lines + 86/90 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
compileStyle.ts
93.33%28/3087.5%28/3283.33%5/693.33%28/30
compileTemplate.ts
91.89%34/3778.79%26/33100%5/597.14%34/35
parse.ts
92.31%24/2655.56%10/18100%4/496%24/25
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/parse.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/parse.ts.html new file mode 100644 index 00000000..ccccf0a6 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/parse.ts.html @@ -0,0 +1,405 @@ + + + + Code coverage report for lib/parse.ts + + + + + + + +
+
+

+ All files / lib parse.ts +

+
+
+ 92.31% + Statements + 24/26 +
+
+ 55.56% + Branches + 10/18 +
+
+ 100% + Functions + 4/4 +
+
+ 96% + Lines + 24/25 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113  +  +  +  +  +  +2x +2x +2x +  +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +6x +6x +6x +6x +6x +6x +  +  +  +  +  +  +  +6x +6x +4x +4x +  +  +  +  +  +  +  +  +  +6x +6x +  +  +  +  +  +  +  +  +4x +  +  +  +4x +4x +18x +10x +  +  +  +  +  +  +  +  +  +  +  +  +4x +  + 
import {
+  RawSourceMap,
+  VueTemplateCompiler,
+  VueTemplateCompilerParseOptions
+} from './types'
+ 
+const hash = require('hash-sum')
+const cache = require('lru-cache')(100)
+const { SourceMapGenerator } = require('source-map')
+ 
+const splitRE = /\r?\n/g
+const emptyRE = /^(?:\/\/)?\s*$/
+ 
+export interface ParseOptions {
+  source: string
+  filename?: string
+  compiler: VueTemplateCompiler
+  compilerParseOptions?: VueTemplateCompilerParseOptions
+  sourceRoot?: string
+  needMap?: boolean
+}
+ 
+export interface SFCCustomBlock {
+  type: string
+  content: string
+  attrs: { [key: string]: string | true }
+  start: number
+  end: number
+  map?: RawSourceMap
+}
+ 
+export interface SFCBlock extends SFCCustomBlock {
+  lang?: string
+  src?: string
+  scoped?: boolean
+  module?: string | boolean
+}
+ 
+export interface SFCDescriptor {
+  template: SFCBlock | null
+  script: SFCBlock | null
+  styles: SFCBlock[]
+  customBlocks: SFCCustomBlock[]
+}
+ 
+export function parse(options: ParseOptions): SFCDescriptor {
+  const {
+    source,
+    filename = '',
+    compiler,
+    compilerParseOptions = { pad: 'line' },
+    sourceRoot = process.cwd(),
+    needMap = true
+  } = options
+  const cacheKey = hash(filename + source)
+  let output: SFCDescriptor = cache.get(cacheKey)
+  Iif (output) return output
+  output = compiler.parseComponent(source, compilerParseOptions)
+  Eif (needMap) {
+    Iif (output.script && !output.script.src) {
+      output.script.map = generateSourceMap(
+        filename,
+        source,
+        output.script.content,
+        sourceRoot
+      )
+    }
+    Eif (output.styles) {
+      output.styles.forEach(style => {
+        Eif (!style.src) {
+          style.map = generateSourceMap(
+            filename,
+            source,
+            style.content,
+            sourceRoot
+          )
+        }
+      })
+    }
+  }
+  cache.set(cacheKey, output)
+  return output
+}
+ 
+function generateSourceMap(
+  filename: string,
+  source: string,
+  generated: string,
+  sourceRoot: string
+): RawSourceMap {
+  const map = new SourceMapGenerator({
+    file: filename,
+    sourceRoot
+  })
+  map.setSourceContent(filename, source)
+  generated.split(splitRE).forEach((line, index) => {
+    if (!emptyRE.test(line)) {
+      map.addMapping({
+        source: filename,
+        original: {
+          line: index + 1,
+          column: 0
+        },
+        generated: {
+          line: index + 1,
+          column: 0
+        }
+      })
+    }
+  })
+  return map.toJSON()
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/index.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/index.html new file mode 100644 index 00000000..749902b1 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/index.html @@ -0,0 +1,110 @@ + + + + Code coverage report for lib/stylePlugins + + + + + + + +
+
+

+ All files lib/stylePlugins +

+
+
+ 90% + Statements + 45/50 +
+
+ 79.07% + Branches + 34/43 +
+
+ 100% + Functions + 13/13 +
+
+ 89.8% + Lines + 44/49 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
scoped.ts
89.13%41/4676.92%30/39100%10/1088.89%40/45
trim.ts
100%4/4100%4/4100%3/3100%4/4
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/scoped.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/scoped.ts.html new file mode 100644 index 00000000..6a3f4ea5 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/scoped.ts.html @@ -0,0 +1,363 @@ + + + + Code coverage report for lib/stylePlugins/scoped.ts + + + + + + + +
+
+

+ All files / lib/stylePlugins scoped.ts +

+
+
+ 89.13% + Statements + 41/46 +
+
+ 76.92% + Branches + 30/39 +
+
+ 100% + Functions + 10/10 +
+
+ 88.89% + Lines + 40/45 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99  +  +  +2x +  +7x +7x +7x +  +7x +21x +  +6x +6x +2x +4x +  +4x +  +  +6x +  +15x +15x +17x +  +17x +  +21x +2x +2x +2x +  +  +19x +  +  +  +  +  +  +  +19x +15x +  +  +  +17x +14x +  +  +  +  +3x +  +  +17x +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +1x +  +19x +2x +  +3x +  +  +  +19x +3x +  +  +6x +9x +6x +4x +4x +  +2x +  +  +  +  +  +  +  + 
import { Root } from 'postcss'
+import * as postcss from 'postcss'
+// postcss-selector-parser does have typings but it's problematic to work with.
+const selectorParser = require('postcss-selector-parser')
+ 
+export default postcss.plugin('add-id', (options: any) => (root: Root) => {
+  const id: string = options
+  const keyframes = Object.create(null)
+ 
+  root.each(function rewriteSelector(node: any) {
+    if (!node.selector) {
+      // handle media queries
+      Eif (node.type === 'atrule') {
+        if (node.name === 'media' || node.name === 'supports') {
+          node.each(rewriteSelector)
+        } else Eif (/-?keyframes$/.test(node.name)) {
+          // register keyframes
+          keyframes[node.params] = node.params = node.params + '-' + id
+        }
+      }
+      return
+    }
+    node.selector = selectorParser((selectors: any) => {
+      selectors.each((selector: any) => {
+        let node: any = null
+ 
+        selector.each((n: any) => {
+          // ">>>" combinator
+          if (n.type === 'combinator' && n.value === '>>>') {
+            n.value = ' '
+            n.spaces.before = n.spaces.after = ''
+            return false
+          }
+          // /deep/ alias for >>>, since >>> doesn't work in SASS
+          Iif (n.type === 'tag' && n.value === '/deep/') {
+            const prev = n.prev()
+            if (prev && prev.type === 'combinator' && prev.value === ' ') {
+              prev.remove()
+            }
+            n.remove()
+            return false
+          }
+          if (n.type !== 'pseudo' && n.type !== 'combinator') {
+            node = n
+          }
+        })
+ 
+        if (node) {
+          node.spaces.after = ''
+        } else {
+          // For deep selectors & standalone pseudo selectors,
+          // the attribute selectors are prepended rather than appended.
+          // So all leading spaces must be eliminated to avoid problems.
+          selector.first.spaces.before = ''
+        }
+ 
+        selector.insertAfter(
+          node,
+          selectorParser.attribute({
+            attribute: id
+          })
+        )
+      })
+    }).processSync(node.selector)
+  })
+ 
+  // If keyframes are found in this <style>, find and rewrite animation names
+  // in declarations.
+  // Caveat: this only works for keyframes and animation rules in the same
+  // <style> element.
+  if (Object.keys(keyframes).length) {
+    root.walkDecls(decl => {
+      // individual animation-name declaration
+      if (/^(-\w+-)?animation-name$/.test(decl.prop)) {
+        decl.value = decl.value
+          .split(',')
+          .map(v => keyframes[v.trim()] || v.trim())
+          .join(',')
+      }
+      // shorthand
+      if (/^(-\w+-)?animation$/.test(decl.prop)) {
+        decl.value = decl.value
+          .split(',')
+          .map(v => {
+            const vals = v.trim().split(/\s+/)
+            const i = vals.findIndex(val => keyframes[val])
+            if (i !== -1) {
+              vals.splice(i, 1, keyframes[vals[i]])
+              return vals.join(' ')
+            } else {
+              return v
+            }
+          })
+          .join(',')
+      }
+    })
+  }
+})
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/trim.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/trim.ts.html new file mode 100644 index 00000000..38d39268 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/stylePlugins/trim.ts.html @@ -0,0 +1,99 @@ + + + + Code coverage report for lib/stylePlugins/trim.ts + + + + + + + +
+
+

+ All files / lib/stylePlugins trim.ts +

+
+
+ 100% + Statements + 4/4 +
+
+ 100% + Branches + 4/4 +
+
+ 100% + Functions + 3/3 +
+
+ 100% + Lines + 4/4 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11  +  +  +15x +14x +70x +36x +  +  +  + 
import { Root } from 'postcss'
+import * as postcss from 'postcss'
+ 
+export default postcss.plugin('trim', () => (css: Root) => {
+  css.walk(({ type, raws }) => {
+    if (type === 'rule' || type === 'atrule') {
+      raws.before = raws.after = '\n'
+    }
+  })
+})
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.html new file mode 100644 index 00000000..26539e04 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.html @@ -0,0 +1,97 @@ + + + + Code coverage report for lib/styleProcessors + + + + + + + +
+
+

+ All files lib/styleProcessors +

+
+
+ 83.78% + Statements + 31/37 +
+
+ 50% + Branches + 5/10 +
+
+ 100% + Functions + 2/2 +
+
+ 85.29% + Lines + 29/34 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts
83.78%31/3750%5/10100%2/285.29%29/34
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.ts.html new file mode 100644 index 00000000..c7de1e7a --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/styleProcessors/index.ts.html @@ -0,0 +1,468 @@ + + + + Code coverage report for lib/styleProcessors/index.ts + + + + + + + +
+
+

+ All files / lib/styleProcessors index.ts +

+
+
+ 83.78% + Statements + 31/37 +
+
+ 50% + Branches + 5/10 +
+
+ 100% + Functions + 2/2 +
+
+ 85.29% + Lines + 29/34 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +1342x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +2x +2x +  +  +  +  +  +  +2x +2x +  +2x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +1x +  +  +1x +1x +  +  +  +1x +1x +  +  +  +1x +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +1x +1x +1x +1x +1x +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  + 
const merge = require('merge-source-map')
+ 
+export interface StylePreprocessor {
+  render(
+    source: string,
+    map: any | null,
+    options: any
+  ): StylePreprocessorResults
+}
+ 
+export interface StylePreprocessorResults {
+  code: string
+  map?: any
+  errors: Array<Error>
+}
+ 
+// .scss/.sass processor
+const scss: StylePreprocessor = {
+  render(
+    source: string,
+    map: any | null,
+    options: any
+  ): StylePreprocessorResults {
+    const nodeSass = require('node-sass')
+    const finalOptions = Object.assign({}, options, {
+      data: source,
+      file: options.filename,
+      outFile: options.filename,
+      sourceMap: !!map
+    })
+ 
+    try {
+      const result = nodeSass.renderSync(finalOptions)
+ 
+      Eif (map) {
+        return {
+          code: result.css.toString(),
+          map: merge(map, JSON.parse(result.map.toString())),
+          errors: []
+        }
+      }
+ 
+      return { code: result.css.toString(), errors: [] }
+    } catch (e) {
+      return { code: '', errors: [e] }
+    }
+  }
+}
+ 
+const sass = {
+  render(
+    source: string,
+    map: any | null,
+    options: any
+  ): StylePreprocessorResults {
+    return scss.render(
+      source,
+      map,
+      Object.assign({}, options, { indentedSyntax: true })
+    )
+  }
+}
+ 
+// .less
+const less = {
+  render(
+    source: string,
+    map: any | null,
+    options: any
+  ): StylePreprocessorResults {
+    const nodeLess = require('less')
+ 
+    let result: any
+    let error: Error | null = null
+    nodeLess.render(
+      source,
+      Object.assign({}, options, { syncImport: true }),
+      (err: Error | null, output: any) => {
+        error = err
+        result = output
+      }
+    )
+ 
+    Iif (error) return { code: '', errors: [error] }
+ 
+    Eif (map) {
+      return {
+        code: result.css.toString(),
+        map: merge(map, result.map),
+        errors: []
+      }
+    }
+ 
+    return { code: result.css.toString(), errors: [] }
+  }
+}
+ 
+// .styl
+const styl = {
+  render(
+    source: string,
+    map: any | null,
+    options: any
+  ): StylePreprocessorResults {
+    const nodeStylus = require('stylus')
+    try {
+      const ref = nodeStylus(source)
+      Object.keys(options).forEach(key => ref.set(key, options[key]))
+      Eif (map) ref.set('sourcemap', { inline: false, comment: false })
+ 
+      const result = ref.render()
+      Eif (map) {
+        return {
+          code: result,
+          map: merge(map, ref.sourcemap),
+          errors: []
+        }
+      }
+ 
+      return { code: result, errors: [] }
+    } catch (e) {
+      return { code: '', errors: [e] }
+    }
+  }
+}
+ 
+export const processors: { [key: string]: StylePreprocessor } = {
+  less,
+  sass,
+  scss,
+  styl,
+  stylus: styl
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/assetUrl.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/assetUrl.ts.html new file mode 100644 index 00000000..31537c15 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/assetUrl.ts.html @@ -0,0 +1,222 @@ + + + + Code coverage report for lib/templateCompilerModules/assetUrl.ts + + + + + + + +
+
+

+ All files / lib/templateCompilerModules assetUrl.ts +

+
+
+ 100% + Statements + 20/20 +
+
+ 88.24% + Branches + 15/17 +
+
+ 100% + Functions + 7/7 +
+
+ 100% + Lines + 17/17 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +4x +  +  +  +4x +  +19x +  +  +  +  +  +19x +80x +14x +14x +13x +1x +2x +  +  +  +  +  +  +15x +14x +  +14x +14x +14x +  +  +1x +  + 
// vue compiler module for transforming `<tag>:<attribute>` to `require`
+ 
+import { urlToRequire, ASTNode, Attr } from './utils'
+ 
+export interface AssetURLOptions {
+  [name: string]: string | string[]
+}
+ 
+const defaultOptions: AssetURLOptions = {
+  video: ['src', 'poster'],
+  source: 'src',
+  img: 'src',
+  image: ['xlink:href', 'href']
+}
+ 
+export default (userOptions?: AssetURLOptions) => {
+  const options = userOptions
+    ? Object.assign({}, defaultOptions, userOptions)
+    : defaultOptions
+ 
+  return {
+    postTransformNode: (node: ASTNode) => {
+      transform(node, options)
+    }
+  }
+}
+ 
+function transform(node: ASTNode, options: AssetURLOptions) {
+  for (const tag in options) {
+    if ((tag === '*' || node.tag === tag) && node.attrs) {
+      const attributes = options[tag]
+      if (typeof attributes === 'string') {
+        node.attrs.some(attr => rewrite(attr, attributes))
+      } else Eif (Array.isArray(attributes)) {
+        attributes.forEach(item => node.attrs.some(attr => rewrite(attr, item)))
+      }
+    }
+  }
+}
+ 
+function rewrite(attr: Attr, name: string) {
+  if (attr.name === name) {
+    const value = attr.value
+    // only transform static URLs
+    Eif (value.charAt(0) === '"' && value.charAt(value.length - 1) === '"') {
+      attr.value = urlToRequire(value.slice(1, -1))
+      return true
+    }
+  }
+  return false
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/index.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/index.html new file mode 100644 index 00000000..ba195dfd --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/index.html @@ -0,0 +1,123 @@ + + + + Code coverage report for lib/templateCompilerModules + + + + + + + +
+
+

+ All files lib/templateCompilerModules +

+
+
+ 96.23% + Statements + 51/53 +
+
+ 86.36% + Branches + 38/44 +
+
+ 100% + Functions + 15/15 +
+
+ 96% + Lines + 48/50 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
assetUrl.ts
100%20/2088.24%15/17100%7/7100%17/17
srcset.ts
94.12%16/1791.67%11/12100%6/694.12%16/17
utils.ts
93.75%15/1680%12/15100%2/293.75%15/16
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/srcset.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/srcset.ts.html new file mode 100644 index 00000000..88febd8b --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/srcset.ts.html @@ -0,0 +1,267 @@ + + + + Code coverage report for lib/templateCompilerModules/srcset.ts + + + + + + + +
+
+

+ All files / lib/templateCompilerModules srcset.ts +

+
+
+ 94.12% + Statements + 16/17 +
+
+ 91.67% + Branches + 11/12 +
+
+ 100% + Functions + 6/6 +
+
+ 94.12% + Lines + 16/17 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67  +  +  +  +  +  +  +  +  +4x +  +19x +  +  +  +  +1x +  +  +19x +  +19x +11x +18x +  +7x +  +7x +7x +  +  +  +7x +  +  +  +  +  +13x +  +  +  +13x +  +  +  +  +  +  +  +  +7x +  +  +13x +  +  +  +  +  +  +7x +  +  +  +  + 
// vue compiler module for transforming `img:srcset` to a number of `require`s
+ 
+import { urlToRequire, ASTNode } from './utils'
+ 
+interface ImageCandidate {
+  require: string
+  descriptor: string
+}
+ 
+export default () => ({
+  postTransformNode: (node: ASTNode) => {
+    transform(node)
+  }
+})
+ 
+// http://w3c.github.io/html/semantics-embedded-content.html#ref-for-image-candidate-string-5
+const escapedSpaceCharacters = /( |\\t|\\n|\\f|\\r)+/g
+ 
+function transform(node: ASTNode) {
+  const tags = ['img', 'source']
+ 
+  if (tags.indexOf(node.tag) !== -1 && node.attrs) {
+    node.attrs.forEach(attr => {
+      if (attr.name === 'srcset') {
+        // same logic as in transform-require.js
+        const value = attr.value
+        const isStatic =
+          value.charAt(0) === '"' && value.charAt(value.length - 1) === '"'
+        Iif (!isStatic) {
+          return
+        }
+ 
+        const imageCandidates: ImageCandidate[] = value
+          .substr(1, value.length - 2)
+          .split(',')
+          .map(s => {
+            // The attribute value arrives here with all whitespace, except
+            // normal spaces, represented by escape sequences
+            const [url, descriptor] = s
+              .replace(escapedSpaceCharacters, ' ')
+              .trim()
+              .split(' ', 2)
+            return { require: urlToRequire(url), descriptor }
+          })
+ 
+        // "require(url1)"
+        // "require(url1) 1x"
+        // "require(url1), require(url2)"
+        // "require(url1), require(url2) 2x"
+        // "require(url1) 1x, require(url2)"
+        // "require(url1) 1x, require(url2) 2x"
+        const code = imageCandidates
+          .map(
+            ({ require, descriptor }) =>
+              `${require} + "${descriptor ? ' ' + descriptor : ''}, " + `
+          )
+          .join('')
+          .slice(0, -6)
+          .concat('"')
+          .replace(/ \+ ""$/, '')
+ 
+        attr.value = code
+      }
+    })
+  }
+}
+ 
+
+
+ + + + + + + + diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/utils.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/utils.ts.html new file mode 100644 index 00000000..4ff7a3e1 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/templateCompilerModules/utils.ts.html @@ -0,0 +1,231 @@ + + + + Code coverage report for lib/templateCompilerModules/utils.ts + + + + + + + +
+
+

+ All files / lib/templateCompilerModules utils.ts +

+
+
+ 93.75% + Statements + 15/16 +
+
+ 80% + Branches + 12/15 +
+
+ 100% + Functions + 2/2 +
+
+ 93.75% + Lines + 15/16 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55  +  +  +  +  +  +  +  +  +  +  +  +  +27x +  +27x +27x +27x +4x +4x +  +  +27x +  +27x +26x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +27x +27x +  +  +26x +  +26x +  +  +1x +  + 
export interface Attr {
+  name: string
+  value: string
+}
+ 
+export interface ASTNode {
+  tag: string
+  attrs: Attr[]
+}
+ 
+import { UrlWithStringQuery, parse as uriParse } from 'url'
+ 
+export function urlToRequire(url: string): string {
+  const returnValue = `"${url}"`
+  // same logic as in transform-require.js
+  const firstChar = url.charAt(0)
+  Eif (firstChar === '.' || firstChar === '~' || firstChar === '@') {
+    if (firstChar === '~') {
+      const secondChar = url.charAt(1)
+      url = url.slice(secondChar === '/' ? 2 : 1)
+    }
+ 
+    const uriParts = parseUriParts(url)
+ 
+    if (!uriParts.hash) {
+      return `require("${url}")`
+    } else {
+      // support uri fragment case by excluding it from
+      // the require and instead appending it as string;
+      // assuming that the path part is sufficient according to
+      // the above caseing(t.i. no protocol-auth-host parts expected)
+      return `require("${uriParts.path}") + "${uriParts.hash}"`
+    }
+  }
+  return returnValue
+}
+ 
+/**
+ * vuejs/component-compiler-utils#22 Support uri fragment in transformed require
+ * @param urlString an url as a string
+ */
+function parseUriParts(urlString: string): UrlWithStringQuery {
+  // initialize return value
+  const returnValue: UrlWithStringQuery = uriParse('')
+  if (urlString) {
+    // A TypeError is thrown if urlString is not a string
+    // @see https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
+    Eif ('string' === typeof urlString) {
+      // check is an uri
+      return uriParse(urlString) // take apart the uri
+    }
+  }
+  return returnValue
+}
+ 
+
+
+ + + + + + + + -- cgit v1.2.3