| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- <!doctype html>
- <html lang="en">
- <head>
- <title>Code coverage report for tar/lib/create.js</title>
- <meta charset="utf-8" />
- <link rel="stylesheet" href="../../prettify.css" />
- <link rel="stylesheet" href="../../base.css" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <style type='text/css'>
- .coverage-summary .sorter {
- background-image: url(../../sort-arrow-sprite.png);
- }
- </style>
- </head>
- <body>
- <div class='wrapper'>
- <div class='pad1'>
- <h1>
- <a href="../../index.html">All files</a> / <a href="index.html">tar/lib</a> create.js
- </h1>
- <div class='clearfix'>
- <div class='fl pad1y space-right2'>
- <span class="strong">100% </span>
- <span class="quiet">Statements</span>
- <span class='fraction'>59/59</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">100% </span>
- <span class="quiet">Branches</span>
- <span class='fraction'>35/35</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">100% </span>
- <span class="quiet">Functions</span>
- <span class='fraction'>12/12</span>
- </div>
- <div class='fl pad1y space-right2'>
- <span class="strong">100% </span>
- <span class="quiet">Lines</span>
- <span class='fraction'>59/59</span>
- </div>
- </div>
- </div>
- <div class='status-line high'></div>
- <pre><table class="coverage">
- <tr><td class="line-count quiet">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</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">15x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">15x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">15x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">13x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">13x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">13x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">12x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">11x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">5x</span>
- <span class="cline-any cline-yes">7x</span>
- <span class="cline-any cline-yes">3x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">7x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">4x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">9x</span>
- <span class="cline-any cline-yes">8x</span>
- <span class="cline-any cline-yes">8x</span>
- <span class="cline-any cline-yes">3x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">7x</span>
- <span class="cline-any cline-yes">3x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">5x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">6x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-yes">1x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-yes">2x</span>
- <span class="cline-any cline-neutral"> </span>
- <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict'
-
- // tar -c
- const hlo = require('./high-level-opt.js')
-
- const Pack = require('./pack.js')
- const fs = require('fs')
- const fsm = require('fs-minipass')
- const t = require('./list.js')
- const path = require('path')
-
- const c = module.exports = (opt_, files, cb) => {
- if (typeof files === 'function')
- cb = files
-
- if (Array.isArray(opt_))
- files = opt_, opt_ = {}
-
- if (!files || !Array.isArray(files) || !files.length)
- throw new TypeError('no files or directories specified')
-
- files = Array.from(files)
-
- const opt = hlo(opt_)
-
- if (opt.sync && typeof cb === 'function')
- throw new TypeError('callback not supported for sync tar functions')
-
- if (!opt.file && typeof cb === 'function')
- throw new TypeError('callback only supported with file option')
-
- return opt.file && opt.sync ? createFileSync(opt, files)
- : opt.file ? createFile(opt, files, cb)
- : opt.sync ? createSync(opt, files)
- : create(opt, files)
- }
-
- const createFileSync = (opt, files) => {
- const p = new Pack.Sync(opt)
- const stream = new fsm.WriteStreamSync(opt.file, {
- mode: opt.mode || 0o666
- })
- p.pipe(stream)
- addFilesSync(p, files)
- }
-
- const createFile = (opt, files, cb) => {
- const p = new Pack(opt)
- const stream = new fsm.WriteStream(opt.file, {
- mode: opt.mode || 0o666
- })
- p.pipe(stream)
-
- const promise = new Promise((res, rej) => {
- stream.on('error', rej)
- stream.on('close', res)
- p.on('error', rej)
- })
-
- addFilesAsync(p, files)
-
- return cb ? promise.then(cb, cb) : promise
- }
-
- const addFilesSync = (p, files) => {
- files.forEach(file => {
- if (file.charAt(0) === '@')
- t({
- file: path.resolve(p.cwd, file.substr(1)),
- sync: true,
- noResume: true,
- onentry: entry => p.add(entry)
- })
- else
- p.add(file)
- })
- p.end()
- }
-
- const addFilesAsync = (p, files) => {
- while (files.length) {
- const file = files.shift()
- if (file.charAt(0) === '@')
- return t({
- file: path.resolve(p.cwd, file.substr(1)),
- noResume: true,
- onentry: entry => p.add(entry)
- }).then(_ => addFilesAsync(p, files))
- else
- p.add(file)
- }
- p.end()
- }
-
- const createSync = (opt, files) => {
- const p = new Pack.Sync(opt)
- addFilesSync(p, files)
- return p
- }
-
- const create = (opt, files) => {
- const p = new Pack(opt)
- addFilesAsync(p, files)
- return p
- }
- </pre></td></tr>
- </table></pre>
- <div class='push'></div><!-- for sticky footer -->
- </div><!-- /wrapper -->
- <div class='footer quiet pad2 space-top1 center small'>
- Code coverage
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 20 2017 16:00:38 GMT-0800 (PST)
- </div>
- </div>
- <script src="../../prettify.js"></script>
- <script>
- window.onload = function () {
- if (typeof prettyPrint === 'function') {
- prettyPrint();
- }
- };
- </script>
- <script src="../../sorter.js"></script>
- </body>
- </html>
|