postdoc 0.2.0.beta4 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/postdoc.rb +50 -18
- metadata +24 -378
- data/lib/pdf.js +0 -27
- data/node_modules/agent-base/History.md +0 -113
- data/node_modules/agent-base/README.md +0 -145
- data/node_modules/agent-base/index.js +0 -160
- data/node_modules/agent-base/package.json +0 -35
- data/node_modules/agent-base/patch-core.js +0 -37
- data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
- data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
- data/node_modules/agent-base/test/test.js +0 -673
- data/node_modules/async-limiter/LICENSE +0 -8
- data/node_modules/async-limiter/coverage/coverage.json +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
- data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
- data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
- data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
- data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
- data/node_modules/async-limiter/coverage/lcov.info +0 -74
- data/node_modules/async-limiter/index.js +0 -67
- data/node_modules/async-limiter/package.json +0 -35
- data/node_modules/async-limiter/readme.md +0 -132
- data/node_modules/balanced-match/LICENSE.md +0 -21
- data/node_modules/balanced-match/README.md +0 -91
- data/node_modules/balanced-match/index.js +0 -59
- data/node_modules/balanced-match/package.json +0 -49
- data/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/buffer-from/index.js +0 -69
- data/node_modules/buffer-from/package.json +0 -16
- data/node_modules/buffer-from/readme.md +0 -69
- data/node_modules/buffer-from/test.js +0 -12
- data/node_modules/concat-map/LICENSE +0 -18
- data/node_modules/concat-map/README.markdown +0 -62
- data/node_modules/concat-map/example/map.js +0 -6
- data/node_modules/concat-map/index.js +0 -13
- data/node_modules/concat-map/package.json +0 -43
- data/node_modules/concat-map/test/map.js +0 -39
- data/node_modules/concat-stream/LICENSE +0 -24
- data/node_modules/concat-stream/index.js +0 -144
- data/node_modules/concat-stream/package.json +0 -55
- data/node_modules/concat-stream/readme.md +0 -102
- data/node_modules/core-util-is/LICENSE +0 -19
- data/node_modules/core-util-is/README.md +0 -3
- data/node_modules/core-util-is/float.patch +0 -604
- data/node_modules/core-util-is/lib/util.js +0 -107
- data/node_modules/core-util-is/package.json +0 -32
- data/node_modules/core-util-is/test.js +0 -68
- data/node_modules/debug/CHANGELOG.md +0 -395
- data/node_modules/debug/LICENSE +0 -19
- data/node_modules/debug/Makefile +0 -58
- data/node_modules/debug/README.md +0 -368
- data/node_modules/debug/karma.conf.js +0 -70
- data/node_modules/debug/node.js +0 -1
- data/node_modules/debug/package.json +0 -43
- data/node_modules/debug/src/browser.js +0 -195
- data/node_modules/debug/src/debug.js +0 -225
- data/node_modules/debug/src/index.js +0 -10
- data/node_modules/debug/src/node.js +0 -186
- data/node_modules/es6-promise/CHANGELOG.md +0 -151
- data/node_modules/es6-promise/LICENSE +0 -19
- data/node_modules/es6-promise/README.md +0 -97
- data/node_modules/es6-promise/auto.js +0 -4
- data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
- data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
- data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
- data/node_modules/es6-promise/dist/es6-promise.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
- data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
- data/node_modules/es6-promise/es6-promise.d.ts +0 -81
- data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
- data/node_modules/es6-promise/lib/es6-promise.js +0 -7
- data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
- data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
- data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
- data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
- data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
- data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
- data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
- data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
- data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
- data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
- data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
- data/node_modules/es6-promise/package.json +0 -75
- data/node_modules/es6-promisify/README.md +0 -89
- data/node_modules/es6-promisify/dist/promise.js +0 -73
- data/node_modules/es6-promisify/dist/promisify.js +0 -85
- data/node_modules/es6-promisify/package.json +0 -41
- data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
- data/node_modules/extract-zip/LICENSE +0 -23
- data/node_modules/extract-zip/cli.js +0 -20
- data/node_modules/extract-zip/index.js +0 -205
- data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
- data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
- data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
- data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
- data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
- data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
- data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
- data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
- data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
- data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
- data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
- data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
- data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
- data/node_modules/extract-zip/package.json +0 -35
- data/node_modules/extract-zip/readme.md +0 -49
- data/node_modules/fd-slicer/CHANGELOG.md +0 -49
- data/node_modules/fd-slicer/LICENSE +0 -21
- data/node_modules/fd-slicer/README.md +0 -189
- data/node_modules/fd-slicer/index.js +0 -277
- data/node_modules/fd-slicer/package.json +0 -36
- data/node_modules/fd-slicer/test/test.js +0 -350
- data/node_modules/fs.realpath/LICENSE +0 -43
- data/node_modules/fs.realpath/README.md +0 -33
- data/node_modules/fs.realpath/index.js +0 -66
- data/node_modules/fs.realpath/old.js +0 -303
- data/node_modules/fs.realpath/package.json +0 -26
- data/node_modules/glob/LICENSE +0 -15
- data/node_modules/glob/README.md +0 -368
- data/node_modules/glob/changelog.md +0 -67
- data/node_modules/glob/common.js +0 -240
- data/node_modules/glob/glob.js +0 -790
- data/node_modules/glob/package.json +0 -43
- data/node_modules/glob/sync.js +0 -486
- data/node_modules/https-proxy-agent/History.md +0 -124
- data/node_modules/https-proxy-agent/README.md +0 -137
- data/node_modules/https-proxy-agent/index.js +0 -229
- data/node_modules/https-proxy-agent/package.json +0 -35
- data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
- data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
- data/node_modules/https-proxy-agent/test/test.js +0 -342
- data/node_modules/inflight/LICENSE +0 -15
- data/node_modules/inflight/README.md +0 -37
- data/node_modules/inflight/inflight.js +0 -54
- data/node_modules/inflight/package.json +0 -29
- data/node_modules/inherits/LICENSE +0 -16
- data/node_modules/inherits/README.md +0 -42
- data/node_modules/inherits/inherits.js +0 -7
- data/node_modules/inherits/inherits_browser.js +0 -23
- data/node_modules/inherits/package.json +0 -29
- data/node_modules/isarray/Makefile +0 -6
- data/node_modules/isarray/README.md +0 -60
- data/node_modules/isarray/component.json +0 -19
- data/node_modules/isarray/index.js +0 -5
- data/node_modules/isarray/package.json +0 -45
- data/node_modules/isarray/test.js +0 -20
- data/node_modules/mime/CHANGELOG.md +0 -225
- data/node_modules/mime/CONTRIBUTING.md +0 -5
- data/node_modules/mime/LICENSE +0 -21
- data/node_modules/mime/Mime.js +0 -89
- data/node_modules/mime/README.md +0 -188
- data/node_modules/mime/cli.js +0 -10
- data/node_modules/mime/index.js +0 -4
- data/node_modules/mime/lite.js +0 -4
- data/node_modules/mime/package.json +0 -43
- data/node_modules/mime/src/README_js.md +0 -179
- data/node_modules/mime/src/build.js +0 -71
- data/node_modules/mime/src/test.js +0 -257
- data/node_modules/mime/types/other.json +0 -1
- data/node_modules/mime/types/standard.json +0 -1
- data/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/minimatch/README.md +0 -209
- data/node_modules/minimatch/minimatch.js +0 -923
- data/node_modules/minimatch/package.json +0 -30
- data/node_modules/minimist/LICENSE +0 -18
- data/node_modules/minimist/example/parse.js +0 -2
- data/node_modules/minimist/index.js +0 -187
- data/node_modules/minimist/package.json +0 -40
- data/node_modules/minimist/readme.markdown +0 -73
- data/node_modules/minimist/test/dash.js +0 -24
- data/node_modules/minimist/test/default_bool.js +0 -20
- data/node_modules/minimist/test/dotted.js +0 -16
- data/node_modules/minimist/test/long.js +0 -31
- data/node_modules/minimist/test/parse.js +0 -318
- data/node_modules/minimist/test/parse_modified.js +0 -9
- data/node_modules/minimist/test/short.js +0 -67
- data/node_modules/minimist/test/whitespace.js +0 -8
- data/node_modules/mkdirp/LICENSE +0 -21
- data/node_modules/mkdirp/bin/cmd.js +0 -33
- data/node_modules/mkdirp/bin/usage.txt +0 -12
- data/node_modules/mkdirp/examples/pow.js +0 -6
- data/node_modules/mkdirp/index.js +0 -98
- data/node_modules/mkdirp/package.json +0 -27
- data/node_modules/mkdirp/readme.markdown +0 -100
- data/node_modules/mkdirp/test/chmod.js +0 -41
- data/node_modules/mkdirp/test/clobber.js +0 -38
- data/node_modules/mkdirp/test/mkdirp.js +0 -28
- data/node_modules/mkdirp/test/opts_fs.js +0 -29
- data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
- data/node_modules/mkdirp/test/perm.js +0 -32
- data/node_modules/mkdirp/test/perm_sync.js +0 -36
- data/node_modules/mkdirp/test/race.js +0 -37
- data/node_modules/mkdirp/test/rel.js +0 -32
- data/node_modules/mkdirp/test/return.js +0 -25
- data/node_modules/mkdirp/test/return_sync.js +0 -24
- data/node_modules/mkdirp/test/root.js +0 -19
- data/node_modules/mkdirp/test/sync.js +0 -32
- data/node_modules/mkdirp/test/umask.js +0 -28
- data/node_modules/mkdirp/test/umask_sync.js +0 -32
- data/node_modules/ms/index.js +0 -152
- data/node_modules/ms/license.md +0 -21
- data/node_modules/ms/package.json +0 -37
- data/node_modules/ms/readme.md +0 -51
- data/node_modules/once/LICENSE +0 -15
- data/node_modules/once/README.md +0 -79
- data/node_modules/once/once.js +0 -42
- data/node_modules/once/package.json +0 -33
- data/node_modules/path-is-absolute/index.js +0 -20
- data/node_modules/path-is-absolute/license +0 -21
- data/node_modules/path-is-absolute/package.json +0 -43
- data/node_modules/path-is-absolute/readme.md +0 -59
- data/node_modules/pend/LICENSE +0 -23
- data/node_modules/pend/README.md +0 -41
- data/node_modules/pend/index.js +0 -55
- data/node_modules/pend/package.json +0 -18
- data/node_modules/pend/test.js +0 -137
- data/node_modules/process-nextick-args/index.js +0 -44
- data/node_modules/process-nextick-args/license.md +0 -19
- data/node_modules/process-nextick-args/package.json +0 -25
- data/node_modules/process-nextick-args/readme.md +0 -18
- data/node_modules/progress/CHANGELOG.md +0 -115
- data/node_modules/progress/LICENSE +0 -22
- data/node_modules/progress/Makefile +0 -8
- data/node_modules/progress/README.md +0 -146
- data/node_modules/progress/index.js +0 -1
- data/node_modules/progress/lib/node-progress.js +0 -231
- data/node_modules/progress/package.json +0 -25
- data/node_modules/proxy-from-env/README.md +0 -131
- data/node_modules/proxy-from-env/index.js +0 -103
- data/node_modules/proxy-from-env/package.json +0 -35
- data/node_modules/proxy-from-env/test.js +0 -393
- data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
- data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
- data/node_modules/puppeteer/LICENSE +0 -202
- data/node_modules/puppeteer/README.md +0 -306
- data/node_modules/puppeteer/index.js +0 -28
- data/node_modules/puppeteer/install.js +0 -122
- data/node_modules/puppeteer/lib/Browser.js +0 -186
- data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
- data/node_modules/puppeteer/lib/Connection.js +0 -246
- data/node_modules/puppeteer/lib/Coverage.js +0 -301
- data/node_modules/puppeteer/lib/Dialog.js +0 -84
- data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
- data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
- data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
- data/node_modules/puppeteer/lib/FrameManager.js +0 -997
- data/node_modules/puppeteer/lib/Input.js +0 -309
- data/node_modules/puppeteer/lib/Launcher.js +0 -310
- data/node_modules/puppeteer/lib/Multimap.js +0 -95
- data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
- data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
- data/node_modules/puppeteer/lib/Page.js +0 -1098
- data/node_modules/puppeteer/lib/Pipe.js +0 -69
- data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
- data/node_modules/puppeteer/lib/Target.js +0 -88
- data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
- data/node_modules/puppeteer/lib/Tracing.js +0 -99
- data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
- data/node_modules/puppeteer/lib/helper.js +0 -248
- data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
- data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
- data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
- data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
- data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
- data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
- data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
- data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
- data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
- data/node_modules/puppeteer/node6/lib/Input.js +0 -569
- data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
- data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
- data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
- data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
- data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
- data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
- data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
- data/node_modules/puppeteer/node6/lib/Target.js +0 -114
- data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
- data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
- data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
- data/node_modules/puppeteer/node6/lib/helper.js +0 -274
- data/node_modules/puppeteer/package.json +0 -61
- data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- data/node_modules/readable-stream/GOVERNANCE.md +0 -136
- data/node_modules/readable-stream/LICENSE +0 -47
- data/node_modules/readable-stream/README.md +0 -58
- data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- data/node_modules/readable-stream/duplex-browser.js +0 -1
- data/node_modules/readable-stream/duplex.js +0 -1
- data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
- data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
- data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
- data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- data/node_modules/readable-stream/package.json +0 -52
- data/node_modules/readable-stream/passthrough.js +0 -1
- data/node_modules/readable-stream/readable-browser.js +0 -7
- data/node_modules/readable-stream/readable.js +0 -19
- data/node_modules/readable-stream/transform.js +0 -1
- data/node_modules/readable-stream/writable-browser.js +0 -1
- data/node_modules/readable-stream/writable.js +0 -8
- data/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/rimraf/README.md +0 -101
- data/node_modules/rimraf/bin.js +0 -50
- data/node_modules/rimraf/package.json +0 -26
- data/node_modules/rimraf/rimraf.js +0 -364
- data/node_modules/safe-buffer/LICENSE +0 -21
- data/node_modules/safe-buffer/README.md +0 -584
- data/node_modules/safe-buffer/index.d.ts +0 -187
- data/node_modules/safe-buffer/index.js +0 -62
- data/node_modules/safe-buffer/package.json +0 -37
- data/node_modules/string_decoder/LICENSE +0 -48
- data/node_modules/string_decoder/README.md +0 -47
- data/node_modules/string_decoder/lib/string_decoder.js +0 -296
- data/node_modules/string_decoder/package.json +0 -31
- data/node_modules/typedarray/LICENSE +0 -35
- data/node_modules/typedarray/example/tarray.js +0 -4
- data/node_modules/typedarray/index.js +0 -630
- data/node_modules/typedarray/package.json +0 -55
- data/node_modules/typedarray/readme.markdown +0 -61
- data/node_modules/typedarray/test/server/undef_globals.js +0 -19
- data/node_modules/typedarray/test/tarray.js +0 -10
- data/node_modules/ultron/LICENSE +0 -22
- data/node_modules/ultron/README.md +0 -113
- data/node_modules/ultron/index.js +0 -136
- data/node_modules/ultron/package.json +0 -41
- data/node_modules/util-deprecate/History.md +0 -16
- data/node_modules/util-deprecate/LICENSE +0 -24
- data/node_modules/util-deprecate/README.md +0 -53
- data/node_modules/util-deprecate/browser.js +0 -67
- data/node_modules/util-deprecate/node.js +0 -6
- data/node_modules/util-deprecate/package.json +0 -27
- data/node_modules/wrappy/LICENSE +0 -15
- data/node_modules/wrappy/README.md +0 -36
- data/node_modules/wrappy/package.json +0 -29
- data/node_modules/wrappy/wrappy.js +0 -33
- data/node_modules/ws/LICENSE +0 -21
- data/node_modules/ws/README.md +0 -341
- data/node_modules/ws/index.js +0 -15
- data/node_modules/ws/lib/BufferUtil.js +0 -71
- data/node_modules/ws/lib/Constants.js +0 -10
- data/node_modules/ws/lib/ErrorCodes.js +0 -28
- data/node_modules/ws/lib/EventTarget.js +0 -151
- data/node_modules/ws/lib/Extensions.js +0 -203
- data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
- data/node_modules/ws/lib/Receiver.js +0 -553
- data/node_modules/ws/lib/Sender.js +0 -412
- data/node_modules/ws/lib/Validation.js +0 -17
- data/node_modules/ws/lib/WebSocket.js +0 -717
- data/node_modules/ws/lib/WebSocketServer.js +0 -326
- data/node_modules/ws/package.json +0 -46
- data/node_modules/yauzl/LICENSE +0 -21
- data/node_modules/yauzl/README.md +0 -467
- data/node_modules/yauzl/index.js +0 -626
- data/node_modules/yauzl/package.json +0 -36
- data/package.json +0 -5
- data/yarn.lock +0 -240
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
const {helper} = require('./helper');
|
|
18
|
-
|
|
19
|
-
class Dialog {
|
|
20
|
-
/**
|
|
21
|
-
* @param {!Puppeteer.CDPSession} client
|
|
22
|
-
* @param {string} type
|
|
23
|
-
* @param {string} message
|
|
24
|
-
* @param {(string|undefined)} defaultValue
|
|
25
|
-
*/
|
|
26
|
-
constructor(client, type, message, defaultValue = '') {
|
|
27
|
-
this._client = client;
|
|
28
|
-
this._type = type;
|
|
29
|
-
this._message = message;
|
|
30
|
-
this._handled = false;
|
|
31
|
-
this._defaultValue = defaultValue;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @return {string}
|
|
36
|
-
*/
|
|
37
|
-
type() {
|
|
38
|
-
return this._type;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @return {string}
|
|
43
|
-
*/
|
|
44
|
-
message() {
|
|
45
|
-
return this._message;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @return {string}
|
|
50
|
-
*/
|
|
51
|
-
defaultValue() {
|
|
52
|
-
return this._defaultValue;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* @param {string=} promptText
|
|
57
|
-
*/
|
|
58
|
-
async accept(promptText) {
|
|
59
|
-
console.assert(!this._handled, 'Cannot accept dialog which is already handled!');
|
|
60
|
-
this._handled = true;
|
|
61
|
-
await this._client.send('Page.handleJavaScriptDialog', {
|
|
62
|
-
accept: true,
|
|
63
|
-
promptText: promptText
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async dismiss() {
|
|
68
|
-
console.assert(!this._handled, 'Cannot dismiss dialog which is already handled!');
|
|
69
|
-
this._handled = true;
|
|
70
|
-
await this._client.send('Page.handleJavaScriptDialog', {
|
|
71
|
-
accept: false
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
Dialog.Type = {
|
|
77
|
-
Alert: 'alert',
|
|
78
|
-
BeforeUnload: 'beforeunload',
|
|
79
|
-
Confirm: 'confirm',
|
|
80
|
-
Prompt: 'prompt'
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
module.exports = Dialog;
|
|
84
|
-
helper.tracePublicAPI(Dialog);
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
const path = require('path');
|
|
17
|
-
const {JSHandle} = require('./ExecutionContext');
|
|
18
|
-
const {helper, debugError} = require('./helper');
|
|
19
|
-
|
|
20
|
-
class ElementHandle extends JSHandle {
|
|
21
|
-
/**
|
|
22
|
-
* @param {!Puppeteer.ExecutionContext} context
|
|
23
|
-
* @param {!Puppeteer.CDPSession} client
|
|
24
|
-
* @param {!Protocol.Runtime.RemoteObject} remoteObject
|
|
25
|
-
* @param {!Puppeteer.Page} page
|
|
26
|
-
* @param {!Puppeteer.FrameManager} frameManager
|
|
27
|
-
*/
|
|
28
|
-
constructor(context, client, remoteObject, page, frameManager) {
|
|
29
|
-
super(context, client, remoteObject);
|
|
30
|
-
this._client = client;
|
|
31
|
-
this._remoteObject = remoteObject;
|
|
32
|
-
this._page = page;
|
|
33
|
-
this._frameManager = frameManager;
|
|
34
|
-
this._disposed = false;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @override
|
|
39
|
-
* @return {?ElementHandle}
|
|
40
|
-
*/
|
|
41
|
-
asElement() {
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @return {!Promise<?Puppeteer.Frame>}
|
|
47
|
-
*/
|
|
48
|
-
async contentFrame() {
|
|
49
|
-
const nodeInfo = await this._client.send('DOM.describeNode', {
|
|
50
|
-
objectId: this._remoteObject.objectId
|
|
51
|
-
});
|
|
52
|
-
if (typeof nodeInfo.node.frameId !== 'string')
|
|
53
|
-
return null;
|
|
54
|
-
return this._frameManager.frame(nodeInfo.node.frameId);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async _scrollIntoViewIfNeeded() {
|
|
58
|
-
const error = await this.executionContext().evaluate(element => {
|
|
59
|
-
if (!element.isConnected)
|
|
60
|
-
return 'Node is detached from document';
|
|
61
|
-
if (element.nodeType !== Node.ELEMENT_NODE)
|
|
62
|
-
return 'Node is not of type HTMLElement';
|
|
63
|
-
element.scrollIntoViewIfNeeded();
|
|
64
|
-
return false;
|
|
65
|
-
}, this);
|
|
66
|
-
if (error)
|
|
67
|
-
throw new Error(error);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* @return {!Promise<{x: number, y: number}>}
|
|
72
|
-
*/
|
|
73
|
-
async _visibleCenter() {
|
|
74
|
-
await this._scrollIntoViewIfNeeded();
|
|
75
|
-
const box = await this._assertBoundingBox();
|
|
76
|
-
return {
|
|
77
|
-
x: box.x + box.width / 2,
|
|
78
|
-
y: box.y + box.height / 2
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* @return {!Promise<void|Protocol.DOM.getBoxModelReturnValue>}
|
|
84
|
-
*/
|
|
85
|
-
_getBoxModel() {
|
|
86
|
-
return this._client.send('DOM.getBoxModel', {
|
|
87
|
-
objectId: this._remoteObject.objectId
|
|
88
|
-
}).catch(error => debugError(error));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* @param {!Array<number>} quad
|
|
93
|
-
* @return {!Array<object>}
|
|
94
|
-
*/
|
|
95
|
-
_fromProtocolQuad(quad) {
|
|
96
|
-
return [
|
|
97
|
-
{x: quad[0], y: quad[1]},
|
|
98
|
-
{x: quad[2], y: quad[3]},
|
|
99
|
-
{x: quad[4], y: quad[5]},
|
|
100
|
-
{x: quad[6], y: quad[7]}
|
|
101
|
-
];
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
async hover() {
|
|
105
|
-
const {x, y} = await this._visibleCenter();
|
|
106
|
-
await this._page.mouse.move(x, y);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* @param {!Object=} options
|
|
111
|
-
*/
|
|
112
|
-
async click(options = {}) {
|
|
113
|
-
const {x, y} = await this._visibleCenter();
|
|
114
|
-
await this._page.mouse.click(x, y, options);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* @param {!Array<string>} filePaths
|
|
119
|
-
* @return {!Promise}
|
|
120
|
-
*/
|
|
121
|
-
async uploadFile(...filePaths) {
|
|
122
|
-
const files = filePaths.map(filePath => path.resolve(filePath));
|
|
123
|
-
const objectId = this._remoteObject.objectId;
|
|
124
|
-
return this._client.send('DOM.setFileInputFiles', { objectId, files });
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
async tap() {
|
|
128
|
-
const {x, y} = await this._visibleCenter();
|
|
129
|
-
await this._page.touchscreen.tap(x, y);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
async focus() {
|
|
133
|
-
await this.executionContext().evaluate(element => element.focus(), this);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @param {string} text
|
|
138
|
-
* @param {{delay: (number|undefined)}=} options
|
|
139
|
-
*/
|
|
140
|
-
async type(text, options) {
|
|
141
|
-
await this.focus();
|
|
142
|
-
await this._page.keyboard.type(text, options);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* @param {string} key
|
|
147
|
-
* @param {!Object=} options
|
|
148
|
-
*/
|
|
149
|
-
async press(key, options) {
|
|
150
|
-
await this.focus();
|
|
151
|
-
await this._page.keyboard.press(key, options);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* @return {!Promise<?{x: number, y: number, width: number, height: number}>}
|
|
156
|
-
*/
|
|
157
|
-
async boundingBox() {
|
|
158
|
-
const result = await this._getBoxModel();
|
|
159
|
-
|
|
160
|
-
if (!result)
|
|
161
|
-
return null;
|
|
162
|
-
|
|
163
|
-
const quad = result.model.border;
|
|
164
|
-
const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
|
|
165
|
-
const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
|
|
166
|
-
const width = Math.max(quad[0], quad[2], quad[4], quad[6]) - x;
|
|
167
|
-
const height = Math.max(quad[1], quad[3], quad[5], quad[7]) - y;
|
|
168
|
-
|
|
169
|
-
return {x, y, width, height};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @return {!Promise<?object>}
|
|
174
|
-
*/
|
|
175
|
-
async boxModel() {
|
|
176
|
-
const result = await this._getBoxModel();
|
|
177
|
-
|
|
178
|
-
if (!result)
|
|
179
|
-
return null;
|
|
180
|
-
|
|
181
|
-
const {content, padding, border, margin, width, height} = result.model;
|
|
182
|
-
return {
|
|
183
|
-
content: this._fromProtocolQuad(content),
|
|
184
|
-
padding: this._fromProtocolQuad(padding),
|
|
185
|
-
border: this._fromProtocolQuad(border),
|
|
186
|
-
margin: this._fromProtocolQuad(margin),
|
|
187
|
-
width,
|
|
188
|
-
height
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* @return {!Promise<?{x: number, y: number, width: number, height: number}>}
|
|
194
|
-
*/
|
|
195
|
-
async _assertBoundingBox() {
|
|
196
|
-
const boundingBox = await this.boundingBox();
|
|
197
|
-
if (boundingBox)
|
|
198
|
-
return boundingBox;
|
|
199
|
-
|
|
200
|
-
throw new Error('Node is either not visible or not an HTMLElement');
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
*
|
|
205
|
-
* @param {!Object=} options
|
|
206
|
-
* @returns {!Promise<Object>}
|
|
207
|
-
*/
|
|
208
|
-
async screenshot(options = {}) {
|
|
209
|
-
let needsViewportReset = false;
|
|
210
|
-
|
|
211
|
-
let boundingBox = await this._assertBoundingBox();
|
|
212
|
-
|
|
213
|
-
const viewport = this._page.viewport();
|
|
214
|
-
|
|
215
|
-
if (boundingBox.width > viewport.width || boundingBox.height > viewport.height) {
|
|
216
|
-
const newViewport = {
|
|
217
|
-
width: Math.max(viewport.width, Math.ceil(boundingBox.width)),
|
|
218
|
-
height: Math.max(viewport.height, Math.ceil(boundingBox.height)),
|
|
219
|
-
};
|
|
220
|
-
await this._page.setViewport(Object.assign({}, viewport, newViewport));
|
|
221
|
-
|
|
222
|
-
needsViewportReset = true;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
await this.executionContext().evaluate(function(element) {
|
|
226
|
-
element.scrollIntoView({block: 'center', inline: 'center', behavior: 'instant'});
|
|
227
|
-
}, this);
|
|
228
|
-
|
|
229
|
-
boundingBox = await this._assertBoundingBox();
|
|
230
|
-
|
|
231
|
-
const { layoutViewport: { pageX, pageY } } = await this._client.send('Page.getLayoutMetrics');
|
|
232
|
-
|
|
233
|
-
const clip = Object.assign({}, boundingBox);
|
|
234
|
-
clip.x += pageX;
|
|
235
|
-
clip.y += pageY;
|
|
236
|
-
|
|
237
|
-
const imageData = await this._page.screenshot(Object.assign({}, {
|
|
238
|
-
clip
|
|
239
|
-
}, options));
|
|
240
|
-
|
|
241
|
-
if (needsViewportReset)
|
|
242
|
-
await this._page.setViewport(viewport);
|
|
243
|
-
|
|
244
|
-
return imageData;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* @param {string} selector
|
|
249
|
-
* @return {!Promise<?ElementHandle>}
|
|
250
|
-
*/
|
|
251
|
-
async $(selector) {
|
|
252
|
-
const handle = await this.executionContext().evaluateHandle(
|
|
253
|
-
(element, selector) => element.querySelector(selector),
|
|
254
|
-
this, selector
|
|
255
|
-
);
|
|
256
|
-
const element = handle.asElement();
|
|
257
|
-
if (element)
|
|
258
|
-
return element;
|
|
259
|
-
await handle.dispose();
|
|
260
|
-
return null;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* @param {string} selector
|
|
265
|
-
* @return {!Promise<!Array<!ElementHandle>>}
|
|
266
|
-
*/
|
|
267
|
-
async $$(selector) {
|
|
268
|
-
const arrayHandle = await this.executionContext().evaluateHandle(
|
|
269
|
-
(element, selector) => element.querySelectorAll(selector),
|
|
270
|
-
this, selector
|
|
271
|
-
);
|
|
272
|
-
const properties = await arrayHandle.getProperties();
|
|
273
|
-
await arrayHandle.dispose();
|
|
274
|
-
const result = [];
|
|
275
|
-
for (const property of properties.values()) {
|
|
276
|
-
const elementHandle = property.asElement();
|
|
277
|
-
if (elementHandle)
|
|
278
|
-
result.push(elementHandle);
|
|
279
|
-
}
|
|
280
|
-
return result;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* @param {string} selector
|
|
285
|
-
* @param {Function|String} pageFunction
|
|
286
|
-
* @param {!Array<*>} args
|
|
287
|
-
* @return {!Promise<(!Object|undefined)>}
|
|
288
|
-
*/
|
|
289
|
-
async $eval(selector, pageFunction, ...args) {
|
|
290
|
-
const elementHandle = await this.$(selector);
|
|
291
|
-
if (!elementHandle)
|
|
292
|
-
throw new Error(`Error: failed to find element matching selector "${selector}"`);
|
|
293
|
-
const result = await this.executionContext().evaluate(pageFunction, elementHandle, ...args);
|
|
294
|
-
await elementHandle.dispose();
|
|
295
|
-
return result;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
/**
|
|
299
|
-
* @param {string} expression
|
|
300
|
-
* @return {!Promise<!Array<!ElementHandle>>}
|
|
301
|
-
*/
|
|
302
|
-
async $x(expression) {
|
|
303
|
-
const arrayHandle = await this.executionContext().evaluateHandle(
|
|
304
|
-
(element, expression) => {
|
|
305
|
-
const document = element.ownerDocument || element;
|
|
306
|
-
const iterator = document.evaluate(expression, element, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE);
|
|
307
|
-
const array = [];
|
|
308
|
-
let item;
|
|
309
|
-
while ((item = iterator.iterateNext()))
|
|
310
|
-
array.push(item);
|
|
311
|
-
return array;
|
|
312
|
-
},
|
|
313
|
-
this, expression
|
|
314
|
-
);
|
|
315
|
-
const properties = await arrayHandle.getProperties();
|
|
316
|
-
await arrayHandle.dispose();
|
|
317
|
-
const result = [];
|
|
318
|
-
for (const property of properties.values()) {
|
|
319
|
-
const elementHandle = property.asElement();
|
|
320
|
-
if (elementHandle)
|
|
321
|
-
result.push(elementHandle);
|
|
322
|
-
}
|
|
323
|
-
return result;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
module.exports = ElementHandle;
|
|
328
|
-
helper.tracePublicAPI(ElementHandle);
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
class EmulationManager {
|
|
18
|
-
/**
|
|
19
|
-
* @param {!Puppeteer.CDPSession} client
|
|
20
|
-
*/
|
|
21
|
-
constructor(client) {
|
|
22
|
-
this._client = client;
|
|
23
|
-
this._emulatingMobile = false;
|
|
24
|
-
this._injectedTouchScriptId = null;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @param {!EmulationManager.Viewport} viewport
|
|
29
|
-
* @return {Promise<boolean>}
|
|
30
|
-
*/
|
|
31
|
-
async emulateViewport(viewport) {
|
|
32
|
-
const mobile = viewport.isMobile || false;
|
|
33
|
-
const width = viewport.width;
|
|
34
|
-
const height = viewport.height;
|
|
35
|
-
const deviceScaleFactor = viewport.deviceScaleFactor || 1;
|
|
36
|
-
/** @type {Protocol.Emulation.ScreenOrientation} */
|
|
37
|
-
const screenOrientation = viewport.isLandscape ? { angle: 90, type: 'landscapePrimary' } : { angle: 0, type: 'portraitPrimary' };
|
|
38
|
-
|
|
39
|
-
await Promise.all([
|
|
40
|
-
this._client.send('Emulation.setDeviceMetricsOverride', { mobile, width, height, deviceScaleFactor, screenOrientation }),
|
|
41
|
-
this._client.send('Emulation.setTouchEmulationEnabled', {
|
|
42
|
-
enabled: viewport.hasTouch || false
|
|
43
|
-
})
|
|
44
|
-
]);
|
|
45
|
-
|
|
46
|
-
let reloadNeeded = false;
|
|
47
|
-
if (viewport.hasTouch && !this._injectedTouchScriptId) {
|
|
48
|
-
const source = `(${injectedTouchEventsFunction})()`;
|
|
49
|
-
this._injectedTouchScriptId = (await this._client.send('Page.addScriptToEvaluateOnNewDocument', { source })).identifier;
|
|
50
|
-
reloadNeeded = true;
|
|
51
|
-
} else if (!viewport.hasTouch && this._injectedTouchScriptId) {
|
|
52
|
-
await this._client.send('Page.removeScriptToEvaluateOnNewDocument', {identifier: this._injectedTouchScriptId});
|
|
53
|
-
this._injectedTouchScriptId = null;
|
|
54
|
-
reloadNeeded = true;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (this._emulatingMobile !== mobile)
|
|
58
|
-
reloadNeeded = true;
|
|
59
|
-
this._emulatingMobile = mobile;
|
|
60
|
-
return reloadNeeded;
|
|
61
|
-
|
|
62
|
-
function injectedTouchEventsFunction() {
|
|
63
|
-
const touchEvents = ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel'];
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
const recipients = [window.__proto__, document.__proto__];
|
|
66
|
-
for (let i = 0; i < touchEvents.length; ++i) {
|
|
67
|
-
for (let j = 0; j < recipients.length; ++j) {
|
|
68
|
-
if (!(touchEvents[i] in recipients[j])) {
|
|
69
|
-
Object.defineProperty(recipients[j], touchEvents[i], {
|
|
70
|
-
value: null, writable: true, configurable: true, enumerable: true
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* @typedef {Object} EmulationManager.Viewport
|
|
81
|
-
* @property {number} width
|
|
82
|
-
* @property {number} height
|
|
83
|
-
* @property {number=} deviceScaleFactor
|
|
84
|
-
* @property {boolean=} isMobile
|
|
85
|
-
* @property {boolean=} isLandscape
|
|
86
|
-
* @property {boolean=} hasTouch
|
|
87
|
-
*/
|
|
88
|
-
|
|
89
|
-
module.exports = EmulationManager;
|