diff --git a/.eslintrc.js b/.eslintrc.js index dc83c0e8c11e90..c076ba7979a2b9 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -131,7 +131,7 @@ module.exports = { { object: 'assert', property: 'equal', - message: 'Use assert.astrictEqual() rather than assert.equal().', + message: 'Use assert.strictEqual() rather than assert.equal().', }, { object: 'assert', @@ -243,6 +243,7 @@ module.exports = { 'node-core/no-unescaped-regexp-dot': 'error', }, globals: { + Atomics: false, BigInt: false, BigInt64Array: false, BigUint64Array: false, diff --git a/.gitignore b/.gitignore index 27e22ef6183f61..d8b381203b6a00 100644 --- a/.gitignore +++ b/.gitignore @@ -69,6 +69,7 @@ ipch/ /config.mk /config.gypi +/config.status /config_fips.gypi *-nodegyp* /gyp-mac-tool diff --git a/.mailmap b/.mailmap index 16c9bf1ea21ef6..0fffffad9eaf34 100644 --- a/.mailmap +++ b/.mailmap @@ -2,6 +2,7 @@ Aaron Bieber Aaron Heckmann Aayush Ahuja aayush.a Abe Fettig +Abhimanyu Vashisht Akito Ito Alejandro Estrada Alejandro Estrada @@ -17,7 +18,9 @@ Alexis Campailla Alexis Sellier Alexis Sellier Alfred Cepeda ALJCepeda +Allen Yonghuang Wang Amery 子丶言 +Amit Bendor Andreas Offenhaeuser anoff Andy Bettisworth Angel Stoyanov atstojanov @@ -69,10 +72,11 @@ Chew Choon Keat Chris Andrews cpandrews8 Chris Johnson Chris Young -Claudio Rodriguez -Colin Ihrig Christophe Naud-Dulude Chris911 Christopher Lenz +Claudio Rodriguez +Colin Ihrig +Corey Martin Damien Simonin Feugas Dan Kaplun Dan Williams Dan.Williams @@ -94,6 +98,7 @@ David Mark Clements davidmarkclements davidmarkclements David Siegel DC dcposch@dcpos.ch +Deepjyoti Mondal Domenic Denicola Domenic Denicola Doug Wade doug.wade @@ -101,6 +106,7 @@ Eduard Burtescu Einar Otto Stangvik Elliott Cable Eric Phetteplace +Ernesto Salazar Erwin W. Ramadhan erwinwahyura Eugene Obrezkov ghaiklor EungJun Yi @@ -226,6 +232,7 @@ Marcin Zielinski marzelin Marti Martz Martial James Jefferson Martijn Schrage Oblosys +Masato Ohba Matheus Marchini Matheus Marchini Matt Lang matt-in-a-hat @@ -253,6 +260,7 @@ Miroslav Bajtoš Mitar Milutinovic Myles Borins Myles Borins +Nam Nguyen Nebu Pookins Netto Farah nettofarah Nicholas Kinsey @@ -298,6 +306,7 @@ Ryan Mahan Ryan Scheel Ryan Scheel Ryan Scheel Ryan Scheel (Havvy) Saad Quadri saadq +Sagir Khan Sakthipriyan Vairamani Sam Mikes Sam P Gallagher-Bishop @@ -316,6 +325,7 @@ Shannen Saez Shaopeng Zhang szhang351 Shigeki Ohtsu Shigeki Ohtsu +Shivang Saxena Shiya Luo shiya Siddharth Mahendraker Simon Willison @@ -343,6 +353,7 @@ Taylor Woll taylor.woll Thomas Watson Steen Thomas Watson Timothy O. Peters Timur Shemsedinov tshemsedinov +Ting Shao Toby Farley tobyfarley Toby Stableford toboid Todd Kennedy @@ -378,7 +389,8 @@ Vincent Voyer Vladimir de Turckheim vsemozhetbyt Vse Mozhet Byt Wang Xinyong -Weijia Wang <381152119@qq.com> starkwang <381152119@qq.com> +Weijia Wang <381152119@qq.com> +Weijia Wang <381152119@qq.com> starkewang Wei-Wei Wu Willi Eggeling Will Hayslett @@ -390,6 +402,7 @@ Yazhong Liu Yazhong Liu Yazhong Liu Yorkie Yazhong Liu Yorkie Yazhong Liu Yorkie Liu +Yingchen Xue Yoshihiro KIKUCHI Yosuke Furukawa Yuichiro MASUI diff --git a/.travis.yml b/.travis.yml index 6415497163a151..11cb2a2f12758b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,9 +18,6 @@ matrix: script: - make -j2 test-ci before_install: - - export HOMEBREW_NO_AUTO_UPDATE=1 # work around https://github.com/travis-ci/travis-ci/issues/7456 - - if [ $TRAVIS_OS_NAME = osx ]; then brew install ccache; fi - - export PATH="/usr/local/opt/ccache/libexec:$PATH" - export CXX="ccache clang++ -Qunused-arguments" - - export CC="ccache clang -Qunused-arguments" + - export CC="ccache clang -Qunused-arguments -Wno-unknown-warning-option" - export JOBS=2 diff --git a/AUTHORS b/AUTHORS index 3a156cbd2cb373..db2e74f250823e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2197,5 +2197,44 @@ TSUYUSATO Kitsune daGo Lambdac0re Yulong Wang +David Goldstein +Francesco Falanga +Maya Lekova +RakshithNM +David Humphrey +Ting Shao +Alex Fernández +Yingchen Xue +Dan Kang +Masato Ohba +я котик пур-пур +Corey Martin +chainhelen +Tim Seckinger +Nam Nguyen +Nicholas Dangles +Amit Bendor +Abhimanyu Vashisht +Sagir Khan +Kael Zhang +Unknown +Blaine Bublitz +Shailesh Shekhawat +Davis Okoth +Shivang Saxena +Lucas Liepert +Miklos Suveges +Ernesto Salazar +Tommaso Allevi +Evandro Oliveira +Kenny Yuan +Hristijan Gjorgjievski +Aliaksei Tuzik +Misty De Meo +James Kylstra +Shelley Vohr +Deepjyoti Mondal +Brett Kiefer +Kevin Thomas # Generated by tools/update-authors.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index ee02a4985a7500..2bc1a7eaf53e81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,8 @@ release. -10.5.0
+10.6.0
+10.5.0
10.4.1
10.4.0
10.3.0
diff --git a/LICENSE b/LICENSE index e425dff429a35b..d768eb3e2dab1b 100644 --- a/LICENSE +++ b/LICENSE @@ -93,11 +93,7 @@ The externally maintained libraries used by Node.js are: - HTTP Parser, located at deps/http_parser, is licensed as follows: """ - http_parser.c is based on src/http/ngx_http_parse.c from NGINX copyright - Igor Sysoev. - - Additional changes are licensed under the same terms as NGINX and - copyright Joyent, Inc. and other Node contributors. All rights reserved. + Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to @@ -612,7 +608,7 @@ The externally maintained libraries used by Node.js are: - OpenSSL, located at deps/openssl, is licensed as follows: """ - Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved. + Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -715,6 +711,9 @@ The externally maintained libraries used by Node.js are: - Valgrind client API header, located at third_party/valgrind/valgrind.h This is release under the BSD license. + - antlr4 parser generator Cpp library located in third_party/antlr4 + This is release under the BSD license. + These libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below. diff --git a/Makefile b/Makefile index c2edfe59a4595a..c75194dbaa1566 100644 --- a/Makefile +++ b/Makefile @@ -91,6 +91,22 @@ $(NODE_G_EXE): config.gypi out/Makefile $(MAKE) -C out BUILDTYPE=Debug V=$(V) if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi +CODE_CACHE_DIR ?= out/$(BUILDTYPE)/obj/gen +CODE_CACHE_FILE ?= $(CODE_CACHE_DIR)/node_code_cache.cc + +.PHONY: with-code-cache +with-code-cache: + $(PYTHON) ./configure + $(MAKE) + mkdir -p $(CODE_CACHE_DIR) + out/$(BUILDTYPE)/$(NODE_EXE) --expose-internals tools/generate_code_cache.js $(CODE_CACHE_FILE) + $(PYTHON) ./configure --code-cache-path $(CODE_CACHE_FILE) + $(MAKE) + +.PHONY: test-code-cache +test-code-cache: with-code-cache + $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) code-cache + out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \ deps/v8/gypfiles/features.gypi deps/v8/gypfiles/v8.gyp node.gyp \ @@ -98,7 +114,12 @@ out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \ $(PYTHON) tools/gyp_node.py -f make config.gypi: configure - $(error Missing or stale $@, please run ./$<) + @if [ -x config.status ]; then \ + ./config.status; \ + else \ + echo Missing or stale $@, please run ./$<; \ + exit 1; \ + fi .PHONY: install install: all ## Installs node into $PREFIX (default=/usr/local). @@ -175,7 +196,8 @@ coverage-build: all "$(CURDIR)/build/jenkins/scripts/coverage/gcovr-patches-3.4.diff"); fi if [ -d lib_ ]; then $(RM) -r lib; mv lib_ lib; fi mv lib lib_ - $(NODE) ./node_modules/.bin/nyc instrument --extension .js --extension .mjs lib_/ lib/ + NODE_DEBUG=nyc $(NODE) ./node_modules/.bin/nyc instrument --extension .js \ + --extension .mjs --exit-on-error lib_/ lib/ $(MAKE) .PHONY: coverage-test @@ -274,13 +296,13 @@ test-valgrind: all test-check-deopts: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) --check-deopts parallel sequential -benchmark/misc/function_call/build/Release/binding.node: all \ - benchmark/misc/function_call/napi_binding.c \ - benchmark/misc/function_call/binding.cc \ - benchmark/misc/function_call/binding.gyp +benchmark/napi/function_call/build/Release/binding.node: all \ + benchmark/napi/function_call/napi_binding.c \ + benchmark/napi/function_call/binding.cc \ + benchmark/napi/function_call/binding.gyp $(NODE) deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \ --python="$(PYTHON)" \ - --directory="$(shell pwd)/benchmark/misc/function_call" \ + --directory="$(shell pwd)/benchmark/napi/function_call" \ --nodedir="$(shell pwd)" # Implicitly depends on $(NODE_EXE). We don't depend on it explicitly because @@ -635,12 +657,16 @@ gen-json = tools/doc/generate.js --format=json $< > $@ gen-html = tools/doc/generate.js --node-version=$(FULLVERSION) --format=html \ --analytics=$(DOCS_ANALYTICS) $< > $@ -out/doc/api/%.json: doc/api/%.md +out/doc/api/%.json: doc/api/%.md tools/doc/generate.js tools/doc/json.js $(call available-node, $(gen-json)) -out/doc/api/%.html: doc/api/%.md +out/doc/api/%.html: doc/api/%.md tools/doc/generate.js tools/doc/html.js $(call available-node, $(gen-html)) +out/doc/api/all.html: $(filter-out out/doc/api/all.html, $(apidocs_html)) \ + tools/doc/allhtml.js + $(call available-node, tools/doc/allhtml.js) + .PHONY: docopen docopen: $(apidocs_html) @$(PYTHON) -mwebbrowser file://$(PWD)/out/doc/api/all.html @@ -1046,11 +1072,17 @@ ifneq ("","$(wildcard tools/remark-cli/node_modules/)") LINT_MD_DOC_FILES = $(shell ls doc/*.md doc/**/*.md) run-lint-doc-md = tools/remark-cli/cli.js -q -f $(LINT_MD_DOC_FILES) +node_use_openssl = $(shell $(call available-node,"-p" \ + "process.versions.openssl != undefined")) # Lint all changed markdown files under doc/ tools/.docmdlintstamp: $(LINT_MD_DOC_FILES) +ifeq ($(node_use_openssl),true) @echo "Running Markdown linter on docs..." @$(call available-node,$(run-lint-doc-md)) @touch $@ +else + @echo "Skipping Markdown linter on docs (no crypto)" +endif LINT_MD_TARGETS = src lib benchmark tools/doc tools/icu LINT_MD_ROOT_DOCS := $(wildcard *.md) @@ -1059,9 +1091,13 @@ LINT_MD_MISC_FILES := $(shell find $(LINT_MD_TARGETS) -type f \ run-lint-misc-md = tools/remark-cli/cli.js -q -f $(LINT_MD_MISC_FILES) # Lint other changed markdown files maintained by us tools/.miscmdlintstamp: $(LINT_MD_MISC_FILES) +ifeq ($(node_use_openssl),true) @echo "Running Markdown linter on misc docs..." @$(call available-node,$(run-lint-misc-md)) @touch $@ +else + @echo "Skipping Markdown linter on misc docs (no crypto)" +endif tools/.mdlintstamp: tools/.miscmdlintstamp tools/.docmdlintstamp @@ -1115,7 +1151,7 @@ LINT_CPP_EXCLUDE += $(wildcard test/addons-napi/??_*/*.cc test/addons-napi/??_*/ LINT_CPP_EXCLUDE += src/tracing/trace_event.h src/tracing/trace_event_common.h LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \ - benchmark/misc/function_call/binding.cc \ + benchmark/napi/function_call/binding.cc \ src/*.c \ src/*.cc \ src/*.h \ diff --git a/README.md b/README.md index 6167a3599f1c28..cd30238a94f293 100644 --- a/README.md +++ b/README.md @@ -315,6 +315,8 @@ For more information about the governance of the Node.js project, see **Anatoli Papirovski** <apapirovski@mac.com> (he/him) * [aqrln](https://github.com/aqrln) - **Alexey Orlenko** <eaglexrlnk@gmail.com> (he/him) +* [bcoe](https://github.com/bcoe) - +**Ben Coe** <bencoe@gmail.com> (he/him) * [bengl](https://github.com/bengl) - **Bryan English** <bryan@bryanenglish.com> (he/him) * [benjamingr](https://github.com/benjamingr) - diff --git a/benchmark/misc/util-extend-vs-object-assign.js b/benchmark/misc/util-extend-vs-object-assign.js index 149619f6e1dea3..3880711b660fe1 100644 --- a/benchmark/misc/util-extend-vs-object-assign.js +++ b/benchmark/misc/util-extend-vs-object-assign.js @@ -9,6 +9,10 @@ const bench = common.createBenchmark(main, { }); function main({ n, type }) { + // Default value for tests. + if (type === '') + type = 'extend'; + let fn; if (type === 'extend') { fn = util._extend; diff --git a/benchmark/misc/function_call/.gitignore b/benchmark/napi/function_call/.gitignore similarity index 100% rename from benchmark/misc/function_call/.gitignore rename to benchmark/napi/function_call/.gitignore diff --git a/benchmark/misc/function_call/binding.cc b/benchmark/napi/function_call/binding.cc similarity index 100% rename from benchmark/misc/function_call/binding.cc rename to benchmark/napi/function_call/binding.cc diff --git a/benchmark/misc/function_call/binding.gyp b/benchmark/napi/function_call/binding.gyp similarity index 100% rename from benchmark/misc/function_call/binding.gyp rename to benchmark/napi/function_call/binding.gyp diff --git a/benchmark/misc/function_call/index.js b/benchmark/napi/function_call/index.js similarity index 100% rename from benchmark/misc/function_call/index.js rename to benchmark/napi/function_call/index.js diff --git a/benchmark/misc/function_call/napi_binding.c b/benchmark/napi/function_call/napi_binding.c similarity index 100% rename from benchmark/misc/function_call/napi_binding.c rename to benchmark/napi/function_call/napi_binding.c diff --git a/common.gypi b/common.gypi index dbf49d11ce3279..d25a434b03d433 100644 --- a/common.gypi +++ b/common.gypi @@ -16,6 +16,7 @@ 'node_use_v8_platform%': 'true', 'node_use_bundled_v8%': 'true', 'node_module_version%': '', + 'node_with_ltcg%': '', 'node_tag%': '', 'uv_library%': 'static_library', @@ -27,7 +28,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.8', + 'v8_embedder_string': '-node.13', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, @@ -78,7 +79,7 @@ ['GENERATOR == "ninja"', { 'v8_base': '<(PRODUCT_DIR)/obj/deps/v8/gypfiles/v8_monolith.gen/gn/obj/libv8_monolith.a', }, { - 'v8_base': '<(PRODUCT_DIR)/obji.target/v8_monolith/geni/gn/obj/libv8_monolith.a', + 'v8_base': '<(PRODUCT_DIR)/obj.target/v8_monolith/geni/gn/obj/libv8_monolith.a', }], ], }], @@ -192,6 +193,35 @@ 'RuntimeLibrary': 0 # MultiThreaded (/MT) } } + }], + ['node_with_ltcg=="true"', { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'WholeProgramOptimization': 'true' # /GL, whole program optimization, needed for LTCG + }, + 'VCLibrarianTool': { + 'AdditionalOptions': [ + '/LTCG:INCREMENTAL', # link time code generation + ] + }, + 'VCLinkerTool': { + 'OptimizeReferences': 2, # /OPT:REF + 'EnableCOMDATFolding': 2, # /OPT:ICF + 'LinkIncremental': 1, # disable incremental linking + 'AdditionalOptions': [ + '/LTCG:INCREMENTAL', # incremental link-time code generation + ] + } + } + }, { + 'msvs_settings': { + 'VCCLCompilerTool': { + 'WholeProgramOptimization': 'false' + }, + 'VCLinkerTool': { + 'LinkIncremental': 2 # enable incremental linking + } + } }] ], 'msvs_settings': { @@ -199,7 +229,6 @@ 'Optimization': 3, # /Ox, full optimization 'FavorSizeOrSpeed': 1, # /Ot, favor speed over size 'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible - 'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG 'OmitFramePointers': 'true', 'EnableFunctionLevelLinking': 'true', 'EnableIntrinsicFunctions': 'true', @@ -207,21 +236,8 @@ 'AdditionalOptions': [ '/MP', # compile across multiple CPUs ], - }, - 'VCLibrarianTool': { - 'AdditionalOptions': [ - '/LTCG', # link time code generation - ], - }, - 'VCLinkerTool': { - 'OptimizeReferences': 2, # /OPT:REF - 'EnableCOMDATFolding': 2, # /OPT:ICF - 'LinkIncremental': 1, # disable incremental linking - 'AdditionalOptions': [ - '/LTCG:INCREMENTAL', # incremental link-time code generation - ], - }, - }, + } + } } }, # Forcibly disable -Werror. We support a wide range of compilers, it's diff --git a/configure b/configure index f72e9123b90b0f..3a9ab42414569e 100755 --- a/configure +++ b/configure @@ -28,6 +28,7 @@ if sys.version_info[0] != 2 or sys.version_info[1] not in (6, 7): import errno import optparse import os +import pipes import pprint import re import shlex @@ -38,6 +39,8 @@ import string # If not run from node/, cd to node/. os.chdir(os.path.dirname(__file__) or '.') +original_argv = sys.argv[1:] + # gcc and g++ as defaults matches what GYP's Makefile generator does, # except on OS X. CC = os.environ.get('CC', 'cc' if sys.platform == 'darwin' else 'gcc') @@ -425,6 +428,11 @@ intl_optgroup.add_option('--with-icu-source', dest='with_icu_source', help='Intl mode: optional local path to icu/ dir, or path/URL of icu source archive.') +parser.add_option('--with-ltcg', + action='store_true', + dest='with_ltcg', + help='Use Link Time Code Generation. This feature is only available on Windows.') + intl_optgroup.add_option('--download', action='store', dest='download_list', @@ -486,6 +494,12 @@ parser.add_option('--without-snapshot', dest='without_snapshot', help=optparse.SUPPRESS_HELP) +parser.add_option('--code-cache-path', + action='store', + dest='code_cache_path', + help='Use a file generated by tools/generate_code_cache.js to compile the' + ' code cache for builtin modules into the binary') + parser.add_option('--without-ssl', action='store_true', dest='without_ssl', @@ -953,6 +967,10 @@ def configure_node(o): else: o['variables']['node_use_perfctr'] = 'false' + o['variables']['node_with_ltcg'] = b(options.with_ltcg) + if flavor != 'win' and options.with_ltcg: + raise Exception('Link Time Code Generation is only supported on Windows.') + if options.tag: o['variables']['node_tag'] = '-' + options.tag else: @@ -974,6 +992,8 @@ def configure_node(o): o['variables']['debug_nghttp2'] = 'false' o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) + if options.code_cache_path: + o['variables']['node_code_cache_path'] = options.code_cache_path o['variables']['node_shared'] = b(options.shared) node_module_version = getmoduleversion.get_version() @@ -1513,6 +1533,10 @@ pprint.pprint(output, indent=2) write('config.gypi', do_not_edit + pprint.pformat(output, indent=2) + '\n') +write('config.status', '#!/bin/sh\nset -x\nexec ./configure ' + + ' '.join([pipes.quote(arg) for arg in original_argv]) + '\n') +os.chmod('config.status', 0775) + config = { 'BUILDTYPE': 'Debug' if options.debug else 'Release', 'PYTHON': sys.executable, diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py index 64b9dd267b7492..6fc5d6b563cabf 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py @@ -623,6 +623,9 @@ def Sourceify(path): def QuoteSpaces(s, quote=r'\ '): return s.replace(' ', quote) +def SourceifyAndQuoteSpaces(path): + """Convert a path to its source directory form and quote spaces.""" + return QuoteSpaces(Sourceify(path)) # TODO: Avoid code duplication with _ValidateSourcesForMSVSProject in msvs.py. def _ValidateSourcesForOSX(spec, all_sources): @@ -1945,7 +1948,7 @@ def WriteAutoRegenerationRule(params, root_makefile, makefile_name, "%(makefile_name)s: %(deps)s\n" "\t$(call do_cmd,regen_makefile)\n\n" % { 'makefile_name': makefile_name, - 'deps': ' '.join(map(Sourceify, build_files)), + 'deps': ' '.join(map(SourceifyAndQuoteSpaces, build_files)), 'cmd': gyp.common.EncodePOSIXShellList( [gyp_binary, '-fmake'] + gyp.RegenerateFlags(options) + diff --git a/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c b/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c index 72e2f0f28bc2d3..449be0e92a601b 100644 --- a/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c +++ b/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c @@ -210,7 +210,8 @@ ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len, EC_KEY *eckey) { int ok = 0, i; - BIGNUM *kinv = NULL, *s, *m = NULL, *tmp = NULL; + BIGNUM *kinv = NULL, *s, *m = NULL, *tmp = NULL, *blind = NULL; + BIGNUM *blindm = NULL; const BIGNUM *order, *ckinv; BN_CTX *ctx = NULL; const EC_GROUP *group; @@ -243,8 +244,18 @@ ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len, } s = ret->s; - if ((ctx = BN_CTX_new()) == NULL || - (tmp = BN_new()) == NULL || (m = BN_new()) == NULL) { + ctx = BN_CTX_secure_new(); + if (ctx == NULL) { + ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_MALLOC_FAILURE); + goto err; + } + + BN_CTX_start(ctx); + tmp = BN_CTX_get(ctx); + m = BN_CTX_get(ctx); + blind = BN_CTX_get(ctx); + blindm = BN_CTX_get(ctx); + if (blindm == NULL) { ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_MALLOC_FAILURE); goto err; } @@ -284,18 +295,64 @@ ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len, } } - if (!BN_mod_mul(tmp, priv_key, ret->r, order, ctx)) { + /* + * The normal signature calculation is: + * + * s := k^-1 * (m + r * priv_key) mod order + * + * We will blind this to protect against side channel attacks + * + * s := k^-1 * blind^-1 * (blind * m + blind * r * priv_key) mod order + */ + + /* Generate a blinding value */ + do { + if (!BN_rand(blind, BN_num_bits(order) - 1, BN_RAND_TOP_ANY, + BN_RAND_BOTTOM_ANY)) + goto err; + } while (BN_is_zero(blind)); + BN_set_flags(blind, BN_FLG_CONSTTIME); + BN_set_flags(blindm, BN_FLG_CONSTTIME); + BN_set_flags(tmp, BN_FLG_CONSTTIME); + + /* tmp := blind * priv_key * r mod order */ + if (!BN_mod_mul(tmp, blind, priv_key, order, ctx)) { ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); goto err; } - if (!BN_mod_add_quick(s, tmp, m, order)) { + if (!BN_mod_mul(tmp, tmp, ret->r, order, ctx)) { ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); goto err; } + + /* blindm := blind * m mod order */ + if (!BN_mod_mul(blindm, blind, m, order, ctx)) { + ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); + goto err; + } + + /* s : = (blind * priv_key * r) + (blind * m) mod order */ + if (!BN_mod_add_quick(s, tmp, blindm, order)) { + ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); + goto err; + } + + /* s:= s * blind^-1 mod order */ + if (BN_mod_inverse(blind, blind, order, ctx) == NULL) { + ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); + goto err; + } + if (!BN_mod_mul(s, s, blind, order, ctx)) { + ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); + goto err; + } + + /* s := s * k^-1 mod order */ if (!BN_mod_mul(s, s, ckinv, order, ctx)) { ECerr(EC_F_OSSL_ECDSA_SIGN_SIG, ERR_R_BN_LIB); goto err; } + if (BN_is_zero(s)) { /* * if kinv and r have been supplied by the caller don't to @@ -317,9 +374,8 @@ ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len, ECDSA_SIG_free(ret); ret = NULL; } + BN_CTX_end(ctx); BN_CTX_free(ctx); - BN_clear_free(m); - BN_clear_free(tmp); BN_clear_free(kinv); return ret; } diff --git a/deps/uv/AUTHORS b/deps/uv/AUTHORS index b605a0f3bc1544..eb8501aab12d45 100644 --- a/deps/uv/AUTHORS +++ b/deps/uv/AUTHORS @@ -338,3 +338,8 @@ zzzjim Alex Arslan Kyle Farnung ssrlive <30760636+ssrlive@users.noreply.github.com> +Tobias Nießen +Björn Linse +zyxwvu Shi +Peter Johnson +Paolo Greppi diff --git a/deps/uv/CMakeLists.txt b/deps/uv/CMakeLists.txt new file mode 100644 index 00000000000000..f13e5295636b49 --- /dev/null +++ b/deps/uv/CMakeLists.txt @@ -0,0 +1,381 @@ +# TODO: determine CMAKE_SYSTEM_NAME on OS/390. Currently assumes "OS/390". +cmake_minimum_required(VERSION 3.0) +project(libuv) +enable_testing() + +if(MSVC) + list(APPEND uv_cflags /W4) +elseif(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU") + list(APPEND uv_cflags -fvisibility=hidden --std=gnu89) + list(APPEND uv_cflags -Wall -Wextra -Wstrict-prototypes) + list(APPEND uv_cflags -Wno-unused-parameter) +endif() + +set(uv_sources + src/fs-poll.c + src/inet.c + src/threadpool.c + src/uv-common.c + src/uv-data-getter-setters.c + src/version.c) + +set(uv_test_sources + test/blackhole-server.c + test/echo-server.c + test/run-tests.c + test/runner.c + test/test-active.c + test/test-async-null-cb.c + test/test-async.c + test/test-barrier.c + test/test-callback-order.c + test/test-callback-stack.c + test/test-close-fd.c + test/test-close-order.c + test/test-condvar.c + test/test-connect-unspecified.c + test/test-connection-fail.c + test/test-cwd-and-chdir.c + test/test-default-loop-close.c + test/test-delayed-accept.c + test/test-dlerror.c + test/test-eintr-handling.c + test/test-embed.c + test/test-emfile.c + test/test-env-vars.c + test/test-error.c + test/test-fail-always.c + test/test-fork.c + test/test-fs-copyfile.c + test/test-fs-event.c + test/test-fs-poll.c + test/test-fs.c + test/test-get-currentexe.c + test/test-get-loadavg.c + test/test-get-memory.c + test/test-get-passwd.c + test/test-getaddrinfo.c + test/test-gethostname.c + test/test-getnameinfo.c + test/test-getsockname.c + test/test-getters-setters.c + test/test-handle-fileno.c + test/test-homedir.c + test/test-hrtime.c + test/test-idle.c + test/test-ip4-addr.c + test/test-ip6-addr.c + test/test-ip6-addr.c + test/test-ipc-heavy-traffic-deadlock-bug.c + test/test-ipc-send-recv.c + test/test-ipc.c + test/test-loop-alive.c + test/test-loop-close.c + test/test-loop-configure.c + test/test-loop-handles.c + test/test-loop-stop.c + test/test-loop-time.c + test/test-multiple-listen.c + test/test-mutexes.c + test/test-osx-select.c + test/test-pass-always.c + test/test-ping-pong.c + test/test-pipe-bind-error.c + test/test-pipe-close-stdout-read-stdin.c + test/test-pipe-connect-error.c + test/test-pipe-connect-multiple.c + test/test-pipe-connect-prepare.c + test/test-pipe-getsockname.c + test/test-pipe-pending-instances.c + test/test-pipe-sendmsg.c + test/test-pipe-server-close.c + test/test-pipe-set-fchmod.c + test/test-pipe-set-non-blocking.c + test/test-platform-output.c + test/test-poll-close-doesnt-corrupt-stack.c + test/test-poll-close.c + test/test-poll-closesocket.c + test/test-poll-oob.c + test/test-poll.c + test/test-process-title-threadsafe.c + test/test-process-title.c + test/test-queue-foreach-delete.c + test/test-ref.c + test/test-run-nowait.c + test/test-run-once.c + test/test-semaphore.c + test/test-shutdown-close.c + test/test-shutdown-eof.c + test/test-shutdown-twice.c + test/test-signal-multiple-loops.c + test/test-signal.c + test/test-socket-buffer-size.c + test/test-spawn.c + test/test-stdio-over-pipes.c + test/test-tcp-alloc-cb-fail.c + test/test-tcp-bind-error.c + test/test-tcp-bind6-error.c + test/test-tcp-close-accept.c + test/test-tcp-close-while-connecting.c + test/test-tcp-close.c + test/test-tcp-connect-error-after-write.c + test/test-tcp-connect-error.c + test/test-tcp-connect-timeout.c + test/test-tcp-connect6-error.c + test/test-tcp-create-socket-early.c + test/test-tcp-flags.c + test/test-tcp-oob.c + test/test-tcp-open.c + test/test-tcp-read-stop.c + test/test-tcp-shutdown-after-write.c + test/test-tcp-try-write.c + test/test-tcp-unexpected-read.c + test/test-tcp-write-after-connect.c + test/test-tcp-write-fail.c + test/test-tcp-write-queue-order.c + test/test-tcp-write-to-half-open-connection.c + test/test-tcp-writealot.c + test/test-thread-equal.c + test/test-thread.c + test/test-threadpool-cancel.c + test/test-threadpool.c + test/test-timer-again.c + test/test-timer-from-check.c + test/test-timer.c + test/test-tmpdir.c + test/test-tty.c + test/test-udp-alloc-cb-fail.c + test/test-udp-bind.c + test/test-udp-create-socket-early.c + test/test-udp-dgram-too-big.c + test/test-udp-ipv6.c + test/test-udp-multicast-interface.c + test/test-udp-multicast-interface6.c + test/test-udp-multicast-join.c + test/test-udp-multicast-join6.c + test/test-udp-multicast-ttl.c + test/test-udp-open.c + test/test-udp-options.c + test/test-udp-send-and-recv.c + test/test-udp-send-hang-loop.c + test/test-udp-send-immediate.c + test/test-udp-send-unreachable.c + test/test-udp-try-send.c + test/test-walk-handles.c + test/test-watcher-cross-stop.c) + +if(WIN32) + list(APPEND uv_defines WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0600) + list(APPEND uv_libraries + advapi32 + iphlpapi + psapi + shell32 + user32 + userenv + ws2_32) + list(APPEND uv_sources + src/win/async.c + src/win/core.c + src/win/detect-wakeup.c + src/win/dl.c + src/win/error.c + src/win/fs.c + src/win/fs-event.c + src/win/getaddrinfo.c + src/win/getnameinfo.c + src/win/handle.c + src/win/loop-watcher.c + src/win/pipe.c + src/win/thread.c + src/win/poll.c + src/win/process.c + src/win/process-stdio.c + src/win/req.c + src/win/signal.c + src/win/snprintf.c + src/win/stream.c + src/win/tcp.c + src/win/tty.c + src/win/timer.c + src/win/udp.c + src/win/util.c + src/win/winapi.c + src/win/winsock.c) + list(APPEND uv_test_libraries ws2_32) + list(APPEND uv_test_sources src/win/snprintf.c test/runner-win.c) +else() + list(APPEND uv_defines _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE) + list(APPEND uv_libraries pthread) + list(APPEND uv_sources + src/unix/async.c + src/unix/core.c + src/unix/dl.c + src/unix/fs.c + src/unix/getaddrinfo.c + src/unix/getnameinfo.c + src/unix/loop-watcher.c + src/unix/loop.c + src/unix/pipe.c + src/unix/poll.c + src/unix/process.c + src/unix/signal.c + src/unix/stream.c + src/unix/tcp.c + src/unix/thread.c + src/unix/timer.c + src/unix/tty.c + src/unix/udp.c) + list(APPEND uv_test_sources test/runner-unix.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "AIX") + list(APPEND uv_defines + _ALL_SOURCE + _LINUX_SOURCE_COMPAT + _THREAD_SAFE + _XOPEN_SOURCE=500) + list(APPEND uv_libraries perfstat) + list(APPEND uv_sources src/unix/aix.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "Android") + list(APPEND uv_libs dl) + list(APPEND uv_sources + src/unix/android-ifaddrs.c + src/unix/linux-core.c + src/unix/linux-inotify.c + src/unix/linux-syscalls.c + src/unix/procfs-exepath.c + src/unix/pthread-fixes.c + src/unix/sysinfo-loadavg.c + src/unix/sysinfo-memory.c) +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|Linux|OS/390") + list(APPEND uv_sources src/unix/proctitle.c) +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD") + list(APPEND uv_sources src/unix/freebsd.c) +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|NetBSD|OpenBSD") + list(APPEND uv_sources src/unix/posix-hrtime.c) + list(APPEND uv_libraries kvm) +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "Darwin|DragonFly|FreeBSD|NetBSD|OpenBSD") + list(APPEND uv_sources src/unix/bsd-ifaddrs.c src/unix/kqueue.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + list(APPEND uv_defines _DARWIN_UNLIMITED_SELECT=1 _DARWIN_USE_64_BIT_INODE=1) + list(APPEND uv_sources + src/unix/darwin-proctitle.c + src/unix/darwin.c + src/unix/fsevents.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112) + list(APPEND uv_libraries dl rt) + list(APPEND uv_sources + src/unix/linux-core.c + src/unix/linux-inotify.c + src/unix/linux-syscalls.c + src/unix/procfs-exepath.c + src/unix/sysinfo-loadavg.c + src/unix/sysinfo-memory.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD") + list(APPEND uv_sources src/unix/netbsd.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") + list(APPEND uv_sources src/unix/openbsd.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "OS/390") + list(APPEND uv_defines PATH_MAX=255) + list(APPEND uv_defines _AE_BIMODAL) + list(APPEND uv_defines _ALL_SOURCE) + list(APPEND uv_defines _LARGE_TIME_API) + list(APPEND uv_defines _OPEN_MSGQ_EXT) + list(APPEND uv_defines _OPEN_SYS_FILE_EXT) + list(APPEND uv_defines _OPEN_SYS_IF_EXT) + list(APPEND uv_defines _OPEN_SYS_SOCK_IPV6) + list(APPEND uv_defines _UNIX03_SOURCE) + list(APPEND uv_defines _UNIX03_THREADS) + list(APPEND uv_defines _UNIX03_WITHDRAWN) + list(APPEND uv_defines _XOPEN_SOURCE_EXTENDED) + list(APPEND uv_sources + src/unix/pthread-fixes.c + src/unix/pthread-barrier.c + src/unix/os390.c + src/unix/os390-syscalls.c) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + list(APPEND uv_defines __EXTENSIONS__ _XOPEN_SOURCE=500) + list(APPEND uv_libraries kstat nsl sendfile socket) + list(APPEND uv_sources src/unix/no-proctitle.c src/unix/sunos.c) +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "Darwin|DragonFly|FreeBSD|Linux|NetBSD|OpenBSD") + list(APPEND uv_test_libraries util) +endif() + +add_library(uv SHARED ${uv_sources}) +target_compile_definitions(uv PRIVATE ${uv_defines} BUILDING_UV_SHARED=1) +target_compile_options(uv PRIVATE ${uv_cflags}) +target_include_directories(uv PRIVATE include src) +target_link_libraries(uv ${uv_libraries}) + +add_library(uv_a STATIC ${uv_sources}) +target_compile_definitions(uv_a PRIVATE ${uv_defines}) +target_compile_options(uv_a PRIVATE ${uv_cflags}) +target_include_directories(uv_a PRIVATE include src) +target_link_libraries(uv_a ${uv_libraries}) + +if(BUILD_TESTING) + include(CTest) + add_executable(uv_run_tests ${uv_test_sources}) + target_compile_definitions(uv_run_tests PRIVATE ${uv_defines}) + target_compile_options(uv_run_tests PRIVATE ${uv_cflags}) + target_include_directories(uv_run_tests PRIVATE include) + target_link_libraries(uv_run_tests uv ${uv_test_libraries}) + add_test(NAME uv_test + COMMAND uv_run_tests + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + add_executable(uv_run_tests_a ${uv_test_sources}) + target_compile_definitions(uv_run_tests_a PRIVATE ${uv_defines}) + target_compile_options(uv_run_tests_a PRIVATE ${uv_cflags}) + target_include_directories(uv_run_tests_a PRIVATE include) + target_link_libraries(uv_run_tests_a uv_a ${uv_test_libraries}) + add_test(NAME uv_test_a + COMMAND uv_run_tests_a + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +endif() + +if(UNIX) + # Now for some gibbering horrors from beyond the stars... + include(GNUInstallDirs) + foreach(x ${uv_libraries}) + set(LIBS "${LIBS} -l${x}") + endforeach(x) + file(STRINGS configure.ac configure_ac REGEX ^AC_INIT) + string(REGEX MATCH [0-9]+[.][0-9]+[.][0-9]+ PACKAGE_VERSION "${configure_ac}") + set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) + set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) + set(prefix ${CMAKE_INSTALL_PREFIX}) + configure_file(libuv.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuv.pc @ONLY) + + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) + install(FILES LICENSE ${CMAKE_CURRENT_BINARY_DIR}/libuv.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() diff --git a/deps/uv/CONTRIBUTING.md b/deps/uv/CONTRIBUTING.md index d9bf0472fb1fc3..f22e124e3b23b9 100644 --- a/deps/uv/CONTRIBUTING.md +++ b/deps/uv/CONTRIBUTING.md @@ -137,7 +137,10 @@ $ git rebase upstream/v1.x # or upstream/master ### TEST Bug fixes and features should come with tests. Add your tests in the -`test/` directory. Each new test needs to be registered in `test/test-list.h`. If you add a new test file, it needs to be registered in two places: +`test/` directory. Each new test needs to be registered in `test/test-list.h`. + +If you add a new test file, it needs to be registered in three places: +- `CMakeLists.txt`: add the file's name to the `uv_test_sources` list. - `Makefile.am`: add the file's name to the `test_run_tests_SOURCES` list. - `uv.gyp`: add the file's name to the `sources` list in the `run-tests` target. diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index 0ec1488412d630..3569d5d5751564 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,3 +1,100 @@ +2018.06.23, Version 1.21.0 (Stable), e4983a9b0c152932f7553ff4a9ff189d2314cdcb + +Changes since version 1.20.3: + +* unix,windows: map EFTYPE errno (cjihrig) + +* win: perform case insensitive PATH= comparison (cjihrig) + +* win, fs: uv_fs_fchmod support for -A files (Bartosz Sosnowski) + +* src,lib: fix comments (Tobias Nießen) + +* win,process: allow child pipe handles to be opened in overlapped mode (Björn + Linse) + +* src,test: fix idiosyncratic comment style (Bert Belder) + +* test: fs_fchmod_archive_readonly must return a value (Bert Belder) + +* win,pipe: fix incorrect error code returned from uv_pipe_write_impl() (Bert + Belder) + +* win,pipe: properly set uv_write_t.send_handle in uv_write2() (Bert Belder) + +* test: add vectored uv_write() ping-pong tests (Bert Belder) + +* win,pipe: support vectored uv_write() calls (Bert Belder) + +* win,pipe: refactor pipe read cancellation logic (Bert Belder) + +* test: improve output from IPC test helpers (Bert Belder) + +* test: add test for IPC deadlock on Windows ( + +* win,pipe: fix IPC pipe deadlock (Bert Belder) + +* unix: catch some cases of watching fd twice (Ben Noordhuis) + +* test: use custom timeout for getaddrinfo_fail_sync (Ben Noordhuis) + +* Revert "win: add Windows XP support to uv_if_indextoname()" (Bert Belder) + +* win,thread: remove fallback uv_cond implementation (Bert Belder) + +* src,test: s/olny/only (cjihrig) + +* unix: close signal pipe fds on unload (Ben Noordhuis) + +* win: allow setting udp socket options before bind (cjihrig) + +* unix: return UV_ENOTSUP on FICLONE_FORCE failure (cjihrig) + +* win,pipe: remove unreferenced local variable (Bert Belder) + +* win,code: remove GetQueuedCompletionStatus-based poller (Bert Belder) + +* win: remove the remaining dynamic kernel32 imports (Bert Belder) + +* test: speedup process-title-threadsafe on macOS (cjihrig) + +* core: move all include files except uv.h to uv/ (Saúl Ibarra Corretgé) + +* win: move stdint-msvc2008.h to include/uv/ (Ben Noordhuis) + +* build: fix cygwin install (Ben Noordhuis) + +* build,win: remove MinGW Makefile (Saúl Ibarra Corretgé) + +* build: add a cmake build file (Ben Noordhuis) + +* build: add test suite option to cmake build (Ben Noordhuis) + +* unix: set errno in uv_fs_copyfile() (cjihrig) + +* samples: fix inconsistency in parse_opts vs usage (zyxwvu Shi) + +* linux: handle exclusive POLLHUP with UV_DISCONNECT (Brad King) + +* include: declare uv_cpu_times_s in higher scope (Peter Johnson) + +* doc: add uv_fs_fsync() AIX limitations (jBarz) + +* unix,win: add uv_fs_lchown() (Paolo Greppi) + +* unix: disable clang variable length array warning (Peter Johnson) + +* doc: document uv_pipe_t::ipc (Ed Schouten) + +* doc: undocument uv_req_type's UV_REQ_TYPE_PRIVATE (Ed Schouten) + +* doc: document UV_*_MAP() macros (Ed Schouten) + +* win: remove use of min() macro in pipe.c (Peter Johnson) + +* doc: add jbarz as maintainer ( + + 2018.05.08, Version 1.20.3 (Stable), 8cfd67e59195251dff793ee47c185c9d6a8f3818 Changes since version 1.20.2: diff --git a/deps/uv/MAINTAINERS.md b/deps/uv/MAINTAINERS.md index d85deb0066b131..a895780fc11809 100644 --- a/deps/uv/MAINTAINERS.md +++ b/deps/uv/MAINTAINERS.md @@ -14,6 +14,7 @@ libuv is currently managed by the following individuals: - GPG key: AF2E EA41 EC34 47BF DD86 FED9 D706 3CCE 19B7 E890 (pubkey-indutny) * **Imran Iqbal** ([@iWuzHere](https://github.com/iWuzHere)) - GPG key: 9DFE AA5F 481B BF77 2D90 03CE D592 4925 2F8E C41A (pubkey-iwuzhere) +* **John Barboza** ([@jbarz](https://github.com/jbarz)) * **Santiago Gimeno** ([@santigimeno](https://github.com/santigimeno)) - GPG key: 612F 0EAD 9401 6223 79DF 4402 F28C 3C8D A33C 03BE (pubkey-santigimeno) * **Saúl Ibarra Corretgé** ([@saghul](https://github.com/saghul)) diff --git a/deps/uv/Makefile.am b/deps/uv/Makefile.am index ae9d96bcf61ef9..5f07dba23a3b7d 100644 --- a/deps/uv/Makefile.am +++ b/deps/uv/Makefile.am @@ -17,7 +17,10 @@ ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = -I$(top_srcdir)/include \ -I$(top_srcdir)/src -include_HEADERS=include/uv.h include/uv-errno.h include/uv-threadpool.h include/uv-version.h +include_HEADERS=include/uv.h + +uvincludedir = $(includedir)/uv +uvinclude_HEADERS=include/uv/errno.h include/uv/threadpool.h include/uv/version.h CLEANFILES = @@ -42,7 +45,7 @@ endif if WINNT -include_HEADERS += include/uv-win.h include/tree.h +uvinclude_HEADERS += include/uv/win.h include/uv/tree.h AM_CPPFLAGS += -I$(top_srcdir)/src/win \ -DWIN32_LEAN_AND_MEAN \ -D_WIN32_WINNT=0x0600 @@ -82,7 +85,7 @@ libuv_la_SOURCES += src/win/async.c \ else # WINNT -include_HEADERS += include/uv-unix.h +uvinclude_HEADERS += include/uv/unix.h AM_CPPFLAGS += -I$(top_srcdir)/src/unix libuv_la_SOURCES += src/unix/async.c \ src/unix/atomic-ops.h \ @@ -121,7 +124,6 @@ EXTRA_DIST = test/fixtures/empty_file \ README.md \ checksparse.sh \ vcbuild.bat \ - Makefile.mingw \ common.gypi \ gyp_uv.py \ uv.gyp @@ -191,6 +193,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ test/test-idle.c \ test/test-ip4-addr.c \ test/test-ip6-addr.c \ + test/test-ipc-heavy-traffic-deadlock-bug.c \ test/test-ipc-send-recv.c \ test/test-ipc.c \ test/test-list.h \ @@ -332,19 +335,19 @@ libuv_la_CFLAGS += -D_ALL_SOURCE \ -D_LINUX_SOURCE_COMPAT \ -D_THREAD_SAFE \ -DHAVE_SYS_AHAFS_EVPRODS_H -include_HEADERS += include/uv-aix.h +uvinclude_HEADERS += include/uv/aix.h libuv_la_SOURCES += src/unix/aix.c src/unix/aix-common.c endif if ANDROID -include_HEADERS += include/android-ifaddrs.h \ - include/pthread-barrier.h +uvinclude_HEADERS += include/uv/android-ifaddrs.h \ + include/uv/pthread-barrier.h libuv_la_SOURCES += src/unix/android-ifaddrs.c \ src/unix/pthread-fixes.c endif if CYGWIN -include_HEADERS += include/uv-posix.h +uvinclude_HEADERS += include/uv/posix.h libuv_la_CFLAGS += -D_GNU_SOURCE libuv_la_SOURCES += src/unix/cygwin.c \ src/unix/bsd-ifaddrs.c \ @@ -358,8 +361,8 @@ libuv_la_SOURCES += src/unix/cygwin.c \ endif if DARWIN -include_HEADERS += include/uv-darwin.h \ - include/pthread-barrier.h +uvinclude_HEADERS += include/uv/darwin.h \ + include/uv/pthread-barrier.h libuv_la_CFLAGS += -D_DARWIN_USE_64_BIT_INODE=1 libuv_la_CFLAGS += -D_DARWIN_UNLIMITED_SELECT=1 libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ @@ -372,7 +375,7 @@ test_run_tests_LDFLAGS += -lutil endif if DRAGONFLY -include_HEADERS += include/uv-bsd.h +uvinclude_HEADERS += include/uv/bsd.h libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ src/unix/freebsd.c \ src/unix/kqueue.c \ @@ -381,7 +384,7 @@ test_run_tests_LDFLAGS += -lutil endif if FREEBSD -include_HEADERS += include/uv-bsd.h +uvinclude_HEADERS += include/uv/bsd.h libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ src/unix/freebsd.c \ src/unix/kqueue.c \ @@ -390,7 +393,7 @@ test_run_tests_LDFLAGS += -lutil endif if LINUX -include_HEADERS += include/uv-linux.h +uvinclude_HEADERS += include/uv/linux.h libuv_la_CFLAGS += -D_GNU_SOURCE libuv_la_SOURCES += src/unix/linux-core.c \ src/unix/linux-inotify.c \ @@ -417,7 +420,7 @@ libuv_la_SOURCES += src/unix/cygwin.c \ endif if NETBSD -include_HEADERS += include/uv-bsd.h +uvinclude_HEADERS += include/uv/bsd.h libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ src/unix/kqueue.c \ src/unix/netbsd.c \ @@ -426,7 +429,7 @@ test_run_tests_LDFLAGS += -lutil endif if OPENBSD -include_HEADERS += include/uv-bsd.h +uvinclude_HEADERS += include/uv/bsd.h libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ src/unix/kqueue.c \ src/unix/openbsd.c \ @@ -435,14 +438,14 @@ test_run_tests_LDFLAGS += -lutil endif if SUNOS -include_HEADERS += include/uv-sunos.h +uvinclude_HEADERS += include/uv/sunos.h libuv_la_CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=500 libuv_la_SOURCES += src/unix/no-proctitle.c \ src/unix/sunos.c endif if OS390 -include_HEADERS += include/pthread-barrier.h +uvinclude_HEADERS += include/uv/pthread-barrier.h libuv_la_CFLAGS += -D_UNIX03_THREADS \ -D_UNIX03_SOURCE \ -D_OPEN_SYS_IF_EXT=1 \ diff --git a/deps/uv/Makefile.mingw b/deps/uv/Makefile.mingw deleted file mode 100644 index 3acf9e14a9eab4..00000000000000 --- a/deps/uv/Makefile.mingw +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2013, Ben Noordhuis -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -CC ?= gcc - -CFLAGS += -Wall \ - -Wextra \ - -Wno-unused-parameter \ - -Wstrict-prototypes \ - -Iinclude \ - -Isrc \ - -Isrc/win \ - -DWIN32_LEAN_AND_MEAN \ - -D_WIN32_WINNT=0x0600 - -INCLUDES = include/stdint-msvc2008.h \ - include/tree.h \ - include/uv-errno.h \ - include/uv-threadpool.h \ - include/uv-version.h \ - include/uv-win.h \ - include/uv.h \ - src/heap-inl.h \ - src/queue.h \ - src/uv-common.h \ - src/win/atomicops-inl.h \ - src/win/handle-inl.h \ - src/win/internal.h \ - src/win/req-inl.h \ - src/win/stream-inl.h \ - src/win/winapi.h \ - src/win/winsock.h - -OBJS = src/fs-poll.o \ - src/inet.o \ - src/threadpool.o \ - src/uv-common.o \ - src/version.o \ - src/win/async.o \ - src/win/core.o \ - src/win/detect-wakeup.o \ - src/win/dl.o \ - src/win/error.o \ - src/win/fs-event.o \ - src/win/fs.o \ - src/win/getaddrinfo.o \ - src/win/getnameinfo.o \ - src/win/handle.o \ - src/win/loop-watcher.o \ - src/win/pipe.o \ - src/win/poll.o \ - src/win/process-stdio.o \ - src/win/process.o \ - src/win/req.o \ - src/win/signal.o \ - src/win/stream.o \ - src/win/tcp.o \ - src/win/thread.o \ - src/win/timer.o \ - src/win/tty.o \ - src/win/udp.o \ - src/win/util.o \ - src/win/winapi.o \ - src/win/winsock.o - -all: libuv.a - -clean: - -$(RM) $(OBJS) libuv.a - -libuv.a: $(OBJS) - $(AR) crs $@ $^ - -$(OBJS): %.o : %.c $(INCLUDES) - $(CC) $(CFLAGS) -c -o $@ $< diff --git a/deps/uv/README.md b/deps/uv/README.md index d42ada56a8267e..f6e7288dedd80d 100644 --- a/deps/uv/README.md +++ b/deps/uv/README.md @@ -169,6 +169,16 @@ $ make check $ make install ``` +To build with [CMake](https://cmake.org/): + +```bash +$ mkdir -p out/cmake ; cd out/cmake ; cmake -DBUILD_TESTING=ON ../.. +$ make all test +# Or manually: +$ ./uv_run_tests # shared library build +$ ./uv_run_tests_a # static library build +``` + To build with GYP, first run: ```bash diff --git a/deps/uv/checksparse.sh b/deps/uv/checksparse.sh index d8b50bc4fec5b8..91f130d4f5893c 100755 --- a/deps/uv/checksparse.sh +++ b/deps/uv/checksparse.sh @@ -26,8 +26,8 @@ SPARSE_FLAGS=${SPARSE_FLAGS:-" "} SOURCES=" -include/tree.h -include/uv-unix.h +include/uv/tree.h +include/uv/unix.h include/uv.h src/fs-poll.c src/inet.c @@ -113,6 +113,7 @@ test/test-homedir.c test/test-hrtime.c test/test-idle.c test/test-ip6-addr.c +test/test-ipc-heavy-traffic-deadlock-bug.c test/test-ipc-send-recv.c test/test-ipc.c test/test-loop-handles.c @@ -195,7 +196,7 @@ OS400) Darwin) SPARSE_FLAGS="$SPARSE_FLAGS -D__APPLE__=1" SOURCES="$SOURCES - include/uv-bsd.h + include/uv/bsd.h src/unix/darwin.c src/unix/kqueue.c src/unix/fsevents.c" @@ -203,21 +204,21 @@ Darwin) DragonFly) SPARSE_FLAGS="$SPARSE_FLAGS -D__DragonFly__=1" SOURCES="$SOURCES - include/uv-bsd.h + include/uv/bsd.h src/unix/kqueue.c src/unix/freebsd.c" ;; FreeBSD) SPARSE_FLAGS="$SPARSE_FLAGS -D__FreeBSD__=1" SOURCES="$SOURCES - include/uv-bsd.h + include/uv/bsd.h src/unix/kqueue.c src/unix/freebsd.c" ;; Linux) SPARSE_FLAGS="$SPARSE_FLAGS -D__linux__=1" SOURCES="$SOURCES - include/uv-linux.h + include/uv/linux.h src/unix/linux-inotify.c src/unix/linux-core.c src/unix/linux-syscalls.c @@ -226,21 +227,21 @@ Linux) NetBSD) SPARSE_FLAGS="$SPARSE_FLAGS -D__NetBSD__=1" SOURCES="$SOURCES - include/uv-bsd.h + include/uv/bsd.h src/unix/kqueue.c src/unix/netbsd.c" ;; OpenBSD) SPARSE_FLAGS="$SPARSE_FLAGS -D__OpenBSD__=1" SOURCES="$SOURCES - include/uv-bsd.h + include/uv/bsd.h src/unix/kqueue.c src/unix/openbsd.c" ;; SunOS) SPARSE_FLAGS="$SPARSE_FLAGS -D__sun=1" SOURCES="$SOURCES - include/uv-sunos.h + include/uv/sunos.h src/unix/sunos.c" ;; esac diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index 5178c60ba1938e..c3a6a7796904c8 100644 --- a/deps/uv/configure.ac +++ b/deps/uv/configure.ac @@ -13,7 +13,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libuv], [1.20.3], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.21.0], [https://github.com/libuv/libuv/issues]) AC_CONFIG_MACRO_DIR([m4]) m4_include([m4/libuv-extra-automake-flags.m4]) m4_include([m4/as_case.m4]) diff --git a/deps/uv/docs/src/conf.py b/deps/uv/docs/src/conf.py index c9b4ea38c310a5..f6f43253d364c5 100644 --- a/deps/uv/docs/src/conf.py +++ b/deps/uv/docs/src/conf.py @@ -18,7 +18,7 @@ def get_libuv_version(): - with open('../../include/uv-version.h') as f: + with open('../../include/uv/version.h') as f: data = f.read() try: m = re.search(r"""^#define UV_VERSION_MAJOR (\d+)$""", data, re.MULTILINE) diff --git a/deps/uv/docs/src/errors.rst b/deps/uv/docs/src/errors.rst index 4e30447bf1f896..7c3f95d760416f 100644 --- a/deps/uv/docs/src/errors.rst +++ b/deps/uv/docs/src/errors.rst @@ -323,6 +323,13 @@ Error constants API --- +.. c:function:: UV_ERRNO_MAP(iter_macro) + + Macro that expands to a series of invocations of `iter_macro` for + each of the error constants above. `iter_macro` is invoked with two + arguments: the name of the error constant without the `UV_` prefix, + and the error message string literal. + .. c:function:: const char* uv_strerror(int err) Returns the error message for the given error code. Leaks a few bytes diff --git a/deps/uv/docs/src/fs.rst b/deps/uv/docs/src/fs.rst index 8e8fc2f1d5d605..a390f1409d2f26 100644 --- a/deps/uv/docs/src/fs.rst +++ b/deps/uv/docs/src/fs.rst @@ -92,6 +92,7 @@ Data types UV_FS_READLINK, UV_FS_CHOWN, UV_FS_FCHOWN, + UV_FS_LCHOWN, UV_FS_REALPATH, UV_FS_COPYFILE } uv_fs_type; @@ -234,6 +235,10 @@ API Equivalent to :man:`fsync(2)`. + .. note:: + For AIX, `uv_fs_fsync` returns `UV_EBADF` on file descriptors referencing + non regular files. + .. c:function:: int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) Equivalent to :man:`fdatasync(2)`. @@ -345,12 +350,15 @@ API .. c:function:: int uv_fs_chown(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_uid_t uid, uv_gid_t gid, uv_fs_cb cb) .. c:function:: int uv_fs_fchown(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_uid_t uid, uv_gid_t gid, uv_fs_cb cb) +.. c:function:: int uv_fs_lchown(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_uid_t uid, uv_gid_t gid, uv_fs_cb cb) - Equivalent to :man:`chown(2)` and :man:`fchown(2)` respectively. + Equivalent to :man:`chown(2)`, :man:`fchown(2)` and :man:`lchown(2)` respectively. .. note:: These functions are not implemented on Windows. + .. versionchanged:: 1.21.0 implemented uv_fs_lchown + .. c:function:: uv_fs_type uv_fs_get_type(const uv_fs_t* req) Returns `req->fs_type`. diff --git a/deps/uv/docs/src/handle.rst b/deps/uv/docs/src/handle.rst index cdfb76bf8c8928..86fa811d3f7eed 100644 --- a/deps/uv/docs/src/handle.rst +++ b/deps/uv/docs/src/handle.rst @@ -101,6 +101,14 @@ Public members API --- +.. c:function:: UV_HANDLE_TYPE_MAP(iter_macro) + + Macro that expands to a series of invocations of `iter_macro` for + each of the handle types. `iter_macro` is invoked with two + arguments: the name of the `uv_handle_type` element without the + `UV_` prefix, and the name of the corresponding structure type + without the `uv_` prefix and `_t` suffix. + .. c:function:: int uv_is_active(const uv_handle_t* handle) Returns non-zero if the handle is active, zero if it's inactive. What diff --git a/deps/uv/docs/src/pipe.rst b/deps/uv/docs/src/pipe.rst index bdaeeba9d435d5..376d6117bbea75 100644 --- a/deps/uv/docs/src/pipe.rst +++ b/deps/uv/docs/src/pipe.rst @@ -21,7 +21,9 @@ Data types Public members ^^^^^^^^^^^^^^ -N/A +.. c:member:: int uv_pipe_t.ipc + + Whether this pipe is suitable for handle passing between processes. .. seealso:: The :c:type:`uv_stream_t` members also apply. diff --git a/deps/uv/docs/src/process.rst b/deps/uv/docs/src/process.rst index ecc3cbf34814eb..bc968554e149f2 100644 --- a/deps/uv/docs/src/process.rst +++ b/deps/uv/docs/src/process.rst @@ -109,6 +109,11 @@ Data types */ UV_READABLE_PIPE = 0x10, UV_WRITABLE_PIPE = 0x20 + /* + * Open the child pipe handle in overlapped mode on Windows. + * On Unix it is silently ignored. + */ + UV_OVERLAPPED_PIPE = 0x40 } uv_stdio_flags; diff --git a/deps/uv/docs/src/request.rst b/deps/uv/docs/src/request.rst index 54d9a2f30939da..56038287b2ae11 100644 --- a/deps/uv/docs/src/request.rst +++ b/deps/uv/docs/src/request.rst @@ -46,7 +46,6 @@ Public members UV_WORK, UV_GETADDRINFO, UV_GETNAMEINFO, - UV_REQ_TYPE_PRIVATE, UV_REQ_TYPE_MAX, } uv_req_type; @@ -54,6 +53,14 @@ Public members API --- +.. c:function:: UV_REQ_TYPE_MAP(iter_macro) + + Macro that expands to a series of invocations of `iter_macro` for + each of the request types. `iter_macro` is invoked with two + arguments: the name of the `uv_req_type` element without the `UV_` + prefix, and the name of the corresponding structure type without the + `uv_` prefix and `_t` suffix. + .. c:function:: int uv_cancel(uv_req_t* req) Cancel a pending request. Fails if the request is executing or has finished diff --git a/deps/uv/include/uv-errno.h b/deps/uv/include/uv-errno.h deleted file mode 100644 index aa4d4509f60dd1..00000000000000 --- a/deps/uv/include/uv-errno.h +++ /dev/null @@ -1,437 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#ifndef UV_ERRNO_H_ -#define UV_ERRNO_H_ - -#include -#if EDOM > 0 -# define UV__ERR(x) (-(x)) -#else -# define UV__ERR(x) (x) -#endif - -#define UV__EOF (-4095) -#define UV__UNKNOWN (-4094) - -#define UV__EAI_ADDRFAMILY (-3000) -#define UV__EAI_AGAIN (-3001) -#define UV__EAI_BADFLAGS (-3002) -#define UV__EAI_CANCELED (-3003) -#define UV__EAI_FAIL (-3004) -#define UV__EAI_FAMILY (-3005) -#define UV__EAI_MEMORY (-3006) -#define UV__EAI_NODATA (-3007) -#define UV__EAI_NONAME (-3008) -#define UV__EAI_OVERFLOW (-3009) -#define UV__EAI_SERVICE (-3010) -#define UV__EAI_SOCKTYPE (-3011) -#define UV__EAI_BADHINTS (-3013) -#define UV__EAI_PROTOCOL (-3014) - -/* Only map to the system errno on non-Windows platforms. It's apparently - * a fairly common practice for Windows programmers to redefine errno codes. - */ -#if defined(E2BIG) && !defined(_WIN32) -# define UV__E2BIG UV__ERR(E2BIG) -#else -# define UV__E2BIG (-4093) -#endif - -#if defined(EACCES) && !defined(_WIN32) -# define UV__EACCES UV__ERR(EACCES) -#else -# define UV__EACCES (-4092) -#endif - -#if defined(EADDRINUSE) && !defined(_WIN32) -# define UV__EADDRINUSE UV__ERR(EADDRINUSE) -#else -# define UV__EADDRINUSE (-4091) -#endif - -#if defined(EADDRNOTAVAIL) && !defined(_WIN32) -# define UV__EADDRNOTAVAIL UV__ERR(EADDRNOTAVAIL) -#else -# define UV__EADDRNOTAVAIL (-4090) -#endif - -#if defined(EAFNOSUPPORT) && !defined(_WIN32) -# define UV__EAFNOSUPPORT UV__ERR(EAFNOSUPPORT) -#else -# define UV__EAFNOSUPPORT (-4089) -#endif - -#if defined(EAGAIN) && !defined(_WIN32) -# define UV__EAGAIN UV__ERR(EAGAIN) -#else -# define UV__EAGAIN (-4088) -#endif - -#if defined(EALREADY) && !defined(_WIN32) -# define UV__EALREADY UV__ERR(EALREADY) -#else -# define UV__EALREADY (-4084) -#endif - -#if defined(EBADF) && !defined(_WIN32) -# define UV__EBADF UV__ERR(EBADF) -#else -# define UV__EBADF (-4083) -#endif - -#if defined(EBUSY) && !defined(_WIN32) -# define UV__EBUSY UV__ERR(EBUSY) -#else -# define UV__EBUSY (-4082) -#endif - -#if defined(ECANCELED) && !defined(_WIN32) -# define UV__ECANCELED UV__ERR(ECANCELED) -#else -# define UV__ECANCELED (-4081) -#endif - -#if defined(ECHARSET) && !defined(_WIN32) -# define UV__ECHARSET UV__ERR(ECHARSET) -#else -# define UV__ECHARSET (-4080) -#endif - -#if defined(ECONNABORTED) && !defined(_WIN32) -# define UV__ECONNABORTED UV__ERR(ECONNABORTED) -#else -# define UV__ECONNABORTED (-4079) -#endif - -#if defined(ECONNREFUSED) && !defined(_WIN32) -# define UV__ECONNREFUSED UV__ERR(ECONNREFUSED) -#else -# define UV__ECONNREFUSED (-4078) -#endif - -#if defined(ECONNRESET) && !defined(_WIN32) -# define UV__ECONNRESET UV__ERR(ECONNRESET) -#else -# define UV__ECONNRESET (-4077) -#endif - -#if defined(EDESTADDRREQ) && !defined(_WIN32) -# define UV__EDESTADDRREQ UV__ERR(EDESTADDRREQ) -#else -# define UV__EDESTADDRREQ (-4076) -#endif - -#if defined(EEXIST) && !defined(_WIN32) -# define UV__EEXIST UV__ERR(EEXIST) -#else -# define UV__EEXIST (-4075) -#endif - -#if defined(EFAULT) && !defined(_WIN32) -# define UV__EFAULT UV__ERR(EFAULT) -#else -# define UV__EFAULT (-4074) -#endif - -#if defined(EHOSTUNREACH) && !defined(_WIN32) -# define UV__EHOSTUNREACH UV__ERR(EHOSTUNREACH) -#else -# define UV__EHOSTUNREACH (-4073) -#endif - -#if defined(EINTR) && !defined(_WIN32) -# define UV__EINTR UV__ERR(EINTR) -#else -# define UV__EINTR (-4072) -#endif - -#if defined(EINVAL) && !defined(_WIN32) -# define UV__EINVAL UV__ERR(EINVAL) -#else -# define UV__EINVAL (-4071) -#endif - -#if defined(EIO) && !defined(_WIN32) -# define UV__EIO UV__ERR(EIO) -#else -# define UV__EIO (-4070) -#endif - -#if defined(EISCONN) && !defined(_WIN32) -# define UV__EISCONN UV__ERR(EISCONN) -#else -# define UV__EISCONN (-4069) -#endif - -#if defined(EISDIR) && !defined(_WIN32) -# define UV__EISDIR UV__ERR(EISDIR) -#else -# define UV__EISDIR (-4068) -#endif - -#if defined(ELOOP) && !defined(_WIN32) -# define UV__ELOOP UV__ERR(ELOOP) -#else -# define UV__ELOOP (-4067) -#endif - -#if defined(EMFILE) && !defined(_WIN32) -# define UV__EMFILE UV__ERR(EMFILE) -#else -# define UV__EMFILE (-4066) -#endif - -#if defined(EMSGSIZE) && !defined(_WIN32) -# define UV__EMSGSIZE UV__ERR(EMSGSIZE) -#else -# define UV__EMSGSIZE (-4065) -#endif - -#if defined(ENAMETOOLONG) && !defined(_WIN32) -# define UV__ENAMETOOLONG UV__ERR(ENAMETOOLONG) -#else -# define UV__ENAMETOOLONG (-4064) -#endif - -#if defined(ENETDOWN) && !defined(_WIN32) -# define UV__ENETDOWN UV__ERR(ENETDOWN) -#else -# define UV__ENETDOWN (-4063) -#endif - -#if defined(ENETUNREACH) && !defined(_WIN32) -# define UV__ENETUNREACH UV__ERR(ENETUNREACH) -#else -# define UV__ENETUNREACH (-4062) -#endif - -#if defined(ENFILE) && !defined(_WIN32) -# define UV__ENFILE UV__ERR(ENFILE) -#else -# define UV__ENFILE (-4061) -#endif - -#if defined(ENOBUFS) && !defined(_WIN32) -# define UV__ENOBUFS UV__ERR(ENOBUFS) -#else -# define UV__ENOBUFS (-4060) -#endif - -#if defined(ENODEV) && !defined(_WIN32) -# define UV__ENODEV UV__ERR(ENODEV) -#else -# define UV__ENODEV (-4059) -#endif - -#if defined(ENOENT) && !defined(_WIN32) -# define UV__ENOENT UV__ERR(ENOENT) -#else -# define UV__ENOENT (-4058) -#endif - -#if defined(ENOMEM) && !defined(_WIN32) -# define UV__ENOMEM UV__ERR(ENOMEM) -#else -# define UV__ENOMEM (-4057) -#endif - -#if defined(ENONET) && !defined(_WIN32) -# define UV__ENONET UV__ERR(ENONET) -#else -# define UV__ENONET (-4056) -#endif - -#if defined(ENOSPC) && !defined(_WIN32) -# define UV__ENOSPC UV__ERR(ENOSPC) -#else -# define UV__ENOSPC (-4055) -#endif - -#if defined(ENOSYS) && !defined(_WIN32) -# define UV__ENOSYS UV__ERR(ENOSYS) -#else -# define UV__ENOSYS (-4054) -#endif - -#if defined(ENOTCONN) && !defined(_WIN32) -# define UV__ENOTCONN UV__ERR(ENOTCONN) -#else -# define UV__ENOTCONN (-4053) -#endif - -#if defined(ENOTDIR) && !defined(_WIN32) -# define UV__ENOTDIR UV__ERR(ENOTDIR) -#else -# define UV__ENOTDIR (-4052) -#endif - -#if defined(ENOTEMPTY) && !defined(_WIN32) -# define UV__ENOTEMPTY UV__ERR(ENOTEMPTY) -#else -# define UV__ENOTEMPTY (-4051) -#endif - -#if defined(ENOTSOCK) && !defined(_WIN32) -# define UV__ENOTSOCK UV__ERR(ENOTSOCK) -#else -# define UV__ENOTSOCK (-4050) -#endif - -#if defined(ENOTSUP) && !defined(_WIN32) -# define UV__ENOTSUP UV__ERR(ENOTSUP) -#else -# define UV__ENOTSUP (-4049) -#endif - -#if defined(EPERM) && !defined(_WIN32) -# define UV__EPERM UV__ERR(EPERM) -#else -# define UV__EPERM (-4048) -#endif - -#if defined(EPIPE) && !defined(_WIN32) -# define UV__EPIPE UV__ERR(EPIPE) -#else -# define UV__EPIPE (-4047) -#endif - -#if defined(EPROTO) && !defined(_WIN32) -# define UV__EPROTO UV__ERR(EPROTO) -#else -# define UV__EPROTO UV__ERR(4046) -#endif - -#if defined(EPROTONOSUPPORT) && !defined(_WIN32) -# define UV__EPROTONOSUPPORT UV__ERR(EPROTONOSUPPORT) -#else -# define UV__EPROTONOSUPPORT (-4045) -#endif - -#if defined(EPROTOTYPE) && !defined(_WIN32) -# define UV__EPROTOTYPE UV__ERR(EPROTOTYPE) -#else -# define UV__EPROTOTYPE (-4044) -#endif - -#if defined(EROFS) && !defined(_WIN32) -# define UV__EROFS UV__ERR(EROFS) -#else -# define UV__EROFS (-4043) -#endif - -#if defined(ESHUTDOWN) && !defined(_WIN32) -# define UV__ESHUTDOWN UV__ERR(ESHUTDOWN) -#else -# define UV__ESHUTDOWN (-4042) -#endif - -#if defined(ESPIPE) && !defined(_WIN32) -# define UV__ESPIPE UV__ERR(ESPIPE) -#else -# define UV__ESPIPE (-4041) -#endif - -#if defined(ESRCH) && !defined(_WIN32) -# define UV__ESRCH UV__ERR(ESRCH) -#else -# define UV__ESRCH (-4040) -#endif - -#if defined(ETIMEDOUT) && !defined(_WIN32) -# define UV__ETIMEDOUT UV__ERR(ETIMEDOUT) -#else -# define UV__ETIMEDOUT (-4039) -#endif - -#if defined(ETXTBSY) && !defined(_WIN32) -# define UV__ETXTBSY UV__ERR(ETXTBSY) -#else -# define UV__ETXTBSY (-4038) -#endif - -#if defined(EXDEV) && !defined(_WIN32) -# define UV__EXDEV UV__ERR(EXDEV) -#else -# define UV__EXDEV (-4037) -#endif - -#if defined(EFBIG) && !defined(_WIN32) -# define UV__EFBIG UV__ERR(EFBIG) -#else -# define UV__EFBIG (-4036) -#endif - -#if defined(ENOPROTOOPT) && !defined(_WIN32) -# define UV__ENOPROTOOPT UV__ERR(ENOPROTOOPT) -#else -# define UV__ENOPROTOOPT (-4035) -#endif - -#if defined(ERANGE) && !defined(_WIN32) -# define UV__ERANGE UV__ERR(ERANGE) -#else -# define UV__ERANGE (-4034) -#endif - -#if defined(ENXIO) && !defined(_WIN32) -# define UV__ENXIO UV__ERR(ENXIO) -#else -# define UV__ENXIO (-4033) -#endif - -#if defined(EMLINK) && !defined(_WIN32) -# define UV__EMLINK UV__ERR(EMLINK) -#else -# define UV__EMLINK (-4032) -#endif - -/* EHOSTDOWN is not visible on BSD-like systems when _POSIX_C_SOURCE is - * defined. Fortunately, its value is always 64 so it's possible albeit - * icky to hard-code it. - */ -#if defined(EHOSTDOWN) && !defined(_WIN32) -# define UV__EHOSTDOWN UV__ERR(EHOSTDOWN) -#elif defined(__APPLE__) || \ - defined(__DragonFly__) || \ - defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ - defined(__NetBSD__) || \ - defined(__OpenBSD__) -# define UV__EHOSTDOWN (-64) -#else -# define UV__EHOSTDOWN (-4031) -#endif - -#if defined(EREMOTEIO) && !defined(_WIN32) -# define UV__EREMOTEIO UV__ERR(EREMOTEIO) -#else -# define UV__EREMOTEIO (-4030) -#endif - -#if defined(ENOTTY) && !defined(_WIN32) -# define UV__ENOTTY UV__ERR(ENOTTY) -#else -# define UV__ENOTTY (-4029) -#endif - - -#endif /* UV_ERRNO_H_ */ diff --git a/deps/uv/include/uv-unix.h b/deps/uv/include/uv-unix.h deleted file mode 100644 index 480a0691ea3e10..00000000000000 --- a/deps/uv/include/uv-unix.h +++ /dev/null @@ -1,464 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#ifndef UV_UNIX_H -#define UV_UNIX_H - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#if !defined(__MVS__) -#include -#endif -#include -#include - -#include "uv-threadpool.h" - -#if defined(__linux__) -# include "uv-linux.h" -#elif defined (__MVS__) -# include "uv-os390.h" -#elif defined(__PASE__) -# include "uv-posix.h" -#elif defined(_AIX) -# include "uv-aix.h" -#elif defined(__sun) -# include "uv-sunos.h" -#elif defined(__APPLE__) -# include "uv-darwin.h" -#elif defined(__DragonFly__) || \ - defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ - defined(__OpenBSD__) || \ - defined(__NetBSD__) -# include "uv-bsd.h" -#elif defined(__CYGWIN__) || defined(__MSYS__) -# include "uv-posix.h" -#endif - -#ifndef PTHREAD_BARRIER_SERIAL_THREAD -# include "pthread-barrier.h" -#endif - -#ifndef NI_MAXHOST -# define NI_MAXHOST 1025 -#endif - -#ifndef NI_MAXSERV -# define NI_MAXSERV 32 -#endif - -#ifndef UV_IO_PRIVATE_PLATFORM_FIELDS -# define UV_IO_PRIVATE_PLATFORM_FIELDS /* empty */ -#endif - -struct uv__io_s; -struct uv_loop_s; - -typedef void (*uv__io_cb)(struct uv_loop_s* loop, - struct uv__io_s* w, - unsigned int events); -typedef struct uv__io_s uv__io_t; - -struct uv__io_s { - uv__io_cb cb; - void* pending_queue[2]; - void* watcher_queue[2]; - unsigned int pevents; /* Pending event mask i.e. mask at next tick. */ - unsigned int events; /* Current event mask. */ - int fd; - UV_IO_PRIVATE_PLATFORM_FIELDS -}; - -#ifndef UV_PLATFORM_SEM_T -# define UV_PLATFORM_SEM_T sem_t -#endif - -#ifndef UV_PLATFORM_LOOP_FIELDS -# define UV_PLATFORM_LOOP_FIELDS /* empty */ -#endif - -#ifndef UV_PLATFORM_FS_EVENT_FIELDS -# define UV_PLATFORM_FS_EVENT_FIELDS /* empty */ -#endif - -#ifndef UV_STREAM_PRIVATE_PLATFORM_FIELDS -# define UV_STREAM_PRIVATE_PLATFORM_FIELDS /* empty */ -#endif - -/* Note: May be cast to struct iovec. See writev(2). */ -typedef struct uv_buf_t { - char* base; - size_t len; -} uv_buf_t; - -typedef int uv_file; -typedef int uv_os_sock_t; -typedef int uv_os_fd_t; -typedef pid_t uv_pid_t; - -#define UV_ONCE_INIT PTHREAD_ONCE_INIT - -typedef pthread_once_t uv_once_t; -typedef pthread_t uv_thread_t; -typedef pthread_mutex_t uv_mutex_t; -typedef pthread_rwlock_t uv_rwlock_t; -typedef UV_PLATFORM_SEM_T uv_sem_t; -typedef pthread_cond_t uv_cond_t; -typedef pthread_key_t uv_key_t; -typedef pthread_barrier_t uv_barrier_t; - - -/* Platform-specific definitions for uv_spawn support. */ -typedef gid_t uv_gid_t; -typedef uid_t uv_uid_t; - -typedef struct dirent uv__dirent_t; - -#if defined(DT_UNKNOWN) -# define HAVE_DIRENT_TYPES -# if defined(DT_REG) -# define UV__DT_FILE DT_REG -# else -# define UV__DT_FILE -1 -# endif -# if defined(DT_DIR) -# define UV__DT_DIR DT_DIR -# else -# define UV__DT_DIR -2 -# endif -# if defined(DT_LNK) -# define UV__DT_LINK DT_LNK -# else -# define UV__DT_LINK -3 -# endif -# if defined(DT_FIFO) -# define UV__DT_FIFO DT_FIFO -# else -# define UV__DT_FIFO -4 -# endif -# if defined(DT_SOCK) -# define UV__DT_SOCKET DT_SOCK -# else -# define UV__DT_SOCKET -5 -# endif -# if defined(DT_CHR) -# define UV__DT_CHAR DT_CHR -# else -# define UV__DT_CHAR -6 -# endif -# if defined(DT_BLK) -# define UV__DT_BLOCK DT_BLK -# else -# define UV__DT_BLOCK -7 -# endif -#endif - -/* Platform-specific definitions for uv_dlopen support. */ -#define UV_DYNAMIC /* empty */ - -typedef struct { - void* handle; - char* errmsg; -} uv_lib_t; - -#define UV_LOOP_PRIVATE_FIELDS \ - unsigned long flags; \ - int backend_fd; \ - void* pending_queue[2]; \ - void* watcher_queue[2]; \ - uv__io_t** watchers; \ - unsigned int nwatchers; \ - unsigned int nfds; \ - void* wq[2]; \ - uv_mutex_t wq_mutex; \ - uv_async_t wq_async; \ - uv_rwlock_t cloexec_lock; \ - uv_handle_t* closing_handles; \ - void* process_handles[2]; \ - void* prepare_handles[2]; \ - void* check_handles[2]; \ - void* idle_handles[2]; \ - void* async_handles[2]; \ - void (*async_unused)(void); /* TODO(bnoordhuis) Remove in libuv v2. */ \ - uv__io_t async_io_watcher; \ - int async_wfd; \ - struct { \ - void* min; \ - unsigned int nelts; \ - } timer_heap; \ - uint64_t timer_counter; \ - uint64_t time; \ - int signal_pipefd[2]; \ - uv__io_t signal_io_watcher; \ - uv_signal_t child_watcher; \ - int emfile_fd; \ - UV_PLATFORM_LOOP_FIELDS \ - -#define UV_REQ_TYPE_PRIVATE /* empty */ - -#define UV_REQ_PRIVATE_FIELDS /* empty */ - -#define UV_PRIVATE_REQ_TYPES /* empty */ - -#define UV_WRITE_PRIVATE_FIELDS \ - void* queue[2]; \ - unsigned int write_index; \ - uv_buf_t* bufs; \ - unsigned int nbufs; \ - int error; \ - uv_buf_t bufsml[4]; \ - -#define UV_CONNECT_PRIVATE_FIELDS \ - void* queue[2]; \ - -#define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */ - -#define UV_UDP_SEND_PRIVATE_FIELDS \ - void* queue[2]; \ - struct sockaddr_storage addr; \ - unsigned int nbufs; \ - uv_buf_t* bufs; \ - ssize_t status; \ - uv_udp_send_cb send_cb; \ - uv_buf_t bufsml[4]; \ - -#define UV_HANDLE_PRIVATE_FIELDS \ - uv_handle_t* next_closing; \ - unsigned int flags; \ - -#define UV_STREAM_PRIVATE_FIELDS \ - uv_connect_t *connect_req; \ - uv_shutdown_t *shutdown_req; \ - uv__io_t io_watcher; \ - void* write_queue[2]; \ - void* write_completed_queue[2]; \ - uv_connection_cb connection_cb; \ - int delayed_error; \ - int accepted_fd; \ - void* queued_fds; \ - UV_STREAM_PRIVATE_PLATFORM_FIELDS \ - -#define UV_TCP_PRIVATE_FIELDS /* empty */ - -#define UV_UDP_PRIVATE_FIELDS \ - uv_alloc_cb alloc_cb; \ - uv_udp_recv_cb recv_cb; \ - uv__io_t io_watcher; \ - void* write_queue[2]; \ - void* write_completed_queue[2]; \ - -#define UV_PIPE_PRIVATE_FIELDS \ - const char* pipe_fname; /* strdup'ed */ - -#define UV_POLL_PRIVATE_FIELDS \ - uv__io_t io_watcher; - -#define UV_PREPARE_PRIVATE_FIELDS \ - uv_prepare_cb prepare_cb; \ - void* queue[2]; \ - -#define UV_CHECK_PRIVATE_FIELDS \ - uv_check_cb check_cb; \ - void* queue[2]; \ - -#define UV_IDLE_PRIVATE_FIELDS \ - uv_idle_cb idle_cb; \ - void* queue[2]; \ - -#define UV_ASYNC_PRIVATE_FIELDS \ - uv_async_cb async_cb; \ - void* queue[2]; \ - int pending; \ - -#define UV_TIMER_PRIVATE_FIELDS \ - uv_timer_cb timer_cb; \ - void* heap_node[3]; \ - uint64_t timeout; \ - uint64_t repeat; \ - uint64_t start_id; - -#define UV_GETADDRINFO_PRIVATE_FIELDS \ - struct uv__work work_req; \ - uv_getaddrinfo_cb cb; \ - struct addrinfo* hints; \ - char* hostname; \ - char* service; \ - struct addrinfo* addrinfo; \ - int retcode; - -#define UV_GETNAMEINFO_PRIVATE_FIELDS \ - struct uv__work work_req; \ - uv_getnameinfo_cb getnameinfo_cb; \ - struct sockaddr_storage storage; \ - int flags; \ - char host[NI_MAXHOST]; \ - char service[NI_MAXSERV]; \ - int retcode; - -#define UV_PROCESS_PRIVATE_FIELDS \ - void* queue[2]; \ - int status; \ - -#define UV_FS_PRIVATE_FIELDS \ - const char *new_path; \ - uv_file file; \ - int flags; \ - mode_t mode; \ - unsigned int nbufs; \ - uv_buf_t* bufs; \ - off_t off; \ - uv_uid_t uid; \ - uv_gid_t gid; \ - double atime; \ - double mtime; \ - struct uv__work work_req; \ - uv_buf_t bufsml[4]; \ - -#define UV_WORK_PRIVATE_FIELDS \ - struct uv__work work_req; - -#define UV_TTY_PRIVATE_FIELDS \ - struct termios orig_termios; \ - int mode; - -#define UV_SIGNAL_PRIVATE_FIELDS \ - /* RB_ENTRY(uv_signal_s) tree_entry; */ \ - struct { \ - struct uv_signal_s* rbe_left; \ - struct uv_signal_s* rbe_right; \ - struct uv_signal_s* rbe_parent; \ - int rbe_color; \ - } tree_entry; \ - /* Use two counters here so we don have to fiddle with atomics. */ \ - unsigned int caught_signals; \ - unsigned int dispatched_signals; - -#define UV_FS_EVENT_PRIVATE_FIELDS \ - uv_fs_event_cb cb; \ - UV_PLATFORM_FS_EVENT_FIELDS \ - -/* fs open() flags supported on this platform: */ -#if defined(O_APPEND) -# define UV_FS_O_APPEND O_APPEND -#else -# define UV_FS_O_APPEND 0 -#endif -#if defined(O_CREAT) -# define UV_FS_O_CREAT O_CREAT -#else -# define UV_FS_O_CREAT 0 -#endif -#if defined(O_DIRECT) -# define UV_FS_O_DIRECT O_DIRECT -#else -# define UV_FS_O_DIRECT 0 -#endif -#if defined(O_DIRECTORY) -# define UV_FS_O_DIRECTORY O_DIRECTORY -#else -# define UV_FS_O_DIRECTORY 0 -#endif -#if defined(O_DSYNC) -# define UV_FS_O_DSYNC O_DSYNC -#else -# define UV_FS_O_DSYNC 0 -#endif -#if defined(O_EXCL) -# define UV_FS_O_EXCL O_EXCL -#else -# define UV_FS_O_EXCL 0 -#endif -#if defined(O_EXLOCK) -# define UV_FS_O_EXLOCK O_EXLOCK -#else -# define UV_FS_O_EXLOCK 0 -#endif -#if defined(O_NOATIME) -# define UV_FS_O_NOATIME O_NOATIME -#else -# define UV_FS_O_NOATIME 0 -#endif -#if defined(O_NOCTTY) -# define UV_FS_O_NOCTTY O_NOCTTY -#else -# define UV_FS_O_NOCTTY 0 -#endif -#if defined(O_NOFOLLOW) -# define UV_FS_O_NOFOLLOW O_NOFOLLOW -#else -# define UV_FS_O_NOFOLLOW 0 -#endif -#if defined(O_NONBLOCK) -# define UV_FS_O_NONBLOCK O_NONBLOCK -#else -# define UV_FS_O_NONBLOCK 0 -#endif -#if defined(O_RDONLY) -# define UV_FS_O_RDONLY O_RDONLY -#else -# define UV_FS_O_RDONLY 0 -#endif -#if defined(O_RDWR) -# define UV_FS_O_RDWR O_RDWR -#else -# define UV_FS_O_RDWR 0 -#endif -#if defined(O_SYMLINK) -# define UV_FS_O_SYMLINK O_SYMLINK -#else -# define UV_FS_O_SYMLINK 0 -#endif -#if defined(O_SYNC) -# define UV_FS_O_SYNC O_SYNC -#else -# define UV_FS_O_SYNC 0 -#endif -#if defined(O_TRUNC) -# define UV_FS_O_TRUNC O_TRUNC -#else -# define UV_FS_O_TRUNC 0 -#endif -#if defined(O_WRONLY) -# define UV_FS_O_WRONLY O_WRONLY -#else -# define UV_FS_O_WRONLY 0 -#endif - -/* fs open() flags supported on other platforms: */ -#define UV_FS_O_RANDOM 0 -#define UV_FS_O_SHORT_LIVED 0 -#define UV_FS_O_SEQUENTIAL 0 -#define UV_FS_O_TEMPORARY 0 - -#endif /* UV_UNIX_H */ diff --git a/deps/uv/include/uv-version.h b/deps/uv/include/uv-version.h deleted file mode 100644 index 75f2940cd46b3e..00000000000000 --- a/deps/uv/include/uv-version.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#ifndef UV_VERSION_H -#define UV_VERSION_H - - /* - * Versions with the same major number are ABI stable. API is allowed to - * evolve between minor releases, but only in a backwards compatible way. - * Make sure you update the -soname directives in configure.ac - * and uv.gyp whenever you bump UV_VERSION_MAJOR or UV_VERSION_MINOR (but - * not UV_VERSION_PATCH.) - */ - -#define UV_VERSION_MAJOR 1 -#define UV_VERSION_MINOR 20 -#define UV_VERSION_PATCH 3 -#define UV_VERSION_IS_RELEASE 1 -#define UV_VERSION_SUFFIX "" - -#define UV_VERSION_HEX ((UV_VERSION_MAJOR << 16) | \ - (UV_VERSION_MINOR << 8) | \ - (UV_VERSION_PATCH)) - -#endif /* UV_VERSION_H */ diff --git a/deps/uv/include/uv-win.h b/deps/uv/include/uv-win.h deleted file mode 100644 index 4c6c50a29c357e..00000000000000 --- a/deps/uv/include/uv-win.h +++ /dev/null @@ -1,676 +0,0 @@ -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0600 -#endif - -#if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) -typedef intptr_t ssize_t; -# define _SSIZE_T_ -# define _SSIZE_T_DEFINED -#endif - -#include - -#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) -typedef struct pollfd { - SOCKET fd; - short events; - short revents; -} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; -#endif - -#ifndef LOCALE_INVARIANT -# define LOCALE_INVARIANT 0x007f -#endif - -#include -#include -#include - -#include -#include -#include -#include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" -#else -# include -#endif - -#include "tree.h" -#include "uv-threadpool.h" - -#define MAX_PIPENAME_LEN 256 - -#ifndef S_IFLNK -# define S_IFLNK 0xA000 -#endif - -/* Additional signals supported by uv_signal and or uv_kill. The CRT defines - * the following signals already: - * - * #define SIGINT 2 - * #define SIGILL 4 - * #define SIGABRT_COMPAT 6 - * #define SIGFPE 8 - * #define SIGSEGV 11 - * #define SIGTERM 15 - * #define SIGBREAK 21 - * #define SIGABRT 22 - * - * The additional signals have values that are common on other Unix - * variants (Linux and Darwin) - */ -#define SIGHUP 1 -#define SIGKILL 9 -#define SIGWINCH 28 - -/* The CRT defines SIGABRT_COMPAT as 6, which equals SIGABRT on many */ -/* unix-like platforms. However MinGW doesn't define it, so we do. */ -#ifndef SIGABRT_COMPAT -# define SIGABRT_COMPAT 6 -#endif - -/* - * Guids and typedefs for winsock extension functions - * Mingw32 doesn't have these :-( - */ -#ifndef WSAID_ACCEPTEX -# define WSAID_ACCEPTEX \ - {0xb5367df1, 0xcbac, 0x11cf, \ - {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} - -# define WSAID_CONNECTEX \ - {0x25a207b9, 0xddf3, 0x4660, \ - {0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}} - -# define WSAID_GETACCEPTEXSOCKADDRS \ - {0xb5367df2, 0xcbac, 0x11cf, \ - {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} - -# define WSAID_DISCONNECTEX \ - {0x7fda2e11, 0x8630, 0x436f, \ - {0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}} - -# define WSAID_TRANSMITFILE \ - {0xb5367df0, 0xcbac, 0x11cf, \ - {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} - - typedef BOOL (PASCAL *LPFN_ACCEPTEX) - (SOCKET sListenSocket, - SOCKET sAcceptSocket, - PVOID lpOutputBuffer, - DWORD dwReceiveDataLength, - DWORD dwLocalAddressLength, - DWORD dwRemoteAddressLength, - LPDWORD lpdwBytesReceived, - LPOVERLAPPED lpOverlapped); - - typedef BOOL (PASCAL *LPFN_CONNECTEX) - (SOCKET s, - const struct sockaddr* name, - int namelen, - PVOID lpSendBuffer, - DWORD dwSendDataLength, - LPDWORD lpdwBytesSent, - LPOVERLAPPED lpOverlapped); - - typedef void (PASCAL *LPFN_GETACCEPTEXSOCKADDRS) - (PVOID lpOutputBuffer, - DWORD dwReceiveDataLength, - DWORD dwLocalAddressLength, - DWORD dwRemoteAddressLength, - LPSOCKADDR* LocalSockaddr, - LPINT LocalSockaddrLength, - LPSOCKADDR* RemoteSockaddr, - LPINT RemoteSockaddrLength); - - typedef BOOL (PASCAL *LPFN_DISCONNECTEX) - (SOCKET hSocket, - LPOVERLAPPED lpOverlapped, - DWORD dwFlags, - DWORD reserved); - - typedef BOOL (PASCAL *LPFN_TRANSMITFILE) - (SOCKET hSocket, - HANDLE hFile, - DWORD nNumberOfBytesToWrite, - DWORD nNumberOfBytesPerSend, - LPOVERLAPPED lpOverlapped, - LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, - DWORD dwFlags); - - typedef PVOID RTL_SRWLOCK; - typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; -#endif - -typedef int (WSAAPI* LPFN_WSARECV) - (SOCKET socket, - LPWSABUF buffers, - DWORD buffer_count, - LPDWORD bytes, - LPDWORD flags, - LPWSAOVERLAPPED overlapped, - LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); - -typedef int (WSAAPI* LPFN_WSARECVFROM) - (SOCKET socket, - LPWSABUF buffers, - DWORD buffer_count, - LPDWORD bytes, - LPDWORD flags, - struct sockaddr* addr, - LPINT addr_len, - LPWSAOVERLAPPED overlapped, - LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); - -#ifndef _NTDEF_ - typedef LONG NTSTATUS; - typedef NTSTATUS *PNTSTATUS; -#endif - -#ifndef RTL_CONDITION_VARIABLE_INIT - typedef PVOID CONDITION_VARIABLE, *PCONDITION_VARIABLE; -#endif - -typedef struct _AFD_POLL_HANDLE_INFO { - HANDLE Handle; - ULONG Events; - NTSTATUS Status; -} AFD_POLL_HANDLE_INFO, *PAFD_POLL_HANDLE_INFO; - -typedef struct _AFD_POLL_INFO { - LARGE_INTEGER Timeout; - ULONG NumberOfHandles; - ULONG Exclusive; - AFD_POLL_HANDLE_INFO Handles[1]; -} AFD_POLL_INFO, *PAFD_POLL_INFO; - -#define UV_MSAFD_PROVIDER_COUNT 3 - - -/** - * It should be possible to cast uv_buf_t[] to WSABUF[] - * see http://msdn.microsoft.com/en-us/library/ms741542(v=vs.85).aspx - */ -typedef struct uv_buf_t { - ULONG len; - char* base; -} uv_buf_t; - -typedef int uv_file; -typedef SOCKET uv_os_sock_t; -typedef HANDLE uv_os_fd_t; -typedef int uv_pid_t; - -typedef HANDLE uv_thread_t; - -typedef HANDLE uv_sem_t; - -typedef CRITICAL_SECTION uv_mutex_t; - -/* This condition variable implementation is based on the SetEvent solution - * (section 3.2) at http://www.cs.wustl.edu/~schmidt/win32-cv-1.html - * We could not use the SignalObjectAndWait solution (section 3.4) because - * it want the 2nd argument (type uv_mutex_t) of uv_cond_wait() and - * uv_cond_timedwait() to be HANDLEs, but we use CRITICAL_SECTIONs. - */ - -typedef union { - CONDITION_VARIABLE cond_var; - struct { - unsigned int waiters_count; - CRITICAL_SECTION waiters_count_lock; - HANDLE signal_event; - HANDLE broadcast_event; - } fallback; -} uv_cond_t; - -typedef union { - struct { - unsigned int num_readers_; - CRITICAL_SECTION num_readers_lock_; - HANDLE write_semaphore_; - } state_; - /* TODO: remove me in v2.x. */ - struct { - SRWLOCK unused_; - } unused1_; - /* TODO: remove me in v2.x. */ - struct { - uv_mutex_t unused1_; - uv_mutex_t unused2_; - } unused2_; -} uv_rwlock_t; - -typedef struct { - unsigned int n; - unsigned int count; - uv_mutex_t mutex; - uv_sem_t turnstile1; - uv_sem_t turnstile2; -} uv_barrier_t; - -typedef struct { - DWORD tls_index; -} uv_key_t; - -#define UV_ONCE_INIT { 0, NULL } - -typedef struct uv_once_s { - unsigned char ran; - HANDLE event; -} uv_once_t; - -/* Platform-specific definitions for uv_spawn support. */ -typedef unsigned char uv_uid_t; -typedef unsigned char uv_gid_t; - -typedef struct uv__dirent_s { - int d_type; - char d_name[1]; -} uv__dirent_t; - -#define HAVE_DIRENT_TYPES -#define UV__DT_DIR UV_DIRENT_DIR -#define UV__DT_FILE UV_DIRENT_FILE -#define UV__DT_LINK UV_DIRENT_LINK -#define UV__DT_FIFO UV_DIRENT_FIFO -#define UV__DT_SOCKET UV_DIRENT_SOCKET -#define UV__DT_CHAR UV_DIRENT_CHAR -#define UV__DT_BLOCK UV_DIRENT_BLOCK - -/* Platform-specific definitions for uv_dlopen support. */ -#define UV_DYNAMIC FAR WINAPI -typedef struct { - HMODULE handle; - char* errmsg; -} uv_lib_t; - -RB_HEAD(uv_timer_tree_s, uv_timer_s); - -#define UV_LOOP_PRIVATE_FIELDS \ - /* The loop's I/O completion port */ \ - HANDLE iocp; \ - /* The current time according to the event loop. in msecs. */ \ - uint64_t time; \ - /* Tail of a single-linked circular queue of pending reqs. If the queue */ \ - /* is empty, tail_ is NULL. If there is only one item, */ \ - /* tail_->next_req == tail_ */ \ - uv_req_t* pending_reqs_tail; \ - /* Head of a single-linked list of closed handles */ \ - uv_handle_t* endgame_handles; \ - /* The head of the timers tree */ \ - struct uv_timer_tree_s timers; \ - /* Lists of active loop (prepare / check / idle) watchers */ \ - uv_prepare_t* prepare_handles; \ - uv_check_t* check_handles; \ - uv_idle_t* idle_handles; \ - /* This pointer will refer to the prepare/check/idle handle whose */ \ - /* callback is scheduled to be called next. This is needed to allow */ \ - /* safe removal from one of the lists above while that list being */ \ - /* iterated over. */ \ - uv_prepare_t* next_prepare_handle; \ - uv_check_t* next_check_handle; \ - uv_idle_t* next_idle_handle; \ - /* This handle holds the peer sockets for the fast variant of uv_poll_t */ \ - SOCKET poll_peer_sockets[UV_MSAFD_PROVIDER_COUNT]; \ - /* Counter to keep track of active tcp streams */ \ - unsigned int active_tcp_streams; \ - /* Counter to keep track of active udp streams */ \ - unsigned int active_udp_streams; \ - /* Counter to started timer */ \ - uint64_t timer_counter; \ - /* Threadpool */ \ - void* wq[2]; \ - uv_mutex_t wq_mutex; \ - uv_async_t wq_async; - -#define UV_REQ_TYPE_PRIVATE \ - /* TODO: remove the req suffix */ \ - UV_ACCEPT, \ - UV_FS_EVENT_REQ, \ - UV_POLL_REQ, \ - UV_PROCESS_EXIT, \ - UV_READ, \ - UV_UDP_RECV, \ - UV_WAKEUP, \ - UV_SIGNAL_REQ, - -#define UV_REQ_PRIVATE_FIELDS \ - union { \ - /* Used by I/O operations */ \ - struct { \ - OVERLAPPED overlapped; \ - size_t queued_bytes; \ - } io; \ - } u; \ - struct uv_req_s* next_req; - -#define UV_WRITE_PRIVATE_FIELDS \ - int ipc_header; \ - uv_buf_t write_buffer; \ - HANDLE event_handle; \ - HANDLE wait_handle; - -#define UV_CONNECT_PRIVATE_FIELDS \ - /* empty */ - -#define UV_SHUTDOWN_PRIVATE_FIELDS \ - /* empty */ - -#define UV_UDP_SEND_PRIVATE_FIELDS \ - /* empty */ - -#define UV_PRIVATE_REQ_TYPES \ - typedef struct uv_pipe_accept_s { \ - UV_REQ_FIELDS \ - HANDLE pipeHandle; \ - struct uv_pipe_accept_s* next_pending; \ - } uv_pipe_accept_t; \ - \ - typedef struct uv_tcp_accept_s { \ - UV_REQ_FIELDS \ - SOCKET accept_socket; \ - char accept_buffer[sizeof(struct sockaddr_storage) * 2 + 32]; \ - HANDLE event_handle; \ - HANDLE wait_handle; \ - struct uv_tcp_accept_s* next_pending; \ - } uv_tcp_accept_t; \ - \ - typedef struct uv_read_s { \ - UV_REQ_FIELDS \ - HANDLE event_handle; \ - HANDLE wait_handle; \ - } uv_read_t; - -#define uv_stream_connection_fields \ - unsigned int write_reqs_pending; \ - uv_shutdown_t* shutdown_req; - -#define uv_stream_server_fields \ - uv_connection_cb connection_cb; - -#define UV_STREAM_PRIVATE_FIELDS \ - unsigned int reqs_pending; \ - int activecnt; \ - uv_read_t read_req; \ - union { \ - struct { uv_stream_connection_fields } conn; \ - struct { uv_stream_server_fields } serv; \ - } stream; - -#define uv_tcp_server_fields \ - uv_tcp_accept_t* accept_reqs; \ - unsigned int processed_accepts; \ - uv_tcp_accept_t* pending_accepts; \ - LPFN_ACCEPTEX func_acceptex; - -#define uv_tcp_connection_fields \ - uv_buf_t read_buffer; \ - LPFN_CONNECTEX func_connectex; - -#define UV_TCP_PRIVATE_FIELDS \ - SOCKET socket; \ - int delayed_error; \ - union { \ - struct { uv_tcp_server_fields } serv; \ - struct { uv_tcp_connection_fields } conn; \ - } tcp; - -#define UV_UDP_PRIVATE_FIELDS \ - SOCKET socket; \ - unsigned int reqs_pending; \ - int activecnt; \ - uv_req_t recv_req; \ - uv_buf_t recv_buffer; \ - struct sockaddr_storage recv_from; \ - int recv_from_len; \ - uv_udp_recv_cb recv_cb; \ - uv_alloc_cb alloc_cb; \ - LPFN_WSARECV func_wsarecv; \ - LPFN_WSARECVFROM func_wsarecvfrom; - -#define uv_pipe_server_fields \ - int pending_instances; \ - uv_pipe_accept_t* accept_reqs; \ - uv_pipe_accept_t* pending_accepts; - -#define uv_pipe_connection_fields \ - uv_timer_t* eof_timer; \ - uv_write_t ipc_header_write_req; \ - int ipc_pid; \ - uint64_t remaining_ipc_rawdata_bytes; \ - struct { \ - void* queue[2]; \ - int queue_len; \ - } pending_ipc_info; \ - uv_write_t* non_overlapped_writes_tail; \ - uv_mutex_t readfile_mutex; \ - volatile HANDLE readfile_thread; - -#define UV_PIPE_PRIVATE_FIELDS \ - HANDLE handle; \ - WCHAR* name; \ - union { \ - struct { uv_pipe_server_fields } serv; \ - struct { uv_pipe_connection_fields } conn; \ - } pipe; - -/* TODO: put the parser states in an union - TTY handles are always */ -/* half-duplex so read-state can safely overlap write-state. */ -#define UV_TTY_PRIVATE_FIELDS \ - HANDLE handle; \ - union { \ - struct { \ - /* Used for readable TTY handles */ \ - /* TODO: remove me in v2.x. */ \ - HANDLE unused_; \ - uv_buf_t read_line_buffer; \ - HANDLE read_raw_wait; \ - /* Fields used for translating win keystrokes into vt100 characters */ \ - char last_key[8]; \ - unsigned char last_key_offset; \ - unsigned char last_key_len; \ - WCHAR last_utf16_high_surrogate; \ - INPUT_RECORD last_input_record; \ - } rd; \ - struct { \ - /* Used for writable TTY handles */ \ - /* utf8-to-utf16 conversion state */ \ - unsigned int utf8_codepoint; \ - unsigned char utf8_bytes_left; \ - /* eol conversion state */ \ - unsigned char previous_eol; \ - /* ansi parser state */ \ - unsigned char ansi_parser_state; \ - unsigned char ansi_csi_argc; \ - unsigned short ansi_csi_argv[4]; \ - COORD saved_position; \ - WORD saved_attributes; \ - } wr; \ - } tty; - -#define UV_POLL_PRIVATE_FIELDS \ - SOCKET socket; \ - /* Used in fast mode */ \ - SOCKET peer_socket; \ - AFD_POLL_INFO afd_poll_info_1; \ - AFD_POLL_INFO afd_poll_info_2; \ - /* Used in fast and slow mode. */ \ - uv_req_t poll_req_1; \ - uv_req_t poll_req_2; \ - unsigned char submitted_events_1; \ - unsigned char submitted_events_2; \ - unsigned char mask_events_1; \ - unsigned char mask_events_2; \ - unsigned char events; - -#define UV_TIMER_PRIVATE_FIELDS \ - RB_ENTRY(uv_timer_s) tree_entry; \ - uint64_t due; \ - uint64_t repeat; \ - uint64_t start_id; \ - uv_timer_cb timer_cb; - -#define UV_ASYNC_PRIVATE_FIELDS \ - struct uv_req_s async_req; \ - uv_async_cb async_cb; \ - /* char to avoid alignment issues */ \ - char volatile async_sent; - -#define UV_PREPARE_PRIVATE_FIELDS \ - uv_prepare_t* prepare_prev; \ - uv_prepare_t* prepare_next; \ - uv_prepare_cb prepare_cb; - -#define UV_CHECK_PRIVATE_FIELDS \ - uv_check_t* check_prev; \ - uv_check_t* check_next; \ - uv_check_cb check_cb; - -#define UV_IDLE_PRIVATE_FIELDS \ - uv_idle_t* idle_prev; \ - uv_idle_t* idle_next; \ - uv_idle_cb idle_cb; - -#define UV_HANDLE_PRIVATE_FIELDS \ - uv_handle_t* endgame_next; \ - unsigned int flags; - -#define UV_GETADDRINFO_PRIVATE_FIELDS \ - struct uv__work work_req; \ - uv_getaddrinfo_cb getaddrinfo_cb; \ - void* alloc; \ - WCHAR* node; \ - WCHAR* service; \ - /* The addrinfoW field is used to store a pointer to the hints, and */ \ - /* later on to store the result of GetAddrInfoW. The final result will */ \ - /* be converted to struct addrinfo* and stored in the addrinfo field. */ \ - struct addrinfoW* addrinfow; \ - struct addrinfo* addrinfo; \ - int retcode; - -#define UV_GETNAMEINFO_PRIVATE_FIELDS \ - struct uv__work work_req; \ - uv_getnameinfo_cb getnameinfo_cb; \ - struct sockaddr_storage storage; \ - int flags; \ - char host[NI_MAXHOST]; \ - char service[NI_MAXSERV]; \ - int retcode; - -#define UV_PROCESS_PRIVATE_FIELDS \ - struct uv_process_exit_s { \ - UV_REQ_FIELDS \ - } exit_req; \ - BYTE* child_stdio_buffer; \ - int exit_signal; \ - HANDLE wait_handle; \ - HANDLE process_handle; \ - volatile char exit_cb_pending; - -#define UV_FS_PRIVATE_FIELDS \ - struct uv__work work_req; \ - int flags; \ - DWORD sys_errno_; \ - union { \ - /* TODO: remove me in 0.9. */ \ - WCHAR* pathw; \ - int fd; \ - } file; \ - union { \ - struct { \ - int mode; \ - WCHAR* new_pathw; \ - int file_flags; \ - int fd_out; \ - unsigned int nbufs; \ - uv_buf_t* bufs; \ - int64_t offset; \ - uv_buf_t bufsml[4]; \ - } info; \ - struct { \ - double atime; \ - double mtime; \ - } time; \ - } fs; - -#define UV_WORK_PRIVATE_FIELDS \ - struct uv__work work_req; - -#define UV_FS_EVENT_PRIVATE_FIELDS \ - struct uv_fs_event_req_s { \ - UV_REQ_FIELDS \ - } req; \ - HANDLE dir_handle; \ - int req_pending; \ - uv_fs_event_cb cb; \ - WCHAR* filew; \ - WCHAR* short_filew; \ - WCHAR* dirw; \ - char* buffer; - -#define UV_SIGNAL_PRIVATE_FIELDS \ - RB_ENTRY(uv_signal_s) tree_entry; \ - struct uv_req_s signal_req; \ - unsigned long pending_signum; - -#ifndef F_OK -#define F_OK 0 -#endif -#ifndef R_OK -#define R_OK 4 -#endif -#ifndef W_OK -#define W_OK 2 -#endif -#ifndef X_OK -#define X_OK 1 -#endif - -/* fs open() flags supported on this platform: */ -#define UV_FS_O_APPEND _O_APPEND -#define UV_FS_O_CREAT _O_CREAT -#define UV_FS_O_EXCL _O_EXCL -#define UV_FS_O_RANDOM _O_RANDOM -#define UV_FS_O_RDONLY _O_RDONLY -#define UV_FS_O_RDWR _O_RDWR -#define UV_FS_O_SEQUENTIAL _O_SEQUENTIAL -#define UV_FS_O_SHORT_LIVED _O_SHORT_LIVED -#define UV_FS_O_TEMPORARY _O_TEMPORARY -#define UV_FS_O_TRUNC _O_TRUNC -#define UV_FS_O_WRONLY _O_WRONLY - -/* fs open() flags supported on other platforms (or mapped on this platform): */ -#define UV_FS_O_DIRECT 0x02000000 /* FILE_FLAG_NO_BUFFERING */ -#define UV_FS_O_DIRECTORY 0 -#define UV_FS_O_DSYNC 0x04000000 /* FILE_FLAG_WRITE_THROUGH */ -#define UV_FS_O_EXLOCK 0x10000000 /* EXCLUSIVE SHARING MODE */ -#define UV_FS_O_NOATIME 0 -#define UV_FS_O_NOCTTY 0 -#define UV_FS_O_NOFOLLOW 0 -#define UV_FS_O_NONBLOCK 0 -#define UV_FS_O_SYMLINK 0 -#define UV_FS_O_SYNC 0x08000000 /* FILE_FLAG_WRITE_THROUGH */ diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h index 41fad45108ba23..91451ada7885c2 100644 --- a/deps/uv/include/uv.h +++ b/deps/uv/include/uv.h @@ -45,21 +45,21 @@ extern "C" { # define UV_EXTERN /* nothing */ #endif -#include "uv-errno.h" -#include "uv-version.h" +#include "uv/errno.h" +#include "uv/version.h" #include #include #if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" +# include "uv/stdint-msvc2008.h" #else # include #endif #if defined(_WIN32) -# include "uv-win.h" +# include "uv/win.h" #else -# include "uv-unix.h" +# include "uv/unix.h" #endif /* Expand this list if necessary. */ @@ -142,6 +142,7 @@ extern "C" { XX(EHOSTDOWN, "host is down") \ XX(EREMOTEIO, "remote I/O error") \ XX(ENOTTY, "inappropriate ioctl for device") \ + XX(EFTYPE, "inappropriate file type or format") \ #define UV_HANDLE_TYPE_MAP(XX) \ XX(ASYNC, async) \ @@ -503,7 +504,7 @@ UV_EXTERN int uv_try_write(uv_stream_t* handle, struct uv_write_s { UV_REQ_FIELDS uv_write_cb cb; - uv_stream_t* send_handle; + uv_stream_t* send_handle; /* TODO: make private and unix-only in v2.x. */ uv_stream_t* handle; UV_WRITE_PRIVATE_FIELDS }; @@ -865,7 +866,13 @@ typedef enum { * flags may be specified to create a duplex data stream. */ UV_READABLE_PIPE = 0x10, - UV_WRITABLE_PIPE = 0x20 + UV_WRITABLE_PIPE = 0x20, + + /* + * Open the child pipe handle in overlapped mode on Windows. + * On Unix it is silently ignored. + */ + UV_OVERLAPPED_PIPE = 0x40 } uv_stdio_flags; typedef struct uv_stdio_container_s { @@ -997,16 +1004,18 @@ UV_EXTERN int uv_queue_work(uv_loop_t* loop, UV_EXTERN int uv_cancel(uv_req_t* req); +struct uv_cpu_times_s { + uint64_t user; + uint64_t nice; + uint64_t sys; + uint64_t idle; + uint64_t irq; +}; + struct uv_cpu_info_s { char* model; int speed; - struct uv_cpu_times_s { - uint64_t user; - uint64_t nice; - uint64_t sys; - uint64_t idle; - uint64_t irq; - } cpu_times; + struct uv_cpu_times_s cpu_times; }; struct uv_interface_address_s { @@ -1132,6 +1141,7 @@ typedef enum { UV_FS_READLINK, UV_FS_CHOWN, UV_FS_FCHOWN, + UV_FS_LCHOWN, UV_FS_REALPATH, UV_FS_COPYFILE } uv_fs_type; @@ -1336,6 +1346,12 @@ UV_EXTERN int uv_fs_fchown(uv_loop_t* loop, uv_uid_t uid, uv_gid_t gid, uv_fs_cb cb); +UV_EXTERN int uv_fs_lchown(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_uid_t uid, + uv_gid_t gid, + uv_fs_cb cb); enum uv_fs_event { diff --git a/deps/uv/include/uv-aix.h b/deps/uv/include/uv/aix.h similarity index 100% rename from deps/uv/include/uv-aix.h rename to deps/uv/include/uv/aix.h diff --git a/deps/uv/include/android-ifaddrs.h b/deps/uv/include/uv/android-ifaddrs.h similarity index 100% rename from deps/uv/include/android-ifaddrs.h rename to deps/uv/include/uv/android-ifaddrs.h diff --git a/deps/uv/include/uv-bsd.h b/deps/uv/include/uv/bsd.h similarity index 100% rename from deps/uv/include/uv-bsd.h rename to deps/uv/include/uv/bsd.h diff --git a/deps/uv/include/uv-darwin.h b/deps/uv/include/uv/darwin.h similarity index 100% rename from deps/uv/include/uv-darwin.h rename to deps/uv/include/uv/darwin.h diff --git a/deps/uv/include/uv/errno.h b/deps/uv/include/uv/errno.h new file mode 100644 index 00000000000000..8eeb95de31b065 --- /dev/null +++ b/deps/uv/include/uv/errno.h @@ -0,0 +1,443 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef UV_ERRNO_H_ +#define UV_ERRNO_H_ + +#include +#if EDOM > 0 +# define UV__ERR(x) (-(x)) +#else +# define UV__ERR(x) (x) +#endif + +#define UV__EOF (-4095) +#define UV__UNKNOWN (-4094) + +#define UV__EAI_ADDRFAMILY (-3000) +#define UV__EAI_AGAIN (-3001) +#define UV__EAI_BADFLAGS (-3002) +#define UV__EAI_CANCELED (-3003) +#define UV__EAI_FAIL (-3004) +#define UV__EAI_FAMILY (-3005) +#define UV__EAI_MEMORY (-3006) +#define UV__EAI_NODATA (-3007) +#define UV__EAI_NONAME (-3008) +#define UV__EAI_OVERFLOW (-3009) +#define UV__EAI_SERVICE (-3010) +#define UV__EAI_SOCKTYPE (-3011) +#define UV__EAI_BADHINTS (-3013) +#define UV__EAI_PROTOCOL (-3014) + +/* Only map to the system errno on non-Windows platforms. It's apparently + * a fairly common practice for Windows programmers to redefine errno codes. + */ +#if defined(E2BIG) && !defined(_WIN32) +# define UV__E2BIG UV__ERR(E2BIG) +#else +# define UV__E2BIG (-4093) +#endif + +#if defined(EACCES) && !defined(_WIN32) +# define UV__EACCES UV__ERR(EACCES) +#else +# define UV__EACCES (-4092) +#endif + +#if defined(EADDRINUSE) && !defined(_WIN32) +# define UV__EADDRINUSE UV__ERR(EADDRINUSE) +#else +# define UV__EADDRINUSE (-4091) +#endif + +#if defined(EADDRNOTAVAIL) && !defined(_WIN32) +# define UV__EADDRNOTAVAIL UV__ERR(EADDRNOTAVAIL) +#else +# define UV__EADDRNOTAVAIL (-4090) +#endif + +#if defined(EAFNOSUPPORT) && !defined(_WIN32) +# define UV__EAFNOSUPPORT UV__ERR(EAFNOSUPPORT) +#else +# define UV__EAFNOSUPPORT (-4089) +#endif + +#if defined(EAGAIN) && !defined(_WIN32) +# define UV__EAGAIN UV__ERR(EAGAIN) +#else +# define UV__EAGAIN (-4088) +#endif + +#if defined(EALREADY) && !defined(_WIN32) +# define UV__EALREADY UV__ERR(EALREADY) +#else +# define UV__EALREADY (-4084) +#endif + +#if defined(EBADF) && !defined(_WIN32) +# define UV__EBADF UV__ERR(EBADF) +#else +# define UV__EBADF (-4083) +#endif + +#if defined(EBUSY) && !defined(_WIN32) +# define UV__EBUSY UV__ERR(EBUSY) +#else +# define UV__EBUSY (-4082) +#endif + +#if defined(ECANCELED) && !defined(_WIN32) +# define UV__ECANCELED UV__ERR(ECANCELED) +#else +# define UV__ECANCELED (-4081) +#endif + +#if defined(ECHARSET) && !defined(_WIN32) +# define UV__ECHARSET UV__ERR(ECHARSET) +#else +# define UV__ECHARSET (-4080) +#endif + +#if defined(ECONNABORTED) && !defined(_WIN32) +# define UV__ECONNABORTED UV__ERR(ECONNABORTED) +#else +# define UV__ECONNABORTED (-4079) +#endif + +#if defined(ECONNREFUSED) && !defined(_WIN32) +# define UV__ECONNREFUSED UV__ERR(ECONNREFUSED) +#else +# define UV__ECONNREFUSED (-4078) +#endif + +#if defined(ECONNRESET) && !defined(_WIN32) +# define UV__ECONNRESET UV__ERR(ECONNRESET) +#else +# define UV__ECONNRESET (-4077) +#endif + +#if defined(EDESTADDRREQ) && !defined(_WIN32) +# define UV__EDESTADDRREQ UV__ERR(EDESTADDRREQ) +#else +# define UV__EDESTADDRREQ (-4076) +#endif + +#if defined(EEXIST) && !defined(_WIN32) +# define UV__EEXIST UV__ERR(EEXIST) +#else +# define UV__EEXIST (-4075) +#endif + +#if defined(EFAULT) && !defined(_WIN32) +# define UV__EFAULT UV__ERR(EFAULT) +#else +# define UV__EFAULT (-4074) +#endif + +#if defined(EHOSTUNREACH) && !defined(_WIN32) +# define UV__EHOSTUNREACH UV__ERR(EHOSTUNREACH) +#else +# define UV__EHOSTUNREACH (-4073) +#endif + +#if defined(EINTR) && !defined(_WIN32) +# define UV__EINTR UV__ERR(EINTR) +#else +# define UV__EINTR (-4072) +#endif + +#if defined(EINVAL) && !defined(_WIN32) +# define UV__EINVAL UV__ERR(EINVAL) +#else +# define UV__EINVAL (-4071) +#endif + +#if defined(EIO) && !defined(_WIN32) +# define UV__EIO UV__ERR(EIO) +#else +# define UV__EIO (-4070) +#endif + +#if defined(EISCONN) && !defined(_WIN32) +# define UV__EISCONN UV__ERR(EISCONN) +#else +# define UV__EISCONN (-4069) +#endif + +#if defined(EISDIR) && !defined(_WIN32) +# define UV__EISDIR UV__ERR(EISDIR) +#else +# define UV__EISDIR (-4068) +#endif + +#if defined(ELOOP) && !defined(_WIN32) +# define UV__ELOOP UV__ERR(ELOOP) +#else +# define UV__ELOOP (-4067) +#endif + +#if defined(EMFILE) && !defined(_WIN32) +# define UV__EMFILE UV__ERR(EMFILE) +#else +# define UV__EMFILE (-4066) +#endif + +#if defined(EMSGSIZE) && !defined(_WIN32) +# define UV__EMSGSIZE UV__ERR(EMSGSIZE) +#else +# define UV__EMSGSIZE (-4065) +#endif + +#if defined(ENAMETOOLONG) && !defined(_WIN32) +# define UV__ENAMETOOLONG UV__ERR(ENAMETOOLONG) +#else +# define UV__ENAMETOOLONG (-4064) +#endif + +#if defined(ENETDOWN) && !defined(_WIN32) +# define UV__ENETDOWN UV__ERR(ENETDOWN) +#else +# define UV__ENETDOWN (-4063) +#endif + +#if defined(ENETUNREACH) && !defined(_WIN32) +# define UV__ENETUNREACH UV__ERR(ENETUNREACH) +#else +# define UV__ENETUNREACH (-4062) +#endif + +#if defined(ENFILE) && !defined(_WIN32) +# define UV__ENFILE UV__ERR(ENFILE) +#else +# define UV__ENFILE (-4061) +#endif + +#if defined(ENOBUFS) && !defined(_WIN32) +# define UV__ENOBUFS UV__ERR(ENOBUFS) +#else +# define UV__ENOBUFS (-4060) +#endif + +#if defined(ENODEV) && !defined(_WIN32) +# define UV__ENODEV UV__ERR(ENODEV) +#else +# define UV__ENODEV (-4059) +#endif + +#if defined(ENOENT) && !defined(_WIN32) +# define UV__ENOENT UV__ERR(ENOENT) +#else +# define UV__ENOENT (-4058) +#endif + +#if defined(ENOMEM) && !defined(_WIN32) +# define UV__ENOMEM UV__ERR(ENOMEM) +#else +# define UV__ENOMEM (-4057) +#endif + +#if defined(ENONET) && !defined(_WIN32) +# define UV__ENONET UV__ERR(ENONET) +#else +# define UV__ENONET (-4056) +#endif + +#if defined(ENOSPC) && !defined(_WIN32) +# define UV__ENOSPC UV__ERR(ENOSPC) +#else +# define UV__ENOSPC (-4055) +#endif + +#if defined(ENOSYS) && !defined(_WIN32) +# define UV__ENOSYS UV__ERR(ENOSYS) +#else +# define UV__ENOSYS (-4054) +#endif + +#if defined(ENOTCONN) && !defined(_WIN32) +# define UV__ENOTCONN UV__ERR(ENOTCONN) +#else +# define UV__ENOTCONN (-4053) +#endif + +#if defined(ENOTDIR) && !defined(_WIN32) +# define UV__ENOTDIR UV__ERR(ENOTDIR) +#else +# define UV__ENOTDIR (-4052) +#endif + +#if defined(ENOTEMPTY) && !defined(_WIN32) +# define UV__ENOTEMPTY UV__ERR(ENOTEMPTY) +#else +# define UV__ENOTEMPTY (-4051) +#endif + +#if defined(ENOTSOCK) && !defined(_WIN32) +# define UV__ENOTSOCK UV__ERR(ENOTSOCK) +#else +# define UV__ENOTSOCK (-4050) +#endif + +#if defined(ENOTSUP) && !defined(_WIN32) +# define UV__ENOTSUP UV__ERR(ENOTSUP) +#else +# define UV__ENOTSUP (-4049) +#endif + +#if defined(EPERM) && !defined(_WIN32) +# define UV__EPERM UV__ERR(EPERM) +#else +# define UV__EPERM (-4048) +#endif + +#if defined(EPIPE) && !defined(_WIN32) +# define UV__EPIPE UV__ERR(EPIPE) +#else +# define UV__EPIPE (-4047) +#endif + +#if defined(EPROTO) && !defined(_WIN32) +# define UV__EPROTO UV__ERR(EPROTO) +#else +# define UV__EPROTO UV__ERR(4046) +#endif + +#if defined(EPROTONOSUPPORT) && !defined(_WIN32) +# define UV__EPROTONOSUPPORT UV__ERR(EPROTONOSUPPORT) +#else +# define UV__EPROTONOSUPPORT (-4045) +#endif + +#if defined(EPROTOTYPE) && !defined(_WIN32) +# define UV__EPROTOTYPE UV__ERR(EPROTOTYPE) +#else +# define UV__EPROTOTYPE (-4044) +#endif + +#if defined(EROFS) && !defined(_WIN32) +# define UV__EROFS UV__ERR(EROFS) +#else +# define UV__EROFS (-4043) +#endif + +#if defined(ESHUTDOWN) && !defined(_WIN32) +# define UV__ESHUTDOWN UV__ERR(ESHUTDOWN) +#else +# define UV__ESHUTDOWN (-4042) +#endif + +#if defined(ESPIPE) && !defined(_WIN32) +# define UV__ESPIPE UV__ERR(ESPIPE) +#else +# define UV__ESPIPE (-4041) +#endif + +#if defined(ESRCH) && !defined(_WIN32) +# define UV__ESRCH UV__ERR(ESRCH) +#else +# define UV__ESRCH (-4040) +#endif + +#if defined(ETIMEDOUT) && !defined(_WIN32) +# define UV__ETIMEDOUT UV__ERR(ETIMEDOUT) +#else +# define UV__ETIMEDOUT (-4039) +#endif + +#if defined(ETXTBSY) && !defined(_WIN32) +# define UV__ETXTBSY UV__ERR(ETXTBSY) +#else +# define UV__ETXTBSY (-4038) +#endif + +#if defined(EXDEV) && !defined(_WIN32) +# define UV__EXDEV UV__ERR(EXDEV) +#else +# define UV__EXDEV (-4037) +#endif + +#if defined(EFBIG) && !defined(_WIN32) +# define UV__EFBIG UV__ERR(EFBIG) +#else +# define UV__EFBIG (-4036) +#endif + +#if defined(ENOPROTOOPT) && !defined(_WIN32) +# define UV__ENOPROTOOPT UV__ERR(ENOPROTOOPT) +#else +# define UV__ENOPROTOOPT (-4035) +#endif + +#if defined(ERANGE) && !defined(_WIN32) +# define UV__ERANGE UV__ERR(ERANGE) +#else +# define UV__ERANGE (-4034) +#endif + +#if defined(ENXIO) && !defined(_WIN32) +# define UV__ENXIO UV__ERR(ENXIO) +#else +# define UV__ENXIO (-4033) +#endif + +#if defined(EMLINK) && !defined(_WIN32) +# define UV__EMLINK UV__ERR(EMLINK) +#else +# define UV__EMLINK (-4032) +#endif + +/* EHOSTDOWN is not visible on BSD-like systems when _POSIX_C_SOURCE is + * defined. Fortunately, its value is always 64 so it's possible albeit + * icky to hard-code it. + */ +#if defined(EHOSTDOWN) && !defined(_WIN32) +# define UV__EHOSTDOWN UV__ERR(EHOSTDOWN) +#elif defined(__APPLE__) || \ + defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || \ + defined(__NetBSD__) || \ + defined(__OpenBSD__) +# define UV__EHOSTDOWN (-64) +#else +# define UV__EHOSTDOWN (-4031) +#endif + +#if defined(EREMOTEIO) && !defined(_WIN32) +# define UV__EREMOTEIO UV__ERR(EREMOTEIO) +#else +# define UV__EREMOTEIO (-4030) +#endif + +#if defined(ENOTTY) && !defined(_WIN32) +# define UV__ENOTTY UV__ERR(ENOTTY) +#else +# define UV__ENOTTY (-4029) +#endif + +#if defined(EFTYPE) && !defined(_WIN32) +# define UV__EFTYPE UV__ERR(EFTYPE) +#else +# define UV__EFTYPE (-4028) +#endif + + +#endif /* UV_ERRNO_H_ */ diff --git a/deps/uv/include/uv-linux.h b/deps/uv/include/uv/linux.h similarity index 100% rename from deps/uv/include/uv-linux.h rename to deps/uv/include/uv/linux.h diff --git a/deps/uv/include/uv-os390.h b/deps/uv/include/uv/os390.h similarity index 100% rename from deps/uv/include/uv-os390.h rename to deps/uv/include/uv/os390.h diff --git a/deps/uv/include/uv-posix.h b/deps/uv/include/uv/posix.h similarity index 100% rename from deps/uv/include/uv-posix.h rename to deps/uv/include/uv/posix.h diff --git a/deps/uv/include/pthread-barrier.h b/deps/uv/include/uv/pthread-barrier.h similarity index 100% rename from deps/uv/include/pthread-barrier.h rename to deps/uv/include/uv/pthread-barrier.h diff --git a/deps/uv/include/stdint-msvc2008.h b/deps/uv/include/uv/stdint-msvc2008.h similarity index 100% rename from deps/uv/include/stdint-msvc2008.h rename to deps/uv/include/uv/stdint-msvc2008.h diff --git a/deps/uv/include/uv-sunos.h b/deps/uv/include/uv/sunos.h similarity index 100% rename from deps/uv/include/uv-sunos.h rename to deps/uv/include/uv/sunos.h diff --git a/deps/uv/include/uv-threadpool.h b/deps/uv/include/uv/threadpool.h similarity index 100% rename from deps/uv/include/uv-threadpool.h rename to deps/uv/include/uv/threadpool.h diff --git a/deps/uv/include/tree.h b/deps/uv/include/uv/tree.h similarity index 100% rename from deps/uv/include/tree.h rename to deps/uv/include/uv/tree.h diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h new file mode 100644 index 00000000000000..74a0d643ceec28 --- /dev/null +++ b/deps/uv/include/uv/unix.h @@ -0,0 +1,464 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef UV_UNIX_H +#define UV_UNIX_H + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#if !defined(__MVS__) +#include +#endif +#include +#include + +#include "uv/threadpool.h" + +#if defined(__linux__) +# include "uv/linux.h" +#elif defined (__MVS__) +# include "uv/os390.h" +#elif defined(__PASE__) +# include "uv/posix.h" +#elif defined(_AIX) +# include "uv/aix.h" +#elif defined(__sun) +# include "uv/sunos.h" +#elif defined(__APPLE__) +# include "uv/darwin.h" +#elif defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || \ + defined(__OpenBSD__) || \ + defined(__NetBSD__) +# include "uv/bsd.h" +#elif defined(__CYGWIN__) || defined(__MSYS__) +# include "uv/posix.h" +#endif + +#ifndef PTHREAD_BARRIER_SERIAL_THREAD +# include "uv/pthread-barrier.h" +#endif + +#ifndef NI_MAXHOST +# define NI_MAXHOST 1025 +#endif + +#ifndef NI_MAXSERV +# define NI_MAXSERV 32 +#endif + +#ifndef UV_IO_PRIVATE_PLATFORM_FIELDS +# define UV_IO_PRIVATE_PLATFORM_FIELDS /* empty */ +#endif + +struct uv__io_s; +struct uv_loop_s; + +typedef void (*uv__io_cb)(struct uv_loop_s* loop, + struct uv__io_s* w, + unsigned int events); +typedef struct uv__io_s uv__io_t; + +struct uv__io_s { + uv__io_cb cb; + void* pending_queue[2]; + void* watcher_queue[2]; + unsigned int pevents; /* Pending event mask i.e. mask at next tick. */ + unsigned int events; /* Current event mask. */ + int fd; + UV_IO_PRIVATE_PLATFORM_FIELDS +}; + +#ifndef UV_PLATFORM_SEM_T +# define UV_PLATFORM_SEM_T sem_t +#endif + +#ifndef UV_PLATFORM_LOOP_FIELDS +# define UV_PLATFORM_LOOP_FIELDS /* empty */ +#endif + +#ifndef UV_PLATFORM_FS_EVENT_FIELDS +# define UV_PLATFORM_FS_EVENT_FIELDS /* empty */ +#endif + +#ifndef UV_STREAM_PRIVATE_PLATFORM_FIELDS +# define UV_STREAM_PRIVATE_PLATFORM_FIELDS /* empty */ +#endif + +/* Note: May be cast to struct iovec. See writev(2). */ +typedef struct uv_buf_t { + char* base; + size_t len; +} uv_buf_t; + +typedef int uv_file; +typedef int uv_os_sock_t; +typedef int uv_os_fd_t; +typedef pid_t uv_pid_t; + +#define UV_ONCE_INIT PTHREAD_ONCE_INIT + +typedef pthread_once_t uv_once_t; +typedef pthread_t uv_thread_t; +typedef pthread_mutex_t uv_mutex_t; +typedef pthread_rwlock_t uv_rwlock_t; +typedef UV_PLATFORM_SEM_T uv_sem_t; +typedef pthread_cond_t uv_cond_t; +typedef pthread_key_t uv_key_t; +typedef pthread_barrier_t uv_barrier_t; + + +/* Platform-specific definitions for uv_spawn support. */ +typedef gid_t uv_gid_t; +typedef uid_t uv_uid_t; + +typedef struct dirent uv__dirent_t; + +#if defined(DT_UNKNOWN) +# define HAVE_DIRENT_TYPES +# if defined(DT_REG) +# define UV__DT_FILE DT_REG +# else +# define UV__DT_FILE -1 +# endif +# if defined(DT_DIR) +# define UV__DT_DIR DT_DIR +# else +# define UV__DT_DIR -2 +# endif +# if defined(DT_LNK) +# define UV__DT_LINK DT_LNK +# else +# define UV__DT_LINK -3 +# endif +# if defined(DT_FIFO) +# define UV__DT_FIFO DT_FIFO +# else +# define UV__DT_FIFO -4 +# endif +# if defined(DT_SOCK) +# define UV__DT_SOCKET DT_SOCK +# else +# define UV__DT_SOCKET -5 +# endif +# if defined(DT_CHR) +# define UV__DT_CHAR DT_CHR +# else +# define UV__DT_CHAR -6 +# endif +# if defined(DT_BLK) +# define UV__DT_BLOCK DT_BLK +# else +# define UV__DT_BLOCK -7 +# endif +#endif + +/* Platform-specific definitions for uv_dlopen support. */ +#define UV_DYNAMIC /* empty */ + +typedef struct { + void* handle; + char* errmsg; +} uv_lib_t; + +#define UV_LOOP_PRIVATE_FIELDS \ + unsigned long flags; \ + int backend_fd; \ + void* pending_queue[2]; \ + void* watcher_queue[2]; \ + uv__io_t** watchers; \ + unsigned int nwatchers; \ + unsigned int nfds; \ + void* wq[2]; \ + uv_mutex_t wq_mutex; \ + uv_async_t wq_async; \ + uv_rwlock_t cloexec_lock; \ + uv_handle_t* closing_handles; \ + void* process_handles[2]; \ + void* prepare_handles[2]; \ + void* check_handles[2]; \ + void* idle_handles[2]; \ + void* async_handles[2]; \ + void (*async_unused)(void); /* TODO(bnoordhuis) Remove in libuv v2. */ \ + uv__io_t async_io_watcher; \ + int async_wfd; \ + struct { \ + void* min; \ + unsigned int nelts; \ + } timer_heap; \ + uint64_t timer_counter; \ + uint64_t time; \ + int signal_pipefd[2]; \ + uv__io_t signal_io_watcher; \ + uv_signal_t child_watcher; \ + int emfile_fd; \ + UV_PLATFORM_LOOP_FIELDS \ + +#define UV_REQ_TYPE_PRIVATE /* empty */ + +#define UV_REQ_PRIVATE_FIELDS /* empty */ + +#define UV_PRIVATE_REQ_TYPES /* empty */ + +#define UV_WRITE_PRIVATE_FIELDS \ + void* queue[2]; \ + unsigned int write_index; \ + uv_buf_t* bufs; \ + unsigned int nbufs; \ + int error; \ + uv_buf_t bufsml[4]; \ + +#define UV_CONNECT_PRIVATE_FIELDS \ + void* queue[2]; \ + +#define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */ + +#define UV_UDP_SEND_PRIVATE_FIELDS \ + void* queue[2]; \ + struct sockaddr_storage addr; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + ssize_t status; \ + uv_udp_send_cb send_cb; \ + uv_buf_t bufsml[4]; \ + +#define UV_HANDLE_PRIVATE_FIELDS \ + uv_handle_t* next_closing; \ + unsigned int flags; \ + +#define UV_STREAM_PRIVATE_FIELDS \ + uv_connect_t *connect_req; \ + uv_shutdown_t *shutdown_req; \ + uv__io_t io_watcher; \ + void* write_queue[2]; \ + void* write_completed_queue[2]; \ + uv_connection_cb connection_cb; \ + int delayed_error; \ + int accepted_fd; \ + void* queued_fds; \ + UV_STREAM_PRIVATE_PLATFORM_FIELDS \ + +#define UV_TCP_PRIVATE_FIELDS /* empty */ + +#define UV_UDP_PRIVATE_FIELDS \ + uv_alloc_cb alloc_cb; \ + uv_udp_recv_cb recv_cb; \ + uv__io_t io_watcher; \ + void* write_queue[2]; \ + void* write_completed_queue[2]; \ + +#define UV_PIPE_PRIVATE_FIELDS \ + const char* pipe_fname; /* strdup'ed */ + +#define UV_POLL_PRIVATE_FIELDS \ + uv__io_t io_watcher; + +#define UV_PREPARE_PRIVATE_FIELDS \ + uv_prepare_cb prepare_cb; \ + void* queue[2]; \ + +#define UV_CHECK_PRIVATE_FIELDS \ + uv_check_cb check_cb; \ + void* queue[2]; \ + +#define UV_IDLE_PRIVATE_FIELDS \ + uv_idle_cb idle_cb; \ + void* queue[2]; \ + +#define UV_ASYNC_PRIVATE_FIELDS \ + uv_async_cb async_cb; \ + void* queue[2]; \ + int pending; \ + +#define UV_TIMER_PRIVATE_FIELDS \ + uv_timer_cb timer_cb; \ + void* heap_node[3]; \ + uint64_t timeout; \ + uint64_t repeat; \ + uint64_t start_id; + +#define UV_GETADDRINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getaddrinfo_cb cb; \ + struct addrinfo* hints; \ + char* hostname; \ + char* service; \ + struct addrinfo* addrinfo; \ + int retcode; + +#define UV_GETNAMEINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getnameinfo_cb getnameinfo_cb; \ + struct sockaddr_storage storage; \ + int flags; \ + char host[NI_MAXHOST]; \ + char service[NI_MAXSERV]; \ + int retcode; + +#define UV_PROCESS_PRIVATE_FIELDS \ + void* queue[2]; \ + int status; \ + +#define UV_FS_PRIVATE_FIELDS \ + const char *new_path; \ + uv_file file; \ + int flags; \ + mode_t mode; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + off_t off; \ + uv_uid_t uid; \ + uv_gid_t gid; \ + double atime; \ + double mtime; \ + struct uv__work work_req; \ + uv_buf_t bufsml[4]; \ + +#define UV_WORK_PRIVATE_FIELDS \ + struct uv__work work_req; + +#define UV_TTY_PRIVATE_FIELDS \ + struct termios orig_termios; \ + int mode; + +#define UV_SIGNAL_PRIVATE_FIELDS \ + /* RB_ENTRY(uv_signal_s) tree_entry; */ \ + struct { \ + struct uv_signal_s* rbe_left; \ + struct uv_signal_s* rbe_right; \ + struct uv_signal_s* rbe_parent; \ + int rbe_color; \ + } tree_entry; \ + /* Use two counters here so we don have to fiddle with atomics. */ \ + unsigned int caught_signals; \ + unsigned int dispatched_signals; + +#define UV_FS_EVENT_PRIVATE_FIELDS \ + uv_fs_event_cb cb; \ + UV_PLATFORM_FS_EVENT_FIELDS \ + +/* fs open() flags supported on this platform: */ +#if defined(O_APPEND) +# define UV_FS_O_APPEND O_APPEND +#else +# define UV_FS_O_APPEND 0 +#endif +#if defined(O_CREAT) +# define UV_FS_O_CREAT O_CREAT +#else +# define UV_FS_O_CREAT 0 +#endif +#if defined(O_DIRECT) +# define UV_FS_O_DIRECT O_DIRECT +#else +# define UV_FS_O_DIRECT 0 +#endif +#if defined(O_DIRECTORY) +# define UV_FS_O_DIRECTORY O_DIRECTORY +#else +# define UV_FS_O_DIRECTORY 0 +#endif +#if defined(O_DSYNC) +# define UV_FS_O_DSYNC O_DSYNC +#else +# define UV_FS_O_DSYNC 0 +#endif +#if defined(O_EXCL) +# define UV_FS_O_EXCL O_EXCL +#else +# define UV_FS_O_EXCL 0 +#endif +#if defined(O_EXLOCK) +# define UV_FS_O_EXLOCK O_EXLOCK +#else +# define UV_FS_O_EXLOCK 0 +#endif +#if defined(O_NOATIME) +# define UV_FS_O_NOATIME O_NOATIME +#else +# define UV_FS_O_NOATIME 0 +#endif +#if defined(O_NOCTTY) +# define UV_FS_O_NOCTTY O_NOCTTY +#else +# define UV_FS_O_NOCTTY 0 +#endif +#if defined(O_NOFOLLOW) +# define UV_FS_O_NOFOLLOW O_NOFOLLOW +#else +# define UV_FS_O_NOFOLLOW 0 +#endif +#if defined(O_NONBLOCK) +# define UV_FS_O_NONBLOCK O_NONBLOCK +#else +# define UV_FS_O_NONBLOCK 0 +#endif +#if defined(O_RDONLY) +# define UV_FS_O_RDONLY O_RDONLY +#else +# define UV_FS_O_RDONLY 0 +#endif +#if defined(O_RDWR) +# define UV_FS_O_RDWR O_RDWR +#else +# define UV_FS_O_RDWR 0 +#endif +#if defined(O_SYMLINK) +# define UV_FS_O_SYMLINK O_SYMLINK +#else +# define UV_FS_O_SYMLINK 0 +#endif +#if defined(O_SYNC) +# define UV_FS_O_SYNC O_SYNC +#else +# define UV_FS_O_SYNC 0 +#endif +#if defined(O_TRUNC) +# define UV_FS_O_TRUNC O_TRUNC +#else +# define UV_FS_O_TRUNC 0 +#endif +#if defined(O_WRONLY) +# define UV_FS_O_WRONLY O_WRONLY +#else +# define UV_FS_O_WRONLY 0 +#endif + +/* fs open() flags supported on other platforms: */ +#define UV_FS_O_RANDOM 0 +#define UV_FS_O_SHORT_LIVED 0 +#define UV_FS_O_SEQUENTIAL 0 +#define UV_FS_O_TEMPORARY 0 + +#endif /* UV_UNIX_H */ diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h new file mode 100644 index 00000000000000..0b829717b81ab0 --- /dev/null +++ b/deps/uv/include/uv/version.h @@ -0,0 +1,43 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef UV_VERSION_H +#define UV_VERSION_H + + /* + * Versions with the same major number are ABI stable. API is allowed to + * evolve between minor releases, but only in a backwards compatible way. + * Make sure you update the -soname directives in configure.ac + * and uv.gyp whenever you bump UV_VERSION_MAJOR or UV_VERSION_MINOR (but + * not UV_VERSION_PATCH.) + */ + +#define UV_VERSION_MAJOR 1 +#define UV_VERSION_MINOR 21 +#define UV_VERSION_PATCH 0 +#define UV_VERSION_IS_RELEASE 1 +#define UV_VERSION_SUFFIX "" + +#define UV_VERSION_HEX ((UV_VERSION_MAJOR << 16) | \ + (UV_VERSION_MINOR << 8) | \ + (UV_VERSION_PATCH)) + +#endif /* UV_VERSION_H */ diff --git a/deps/uv/include/uv/win.h b/deps/uv/include/uv/win.h new file mode 100644 index 00000000000000..f01335296a05e9 --- /dev/null +++ b/deps/uv/include/uv/win.h @@ -0,0 +1,677 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0600 +#endif + +#if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) +typedef intptr_t ssize_t; +# define _SSIZE_T_ +# define _SSIZE_T_DEFINED +#endif + +#include + +#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) +typedef struct pollfd { + SOCKET fd; + short events; + short revents; +} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; +#endif + +#ifndef LOCALE_INVARIANT +# define LOCALE_INVARIANT 0x007f +#endif + +#include +#include +#include + +#include +#include +#include +#include + +#if defined(_MSC_VER) && _MSC_VER < 1600 +# include "uv/stdint-msvc2008.h" +#else +# include +#endif + +#include "uv/tree.h" +#include "uv/threadpool.h" + +#define MAX_PIPENAME_LEN 256 + +#ifndef S_IFLNK +# define S_IFLNK 0xA000 +#endif + +/* Additional signals supported by uv_signal and or uv_kill. The CRT defines + * the following signals already: + * + * #define SIGINT 2 + * #define SIGILL 4 + * #define SIGABRT_COMPAT 6 + * #define SIGFPE 8 + * #define SIGSEGV 11 + * #define SIGTERM 15 + * #define SIGBREAK 21 + * #define SIGABRT 22 + * + * The additional signals have values that are common on other Unix + * variants (Linux and Darwin) + */ +#define SIGHUP 1 +#define SIGKILL 9 +#define SIGWINCH 28 + +/* The CRT defines SIGABRT_COMPAT as 6, which equals SIGABRT on many unix-like + * platforms. However MinGW doesn't define it, so we do. */ +#ifndef SIGABRT_COMPAT +# define SIGABRT_COMPAT 6 +#endif + +/* + * Guids and typedefs for winsock extension functions + * Mingw32 doesn't have these :-( + */ +#ifndef WSAID_ACCEPTEX +# define WSAID_ACCEPTEX \ + {0xb5367df1, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + +# define WSAID_CONNECTEX \ + {0x25a207b9, 0xddf3, 0x4660, \ + {0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}} + +# define WSAID_GETACCEPTEXSOCKADDRS \ + {0xb5367df2, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + +# define WSAID_DISCONNECTEX \ + {0x7fda2e11, 0x8630, 0x436f, \ + {0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}} + +# define WSAID_TRANSMITFILE \ + {0xb5367df0, 0xcbac, 0x11cf, \ + {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}} + + typedef BOOL (PASCAL *LPFN_ACCEPTEX) + (SOCKET sListenSocket, + SOCKET sAcceptSocket, + PVOID lpOutputBuffer, + DWORD dwReceiveDataLength, + DWORD dwLocalAddressLength, + DWORD dwRemoteAddressLength, + LPDWORD lpdwBytesReceived, + LPOVERLAPPED lpOverlapped); + + typedef BOOL (PASCAL *LPFN_CONNECTEX) + (SOCKET s, + const struct sockaddr* name, + int namelen, + PVOID lpSendBuffer, + DWORD dwSendDataLength, + LPDWORD lpdwBytesSent, + LPOVERLAPPED lpOverlapped); + + typedef void (PASCAL *LPFN_GETACCEPTEXSOCKADDRS) + (PVOID lpOutputBuffer, + DWORD dwReceiveDataLength, + DWORD dwLocalAddressLength, + DWORD dwRemoteAddressLength, + LPSOCKADDR* LocalSockaddr, + LPINT LocalSockaddrLength, + LPSOCKADDR* RemoteSockaddr, + LPINT RemoteSockaddrLength); + + typedef BOOL (PASCAL *LPFN_DISCONNECTEX) + (SOCKET hSocket, + LPOVERLAPPED lpOverlapped, + DWORD dwFlags, + DWORD reserved); + + typedef BOOL (PASCAL *LPFN_TRANSMITFILE) + (SOCKET hSocket, + HANDLE hFile, + DWORD nNumberOfBytesToWrite, + DWORD nNumberOfBytesPerSend, + LPOVERLAPPED lpOverlapped, + LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, + DWORD dwFlags); + + typedef PVOID RTL_SRWLOCK; + typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; +#endif + +typedef int (WSAAPI* LPFN_WSARECV) + (SOCKET socket, + LPWSABUF buffers, + DWORD buffer_count, + LPDWORD bytes, + LPDWORD flags, + LPWSAOVERLAPPED overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); + +typedef int (WSAAPI* LPFN_WSARECVFROM) + (SOCKET socket, + LPWSABUF buffers, + DWORD buffer_count, + LPDWORD bytes, + LPDWORD flags, + struct sockaddr* addr, + LPINT addr_len, + LPWSAOVERLAPPED overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE completion_routine); + +#ifndef _NTDEF_ + typedef LONG NTSTATUS; + typedef NTSTATUS *PNTSTATUS; +#endif + +#ifndef RTL_CONDITION_VARIABLE_INIT + typedef PVOID CONDITION_VARIABLE, *PCONDITION_VARIABLE; +#endif + +typedef struct _AFD_POLL_HANDLE_INFO { + HANDLE Handle; + ULONG Events; + NTSTATUS Status; +} AFD_POLL_HANDLE_INFO, *PAFD_POLL_HANDLE_INFO; + +typedef struct _AFD_POLL_INFO { + LARGE_INTEGER Timeout; + ULONG NumberOfHandles; + ULONG Exclusive; + AFD_POLL_HANDLE_INFO Handles[1]; +} AFD_POLL_INFO, *PAFD_POLL_INFO; + +#define UV_MSAFD_PROVIDER_COUNT 3 + + +/** + * It should be possible to cast uv_buf_t[] to WSABUF[] + * see http://msdn.microsoft.com/en-us/library/ms741542(v=vs.85).aspx + */ +typedef struct uv_buf_t { + ULONG len; + char* base; +} uv_buf_t; + +typedef int uv_file; +typedef SOCKET uv_os_sock_t; +typedef HANDLE uv_os_fd_t; +typedef int uv_pid_t; + +typedef HANDLE uv_thread_t; + +typedef HANDLE uv_sem_t; + +typedef CRITICAL_SECTION uv_mutex_t; + +/* This condition variable implementation is based on the SetEvent solution + * (section 3.2) at http://www.cs.wustl.edu/~schmidt/win32-cv-1.html + * We could not use the SignalObjectAndWait solution (section 3.4) because + * it want the 2nd argument (type uv_mutex_t) of uv_cond_wait() and + * uv_cond_timedwait() to be HANDLEs, but we use CRITICAL_SECTIONs. + */ + +typedef union { + CONDITION_VARIABLE cond_var; + struct { + unsigned int waiters_count; + CRITICAL_SECTION waiters_count_lock; + HANDLE signal_event; + HANDLE broadcast_event; + } unused_; /* TODO: retained for ABI compatibility; remove me in v2.x. */ +} uv_cond_t; + +typedef union { + struct { + unsigned int num_readers_; + CRITICAL_SECTION num_readers_lock_; + HANDLE write_semaphore_; + } state_; + /* TODO: remove me in v2.x. */ + struct { + SRWLOCK unused_; + } unused1_; + /* TODO: remove me in v2.x. */ + struct { + uv_mutex_t unused1_; + uv_mutex_t unused2_; + } unused2_; +} uv_rwlock_t; + +typedef struct { + unsigned int n; + unsigned int count; + uv_mutex_t mutex; + uv_sem_t turnstile1; + uv_sem_t turnstile2; +} uv_barrier_t; + +typedef struct { + DWORD tls_index; +} uv_key_t; + +#define UV_ONCE_INIT { 0, NULL } + +typedef struct uv_once_s { + unsigned char ran; + HANDLE event; +} uv_once_t; + +/* Platform-specific definitions for uv_spawn support. */ +typedef unsigned char uv_uid_t; +typedef unsigned char uv_gid_t; + +typedef struct uv__dirent_s { + int d_type; + char d_name[1]; +} uv__dirent_t; + +#define HAVE_DIRENT_TYPES +#define UV__DT_DIR UV_DIRENT_DIR +#define UV__DT_FILE UV_DIRENT_FILE +#define UV__DT_LINK UV_DIRENT_LINK +#define UV__DT_FIFO UV_DIRENT_FIFO +#define UV__DT_SOCKET UV_DIRENT_SOCKET +#define UV__DT_CHAR UV_DIRENT_CHAR +#define UV__DT_BLOCK UV_DIRENT_BLOCK + +/* Platform-specific definitions for uv_dlopen support. */ +#define UV_DYNAMIC FAR WINAPI +typedef struct { + HMODULE handle; + char* errmsg; +} uv_lib_t; + +RB_HEAD(uv_timer_tree_s, uv_timer_s); + +#define UV_LOOP_PRIVATE_FIELDS \ + /* The loop's I/O completion port */ \ + HANDLE iocp; \ + /* The current time according to the event loop. in msecs. */ \ + uint64_t time; \ + /* Tail of a single-linked circular queue of pending reqs. If the queue */ \ + /* is empty, tail_ is NULL. If there is only one item, */ \ + /* tail_->next_req == tail_ */ \ + uv_req_t* pending_reqs_tail; \ + /* Head of a single-linked list of closed handles */ \ + uv_handle_t* endgame_handles; \ + /* The head of the timers tree */ \ + struct uv_timer_tree_s timers; \ + /* Lists of active loop (prepare / check / idle) watchers */ \ + uv_prepare_t* prepare_handles; \ + uv_check_t* check_handles; \ + uv_idle_t* idle_handles; \ + /* This pointer will refer to the prepare/check/idle handle whose */ \ + /* callback is scheduled to be called next. This is needed to allow */ \ + /* safe removal from one of the lists above while that list being */ \ + /* iterated over. */ \ + uv_prepare_t* next_prepare_handle; \ + uv_check_t* next_check_handle; \ + uv_idle_t* next_idle_handle; \ + /* This handle holds the peer sockets for the fast variant of uv_poll_t */ \ + SOCKET poll_peer_sockets[UV_MSAFD_PROVIDER_COUNT]; \ + /* Counter to keep track of active tcp streams */ \ + unsigned int active_tcp_streams; \ + /* Counter to keep track of active udp streams */ \ + unsigned int active_udp_streams; \ + /* Counter to started timer */ \ + uint64_t timer_counter; \ + /* Threadpool */ \ + void* wq[2]; \ + uv_mutex_t wq_mutex; \ + uv_async_t wq_async; + +#define UV_REQ_TYPE_PRIVATE \ + /* TODO: remove the req suffix */ \ + UV_ACCEPT, \ + UV_FS_EVENT_REQ, \ + UV_POLL_REQ, \ + UV_PROCESS_EXIT, \ + UV_READ, \ + UV_UDP_RECV, \ + UV_WAKEUP, \ + UV_SIGNAL_REQ, + +#define UV_REQ_PRIVATE_FIELDS \ + union { \ + /* Used by I/O operations */ \ + struct { \ + OVERLAPPED overlapped; \ + size_t queued_bytes; \ + } io; \ + } u; \ + struct uv_req_s* next_req; + +#define UV_WRITE_PRIVATE_FIELDS \ + int coalesced; \ + uv_buf_t write_buffer; \ + HANDLE event_handle; \ + HANDLE wait_handle; + +#define UV_CONNECT_PRIVATE_FIELDS \ + /* empty */ + +#define UV_SHUTDOWN_PRIVATE_FIELDS \ + /* empty */ + +#define UV_UDP_SEND_PRIVATE_FIELDS \ + /* empty */ + +#define UV_PRIVATE_REQ_TYPES \ + typedef struct uv_pipe_accept_s { \ + UV_REQ_FIELDS \ + HANDLE pipeHandle; \ + struct uv_pipe_accept_s* next_pending; \ + } uv_pipe_accept_t; \ + \ + typedef struct uv_tcp_accept_s { \ + UV_REQ_FIELDS \ + SOCKET accept_socket; \ + char accept_buffer[sizeof(struct sockaddr_storage) * 2 + 32]; \ + HANDLE event_handle; \ + HANDLE wait_handle; \ + struct uv_tcp_accept_s* next_pending; \ + } uv_tcp_accept_t; \ + \ + typedef struct uv_read_s { \ + UV_REQ_FIELDS \ + HANDLE event_handle; \ + HANDLE wait_handle; \ + } uv_read_t; + +#define uv_stream_connection_fields \ + unsigned int write_reqs_pending; \ + uv_shutdown_t* shutdown_req; + +#define uv_stream_server_fields \ + uv_connection_cb connection_cb; + +#define UV_STREAM_PRIVATE_FIELDS \ + unsigned int reqs_pending; \ + int activecnt; \ + uv_read_t read_req; \ + union { \ + struct { uv_stream_connection_fields } conn; \ + struct { uv_stream_server_fields } serv; \ + } stream; + +#define uv_tcp_server_fields \ + uv_tcp_accept_t* accept_reqs; \ + unsigned int processed_accepts; \ + uv_tcp_accept_t* pending_accepts; \ + LPFN_ACCEPTEX func_acceptex; + +#define uv_tcp_connection_fields \ + uv_buf_t read_buffer; \ + LPFN_CONNECTEX func_connectex; + +#define UV_TCP_PRIVATE_FIELDS \ + SOCKET socket; \ + int delayed_error; \ + union { \ + struct { uv_tcp_server_fields } serv; \ + struct { uv_tcp_connection_fields } conn; \ + } tcp; + +#define UV_UDP_PRIVATE_FIELDS \ + SOCKET socket; \ + unsigned int reqs_pending; \ + int activecnt; \ + uv_req_t recv_req; \ + uv_buf_t recv_buffer; \ + struct sockaddr_storage recv_from; \ + int recv_from_len; \ + uv_udp_recv_cb recv_cb; \ + uv_alloc_cb alloc_cb; \ + LPFN_WSARECV func_wsarecv; \ + LPFN_WSARECVFROM func_wsarecvfrom; + +#define uv_pipe_server_fields \ + int pending_instances; \ + uv_pipe_accept_t* accept_reqs; \ + uv_pipe_accept_t* pending_accepts; + +#define uv_pipe_connection_fields \ + uv_timer_t* eof_timer; \ + uv_write_t dummy; /* TODO: retained for ABI compat; remove this in v2.x. */ \ + DWORD ipc_remote_pid; \ + union { \ + uint32_t payload_remaining; \ + uint64_t dummy; /* TODO: retained for ABI compat; remove this in v2.x. */ \ + } ipc_data_frame; \ + void* ipc_xfer_queue[2]; \ + int ipc_xfer_queue_length; \ + uv_write_t* non_overlapped_writes_tail; \ + CRITICAL_SECTION readfile_thread_lock; \ + volatile HANDLE readfile_thread_handle; + +#define UV_PIPE_PRIVATE_FIELDS \ + HANDLE handle; \ + WCHAR* name; \ + union { \ + struct { uv_pipe_server_fields } serv; \ + struct { uv_pipe_connection_fields } conn; \ + } pipe; + +/* TODO: put the parser states in an union - TTY handles are always half-duplex + * so read-state can safely overlap write-state. */ +#define UV_TTY_PRIVATE_FIELDS \ + HANDLE handle; \ + union { \ + struct { \ + /* Used for readable TTY handles */ \ + /* TODO: remove me in v2.x. */ \ + HANDLE unused_; \ + uv_buf_t read_line_buffer; \ + HANDLE read_raw_wait; \ + /* Fields used for translating win keystrokes into vt100 characters */ \ + char last_key[8]; \ + unsigned char last_key_offset; \ + unsigned char last_key_len; \ + WCHAR last_utf16_high_surrogate; \ + INPUT_RECORD last_input_record; \ + } rd; \ + struct { \ + /* Used for writable TTY handles */ \ + /* utf8-to-utf16 conversion state */ \ + unsigned int utf8_codepoint; \ + unsigned char utf8_bytes_left; \ + /* eol conversion state */ \ + unsigned char previous_eol; \ + /* ansi parser state */ \ + unsigned char ansi_parser_state; \ + unsigned char ansi_csi_argc; \ + unsigned short ansi_csi_argv[4]; \ + COORD saved_position; \ + WORD saved_attributes; \ + } wr; \ + } tty; + +#define UV_POLL_PRIVATE_FIELDS \ + SOCKET socket; \ + /* Used in fast mode */ \ + SOCKET peer_socket; \ + AFD_POLL_INFO afd_poll_info_1; \ + AFD_POLL_INFO afd_poll_info_2; \ + /* Used in fast and slow mode. */ \ + uv_req_t poll_req_1; \ + uv_req_t poll_req_2; \ + unsigned char submitted_events_1; \ + unsigned char submitted_events_2; \ + unsigned char mask_events_1; \ + unsigned char mask_events_2; \ + unsigned char events; + +#define UV_TIMER_PRIVATE_FIELDS \ + RB_ENTRY(uv_timer_s) tree_entry; \ + uint64_t due; \ + uint64_t repeat; \ + uint64_t start_id; \ + uv_timer_cb timer_cb; + +#define UV_ASYNC_PRIVATE_FIELDS \ + struct uv_req_s async_req; \ + uv_async_cb async_cb; \ + /* char to avoid alignment issues */ \ + char volatile async_sent; + +#define UV_PREPARE_PRIVATE_FIELDS \ + uv_prepare_t* prepare_prev; \ + uv_prepare_t* prepare_next; \ + uv_prepare_cb prepare_cb; + +#define UV_CHECK_PRIVATE_FIELDS \ + uv_check_t* check_prev; \ + uv_check_t* check_next; \ + uv_check_cb check_cb; + +#define UV_IDLE_PRIVATE_FIELDS \ + uv_idle_t* idle_prev; \ + uv_idle_t* idle_next; \ + uv_idle_cb idle_cb; + +#define UV_HANDLE_PRIVATE_FIELDS \ + uv_handle_t* endgame_next; \ + unsigned int flags; + +#define UV_GETADDRINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getaddrinfo_cb getaddrinfo_cb; \ + void* alloc; \ + WCHAR* node; \ + WCHAR* service; \ + /* The addrinfoW field is used to store a pointer to the hints, and */ \ + /* later on to store the result of GetAddrInfoW. The final result will */ \ + /* be converted to struct addrinfo* and stored in the addrinfo field. */ \ + struct addrinfoW* addrinfow; \ + struct addrinfo* addrinfo; \ + int retcode; + +#define UV_GETNAMEINFO_PRIVATE_FIELDS \ + struct uv__work work_req; \ + uv_getnameinfo_cb getnameinfo_cb; \ + struct sockaddr_storage storage; \ + int flags; \ + char host[NI_MAXHOST]; \ + char service[NI_MAXSERV]; \ + int retcode; + +#define UV_PROCESS_PRIVATE_FIELDS \ + struct uv_process_exit_s { \ + UV_REQ_FIELDS \ + } exit_req; \ + BYTE* child_stdio_buffer; \ + int exit_signal; \ + HANDLE wait_handle; \ + HANDLE process_handle; \ + volatile char exit_cb_pending; + +#define UV_FS_PRIVATE_FIELDS \ + struct uv__work work_req; \ + int flags; \ + DWORD sys_errno_; \ + union { \ + /* TODO: remove me in 0.9. */ \ + WCHAR* pathw; \ + int fd; \ + } file; \ + union { \ + struct { \ + int mode; \ + WCHAR* new_pathw; \ + int file_flags; \ + int fd_out; \ + unsigned int nbufs; \ + uv_buf_t* bufs; \ + int64_t offset; \ + uv_buf_t bufsml[4]; \ + } info; \ + struct { \ + double atime; \ + double mtime; \ + } time; \ + } fs; + +#define UV_WORK_PRIVATE_FIELDS \ + struct uv__work work_req; + +#define UV_FS_EVENT_PRIVATE_FIELDS \ + struct uv_fs_event_req_s { \ + UV_REQ_FIELDS \ + } req; \ + HANDLE dir_handle; \ + int req_pending; \ + uv_fs_event_cb cb; \ + WCHAR* filew; \ + WCHAR* short_filew; \ + WCHAR* dirw; \ + char* buffer; + +#define UV_SIGNAL_PRIVATE_FIELDS \ + RB_ENTRY(uv_signal_s) tree_entry; \ + struct uv_req_s signal_req; \ + unsigned long pending_signum; + +#ifndef F_OK +#define F_OK 0 +#endif +#ifndef R_OK +#define R_OK 4 +#endif +#ifndef W_OK +#define W_OK 2 +#endif +#ifndef X_OK +#define X_OK 1 +#endif + +/* fs open() flags supported on this platform: */ +#define UV_FS_O_APPEND _O_APPEND +#define UV_FS_O_CREAT _O_CREAT +#define UV_FS_O_EXCL _O_EXCL +#define UV_FS_O_RANDOM _O_RANDOM +#define UV_FS_O_RDONLY _O_RDONLY +#define UV_FS_O_RDWR _O_RDWR +#define UV_FS_O_SEQUENTIAL _O_SEQUENTIAL +#define UV_FS_O_SHORT_LIVED _O_SHORT_LIVED +#define UV_FS_O_TEMPORARY _O_TEMPORARY +#define UV_FS_O_TRUNC _O_TRUNC +#define UV_FS_O_WRONLY _O_WRONLY + +/* fs open() flags supported on other platforms (or mapped on this platform): */ +#define UV_FS_O_DIRECT 0x02000000 /* FILE_FLAG_NO_BUFFERING */ +#define UV_FS_O_DIRECTORY 0 +#define UV_FS_O_DSYNC 0x04000000 /* FILE_FLAG_WRITE_THROUGH */ +#define UV_FS_O_EXLOCK 0x10000000 /* EXCLUSIVE SHARING MODE */ +#define UV_FS_O_NOATIME 0 +#define UV_FS_O_NOCTTY 0 +#define UV_FS_O_NOFOLLOW 0 +#define UV_FS_O_NONBLOCK 0 +#define UV_FS_O_SYMLINK 0 +#define UV_FS_O_SYNC 0x08000000 /* FILE_FLAG_WRITE_THROUGH */ diff --git a/deps/uv/libuv.pc.in b/deps/uv/libuv.pc.in index 55c4b65d5dc5cf..1d7b86f751764c 100644 --- a/deps/uv/libuv.pc.in +++ b/deps/uv/libuv.pc.in @@ -3,7 +3,7 @@ exec_prefix=${prefix} libdir=@libdir@ includedir=@includedir@ -Name: @PACKAGE_NAME@ +Name: libuv Version: @PACKAGE_VERSION@ Description: multi-platform support library with a focus on asynchronous I/O. URL: http://libuv.org/ diff --git a/deps/uv/samples/socks5-proxy/main.c b/deps/uv/samples/socks5-proxy/main.c index 04020cbd3addd8..e77c7c69078dd6 100644 --- a/deps/uv/samples/socks5-proxy/main.c +++ b/deps/uv/samples/socks5-proxy/main.c @@ -63,9 +63,9 @@ const char *_getprogname(void) { static void parse_opts(server_config *cf, int argc, char **argv) { int opt; - while (-1 != (opt = getopt(argc, argv, "H:hp:"))) { + while (-1 != (opt = getopt(argc, argv, "b:hp:"))) { switch (opt) { - case 'H': + case 'b': cf->bind_host = optarg; break; @@ -85,7 +85,7 @@ static void parse_opts(server_config *cf, int argc, char **argv) { static void usage(void) { printf("Usage:\n" "\n" - " %s [-b
[-h] [-p ]\n" + " %s [-b
] [-h] [-p ]\n" "\n" "Options:\n" "\n" diff --git a/deps/uv/src/inet.c b/deps/uv/src/inet.c index da63a688c4e424..4598ca1e9f9670 100644 --- a/deps/uv/src/inet.c +++ b/deps/uv/src/inet.c @@ -19,7 +19,7 @@ #include #if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" +# include "uv/stdint-msvc2008.h" #else # include #endif diff --git a/deps/uv/src/unix/android-ifaddrs.c b/deps/uv/src/unix/android-ifaddrs.c index bf30b14179509d..99fb25a43b4279 100644 --- a/deps/uv/src/unix/android-ifaddrs.c +++ b/deps/uv/src/unix/android-ifaddrs.c @@ -23,7 +23,7 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "android-ifaddrs.h" +#include "uv/android-ifaddrs.h" #include "uv-common.h" #include diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 18c8fcd808ba2a..c2e7bd730d5d45 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -174,8 +174,8 @@ void uv_close(uv_handle_t* handle, uv_close_cb close_cb) { case UV_SIGNAL: uv__signal_close((uv_signal_t*) handle); - /* Signal handles may not be closed immediately. The signal code will */ - /* itself close uv__make_close_pending whenever appropriate. */ + /* Signal handles may not be closed immediately. The signal code will + * itself close uv__make_close_pending whenever appropriate. */ return; default: @@ -927,6 +927,11 @@ int uv__io_active(const uv__io_t* w, unsigned int events) { } +int uv__fd_exists(uv_loop_t* loop, int fd) { + return (unsigned) fd < loop->nwatchers && loop->watchers[fd] != NULL; +} + + int uv_getrusage(uv_rusage_t* rusage) { struct rusage usage; diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c index de678733a9c179..652cdfd734ac5b 100644 --- a/deps/uv/src/unix/fs.c +++ b/deps/uv/src/unix/fs.c @@ -865,9 +865,11 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { /* If an error occurred that the sendfile fallback also won't handle, or this is a force clone then exit. Otherwise, fall through to try using sendfile(). */ - if ((errno != ENOTTY && errno != EOPNOTSUPP && errno != EXDEV) || - req->flags & UV_FS_COPYFILE_FICLONE_FORCE) { - err = -errno; + if (errno != ENOTTY && errno != EOPNOTSUPP && errno != EXDEV) { + err = UV__ERR(errno); + goto out; + } else if (req->flags & UV_FS_COPYFILE_FICLONE_FORCE) { + err = UV_ENOTSUP; goto out; } } else { @@ -927,7 +929,11 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { } } - return result; + if (result == 0) + return 0; + + errno = UV__ERR(result); + return -1; #endif } @@ -1114,6 +1120,7 @@ static void uv__fs_work(struct uv__work* w) { X(COPYFILE, uv__fs_copyfile(req)); X(FCHMOD, fchmod(req->file, req->mode)); X(FCHOWN, fchown(req->file, req->uid, req->gid)); + X(LCHOWN, lchown(req->path, req->uid, req->gid)); X(FDATASYNC, uv__fs_fdatasync(req)); X(FSTAT, uv__fs_fstat(req->file, &req->statbuf)); X(FSYNC, uv__fs_fsync(req)); @@ -1240,6 +1247,20 @@ int uv_fs_fchown(uv_loop_t* loop, } +int uv_fs_lchown(uv_loop_t* loop, + uv_fs_t* req, + const char* path, + uv_uid_t uid, + uv_gid_t gid, + uv_fs_cb cb) { + INIT(LCHOWN); + PATH; + req->uid = uid; + req->gid = gid; + POST; +} + + int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { INIT(FDATASYNC); req->file = file; diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h index 63e478fd98124b..b0c5dcadf155f6 100644 --- a/deps/uv/src/unix/internal.h +++ b/deps/uv/src/unix/internal.h @@ -219,6 +219,7 @@ int uv__io_active(const uv__io_t* w, unsigned int events); int uv__io_check_fd(uv_loop_t* loop, int fd); void uv__io_poll(uv_loop_t* loop, int timeout); /* in milliseconds or -1 */ int uv__io_fork(uv_loop_t* loop); +int uv__fd_exists(uv_loop_t* loop, int fd); /* async */ void uv__async_stop(uv_loop_t* loop); diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c index a30fd730ff872e..930f2da7126a5d 100644 --- a/deps/uv/src/unix/kqueue.c +++ b/deps/uv/src/unix/kqueue.c @@ -261,8 +261,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { w = loop->watchers[fd]; if (w == NULL) { - /* File descriptor that we've stopped watching, disarm it. */ - /* TODO batch up */ + /* File descriptor that we've stopped watching, disarm it. + * TODO: batch up. */ struct kevent events[1]; EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0); diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c index b63c25f3c2258f..d09bbcdd6f292b 100644 --- a/deps/uv/src/unix/linux-core.c +++ b/deps/uv/src/unix/linux-core.c @@ -51,7 +51,7 @@ #ifdef HAVE_IFADDRS_H # if defined(__ANDROID__) -# include "android-ifaddrs.h" +# include "uv/android-ifaddrs.h" # else # include # endif @@ -388,7 +388,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { * free when we switch over to edge-triggered I/O. */ if (pe->events == POLLERR || pe->events == POLLHUP) - pe->events |= w->pevents & (POLLIN | POLLOUT | UV__POLLPRI); + pe->events |= + w->pevents & (POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI); if (pe->events != 0) { /* Run signal watchers last. This also affects child process watchers diff --git a/deps/uv/src/unix/linux-inotify.c b/deps/uv/src/unix/linux-inotify.c index bcad630fabf112..7797f842524ed3 100644 --- a/deps/uv/src/unix/linux-inotify.c +++ b/deps/uv/src/unix/linux-inotify.c @@ -19,7 +19,7 @@ */ #include "uv.h" -#include "tree.h" +#include "uv/tree.h" #include "internal.h" #include diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c index 99ead6cbc0cac2..f990403d40c059 100644 --- a/deps/uv/src/unix/loop.c +++ b/deps/uv/src/unix/loop.c @@ -20,7 +20,7 @@ */ #include "uv.h" -#include "tree.h" +#include "uv/tree.h" #include "internal.h" #include "heap-inl.h" #include diff --git a/deps/uv/src/unix/pipe.c b/deps/uv/src/unix/pipe.c index 2c578dcb359957..91114db6162f8c 100644 --- a/deps/uv/src/unix/pipe.c +++ b/deps/uv/src/unix/pipe.c @@ -134,6 +134,9 @@ void uv__pipe_close(uv_pipe_t* handle) { int uv_pipe_open(uv_pipe_t* handle, uv_file fd) { int err; + if (uv__fd_exists(handle->loop, fd)) + return UV_EEXIST; + err = uv__nonblock(fd, 1); if (err) return err; diff --git a/deps/uv/src/unix/poll.c b/deps/uv/src/unix/poll.c index f3b0bf4e433942..3d5022b22e85b6 100644 --- a/deps/uv/src/unix/poll.c +++ b/deps/uv/src/unix/poll.c @@ -68,6 +68,9 @@ static void uv__poll_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd) { int err; + if (uv__fd_exists(loop, fd)) + return UV_EEXIST; + err = uv__io_check_fd(loop, fd); if (err) return err; diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c index b9d0a56084c6b3..8da08b86802425 100644 --- a/deps/uv/src/unix/signal.c +++ b/deps/uv/src/unix/signal.c @@ -54,8 +54,7 @@ static void uv__signal_unregister_handler(int signum); static uv_once_t uv__signal_global_init_guard = UV_ONCE_INIT; static struct uv__signal_tree_s uv__signal_tree = RB_INITIALIZER(uv__signal_tree); -static int uv__signal_lock_pipefd[2]; - +static int uv__signal_lock_pipefd[2] = { -1, -1 }; RB_GENERATE_STATIC(uv__signal_tree_s, uv_signal_s, tree_entry, @@ -64,7 +63,7 @@ RB_GENERATE_STATIC(uv__signal_tree_s, static void uv__signal_global_reinit(void); static void uv__signal_global_init(void) { - if (!uv__signal_lock_pipefd[0]) + if (uv__signal_lock_pipefd[0] == -1) /* pthread_atfork can register before and after handlers, one * for each child. This only registers one for the child. That * state is both persistent and cumulative, so if we keep doing @@ -74,15 +73,11 @@ static void uv__signal_global_init(void) { if (pthread_atfork(NULL, NULL, &uv__signal_global_reinit)) abort(); - if (uv__make_pipe(uv__signal_lock_pipefd, 0)) - abort(); - - if (uv__signal_unlock()) - abort(); + uv__signal_global_reinit(); } -static void uv__signal_global_reinit(void) { +UV_DESTRUCTOR(static void uv__signal_global_fini(void)) { /* We can only use signal-safe functions here. * That includes read/write and close, fortunately. * We do all of this directly here instead of resetting @@ -90,11 +85,26 @@ static void uv__signal_global_reinit(void) { * uv__signal_global_once_init is only called from uv_loop_init * and this needs to function in existing loops. */ - uv__close(uv__signal_lock_pipefd[0]); - uv__signal_lock_pipefd[0] = -1; - uv__close(uv__signal_lock_pipefd[1]); - uv__signal_lock_pipefd[1] = -1; - uv__signal_global_init(); + if (uv__signal_lock_pipefd[0] != -1) { + uv__close(uv__signal_lock_pipefd[0]); + uv__signal_lock_pipefd[0] = -1; + } + + if (uv__signal_lock_pipefd[1] != -1) { + uv__close(uv__signal_lock_pipefd[1]); + uv__signal_lock_pipefd[1] = -1; + } +} + + +static void uv__signal_global_reinit(void) { + uv__signal_global_fini(); + + if (uv__make_pipe(uv__signal_lock_pipefd, 0)) + abort(); + + if (uv__signal_unlock()) + abort(); } @@ -103,7 +113,6 @@ void uv__signal_global_once_init(void) { } - static int uv__signal_lock(void) { int r; char data; diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c index 5ec6bf4de29efc..fb56a06b43e3be 100644 --- a/deps/uv/src/unix/stream.c +++ b/deps/uv/src/unix/stream.c @@ -1121,6 +1121,7 @@ static int uv__stream_recv_cmsg(uv_stream_t* stream, struct msghdr* msg) { #ifdef __clang__ # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wgnu-folding-constant" +# pragma clang diagnostic ignored "-Wvla-extension" #endif static void uv__read(uv_stream_t* stream) { @@ -1311,7 +1312,7 @@ static void uv__stream_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { assert(uv__stream_fd(stream) >= 0); - /* Ignore POLLHUP here. Even it it's set, there may still be data to read. */ + /* Ignore POLLHUP here. Even if it's set, there may still be data to read. */ if (events & (POLLIN | POLLERR | POLLHUP)) uv__read(stream); diff --git a/deps/uv/src/unix/tcp.c b/deps/uv/src/unix/tcp.c index 9a46793fdbb9e6..27a2a6130cba1d 100644 --- a/deps/uv/src/unix/tcp.c +++ b/deps/uv/src/unix/tcp.c @@ -263,6 +263,9 @@ int uv__tcp_connect(uv_connect_t* req, int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock) { int err; + if (uv__fd_exists(handle->loop, sock)) + return UV_EEXIST; + err = uv__nonblock(sock, 1); if (err) return err; diff --git a/deps/uv/src/unix/udp.c b/deps/uv/src/unix/udp.c index 74d613b6843b7d..15da047a5c5fbc 100644 --- a/deps/uv/src/unix/udp.c +++ b/deps/uv/src/unix/udp.c @@ -624,6 +624,9 @@ int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock) { if (handle->io_watcher.fd != -1) return UV_EBUSY; + if (uv__fd_exists(handle->loop, sock)) + return UV_EEXIST; + err = uv__nonblock(sock, 1); if (err) return err; diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h index c497d014fd77f7..85bcbe6c8adece 100644 --- a/deps/uv/src/uv-common.h +++ b/deps/uv/src/uv-common.h @@ -32,13 +32,13 @@ #include #if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" +# include "uv/stdint-msvc2008.h" #else # include #endif #include "uv.h" -#include "tree.h" +#include "uv/tree.h" #include "queue.h" #if EDOM > 0 diff --git a/deps/uv/src/win/async.c b/deps/uv/src/win/async.c index 0b636ed1e9137a..13d3c7b33e48af 100644 --- a/deps/uv/src/win/async.c +++ b/deps/uv/src/win/async.c @@ -71,8 +71,8 @@ int uv_async_send(uv_async_t* handle) { return -1; } - /* The user should make sure never to call uv_async_send to a closing */ - /* or closed handle. */ + /* The user should make sure never to call uv_async_send to a closing or + * closed handle. */ assert(!(handle->flags & UV__HANDLE_CLOSING)); if (!uv__atomic_exchange_set(&handle->async_sent)) { diff --git a/deps/uv/src/win/atomicops-inl.h b/deps/uv/src/win/atomicops-inl.h index 6d8126f6921bbb..52713cf305feb5 100644 --- a/deps/uv/src/win/atomicops-inl.h +++ b/deps/uv/src/win/atomicops-inl.h @@ -29,10 +29,10 @@ /* Atomic set operation on char */ #ifdef _MSC_VER /* MSVC */ -/* _InterlockedOr8 is supported by MSVC on x32 and x64. It is slightly less */ -/* efficient than InterlockedExchange, but InterlockedExchange8 does not */ -/* exist, and interlocked operations on larger targets might require the */ -/* target to be aligned. */ +/* _InterlockedOr8 is supported by MSVC on x32 and x64. It is slightly less + * efficient than InterlockedExchange, but InterlockedExchange8 does not exist, + * and interlocked operations on larger targets might require the target to be + * aligned. */ #pragma intrinsic(_InterlockedOr8) static char INLINE uv__atomic_exchange_set(char volatile* target) { diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c index 5fa9b6666dab5a..d6af282a2999ee 100644 --- a/deps/uv/src/win/core.c +++ b/deps/uv/src/win/core.c @@ -359,58 +359,7 @@ int uv_backend_timeout(const uv_loop_t* loop) { } -static void uv_poll(uv_loop_t* loop, DWORD timeout) { - DWORD bytes; - ULONG_PTR key; - OVERLAPPED* overlapped; - uv_req_t* req; - int repeat; - uint64_t timeout_time; - - timeout_time = loop->time + timeout; - - for (repeat = 0; ; repeat++) { - GetQueuedCompletionStatus(loop->iocp, - &bytes, - &key, - &overlapped, - timeout); - - if (overlapped) { - /* Package was dequeued */ - req = uv_overlapped_to_req(overlapped); - uv_insert_pending_req(loop, req); - - /* Some time might have passed waiting for I/O, - * so update the loop time here. - */ - uv_update_time(loop); - } else if (GetLastError() != WAIT_TIMEOUT) { - /* Serious error */ - uv_fatal_error(GetLastError(), "GetQueuedCompletionStatus"); - } else if (timeout > 0) { - /* GetQueuedCompletionStatus can occasionally return a little early. - * Make sure that the desired timeout target time is reached. - */ - uv_update_time(loop); - if (timeout_time > loop->time) { - timeout = (DWORD)(timeout_time - loop->time); - /* The first call to GetQueuedCompletionStatus should return very - * close to the target time and the second should reach it, but - * this is not stated in the documentation. To make sure a busy - * loop cannot happen, the timeout is increased exponentially - * starting on the third round. - */ - timeout += repeat ? (1 << (repeat - 1)) : 0; - continue; - } - } - break; - } -} - - -static void uv_poll_ex(uv_loop_t* loop, DWORD timeout) { +static void uv__poll(uv_loop_t* loop, DWORD timeout) { BOOL success; uv_req_t* req; OVERLAPPED_ENTRY overlappeds[128]; @@ -422,12 +371,12 @@ static void uv_poll_ex(uv_loop_t* loop, DWORD timeout) { timeout_time = loop->time + timeout; for (repeat = 0; ; repeat++) { - success = pGetQueuedCompletionStatusEx(loop->iocp, - overlappeds, - ARRAY_SIZE(overlappeds), - &count, - timeout, - FALSE); + success = GetQueuedCompletionStatusEx(loop->iocp, + overlappeds, + ARRAY_SIZE(overlappeds), + &count, + timeout, + FALSE); if (success) { for (i = 0; i < count; i++) { @@ -485,12 +434,6 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { DWORD timeout; int r; int ran_pending; - void (*poll)(uv_loop_t* loop, DWORD timeout); - - if (pGetQueuedCompletionStatusEx) - poll = &uv_poll_ex; - else - poll = &uv_poll; r = uv__loop_alive(loop); if (!r) @@ -508,7 +451,7 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { if ((mode == UV_RUN_ONCE && !ran_pending) || mode == UV_RUN_DEFAULT) timeout = uv_backend_timeout(loop); - (*poll)(loop, timeout); + uv__poll(loop, timeout); uv_check_invoke(loop); uv_process_endgames(loop); diff --git a/deps/uv/src/win/error.c b/deps/uv/src/win/error.c index 9b03bfef6b5d71..24924ba81ef3b2 100644 --- a/deps/uv/src/win/error.c +++ b/deps/uv/src/win/error.c @@ -46,8 +46,8 @@ void uv_fatal_error(const int errorno, const char* syscall) { errmsg = "Unknown error"; } - /* FormatMessage messages include a newline character already, */ - /* so don't add another. */ + /* FormatMessage messages include a newline character already, so don't add + * another. */ if (syscall) { fprintf(stderr, "%s: (%d) %s", syscall, errorno, errmsg); } else { diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c index 30b87ac51549f0..71b6a81a0d5a8a 100644 --- a/deps/uv/src/win/fs.c +++ b/deps/uv/src/win/fs.c @@ -326,12 +326,11 @@ INLINE static int fs__readlink_handle(HANDLE handle, char** target_ptr, reparse_data->SymbolicLinkReparseBuffer.SubstituteNameLength / sizeof(WCHAR); - /* Real symlinks can contain pretty much everything, but the only thing */ - /* we really care about is undoing the implicit conversion to an NT */ - /* namespaced path that CreateSymbolicLink will perform on absolute */ - /* paths. If the path is win32-namespaced then the user must have */ - /* explicitly made it so, and we better just return the unmodified */ - /* reparse data. */ + /* Real symlinks can contain pretty much everything, but the only thing we + * really care about is undoing the implicit conversion to an NT namespaced + * path that CreateSymbolicLink will perform on absolute paths. If the path + * is win32-namespaced then the user must have explicitly made it so, and + * we better just return the unmodified reparse data. */ if (w_target_len >= 4 && w_target[0] == L'\\' && w_target[1] == L'?' && @@ -352,8 +351,8 @@ INLINE static int fs__readlink_handle(HANDLE handle, char** target_ptr, (w_target[5] == L'N' || w_target[5] == L'n') && (w_target[6] == L'C' || w_target[6] == L'c') && w_target[7] == L'\\') { - /* \??\UNC\\\ - make sure the final path looks like */ - /* \\\\ */ + /* \??\UNC\\\ - make sure the final path looks like + * \\\\ */ w_target += 6; w_target[0] = L'\\'; w_target_len -= 6; @@ -368,11 +367,11 @@ INLINE static int fs__readlink_handle(HANDLE handle, char** target_ptr, w_target_len = reparse_data->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR); - /* Only treat junctions that look like \??\:\ as symlink. */ - /* Junctions can also be used as mount points, like \??\Volume{}, */ - /* but that's confusing for programs since they wouldn't be able to */ - /* actually understand such a path when returned by uv_readlink(). */ - /* UNC paths are never valid for junctions so we don't care about them. */ + /* Only treat junctions that look like \??\:\ as symlink. Junctions + * can also be used as mount points, like \??\Volume{}, but that's + * confusing for programs since they wouldn't be able to actually + * understand such a path when returned by uv_readlink(). UNC paths are + * never valid for junctions so we don't care about them. */ if (!(w_target_len >= 6 && w_target[0] == L'\\' && w_target[1] == L'?' && @@ -409,8 +408,8 @@ void fs__open(uv_fs_t* req) { int fd, current_umask; int flags = req->fs.info.file_flags; - /* Obtain the active umask. umask() never fails and returns the previous */ - /* umask. */ + /* Obtain the active umask. umask() never fails and returns the previous + * umask. */ current_umask = umask(0); umask(current_umask); @@ -530,8 +529,8 @@ void fs__open(uv_fs_t* req) { DWORD error = GetLastError(); if (error == ERROR_FILE_EXISTS && (flags & UV_FS_O_CREAT) && !(flags & UV_FS_O_EXCL)) { - /* Special case: when ERROR_FILE_EXISTS happens and UV_FS_O_CREAT was */ - /* specified, it means the path referred to a directory. */ + /* Special case: when ERROR_FILE_EXISTS happens and UV_FS_O_CREAT was + * specified, it means the path referred to a directory. */ SET_REQ_UV_ERROR(req, UV_EISDIR, error); } else { SET_REQ_WIN32_ERROR(req, GetLastError()); @@ -756,9 +755,9 @@ void fs__unlink(uv_fs_t* req) { } if (info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { - /* Do not allow deletion of directories, unless it is a symlink. When */ - /* the path refers to a non-symlink directory, report EPERM as mandated */ - /* by POSIX.1. */ + /* Do not allow deletion of directories, unless it is a symlink. When the + * path refers to a non-symlink directory, report EPERM as mandated by + * POSIX.1. */ /* Check if it is a reparse point. If it's not, it's a normal directory. */ if (!(info.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { @@ -767,8 +766,8 @@ void fs__unlink(uv_fs_t* req) { return; } - /* Read the reparse point and check if it is a valid symlink. */ - /* If not, don't unlink. */ + /* Read the reparse point and check if it is a valid symlink. If not, don't + * unlink. */ if (fs__readlink_handle(handle, NULL, NULL) < 0) { DWORD error = GetLastError(); if (error == ERROR_SYMLINK_NOT_SUPPORTED) @@ -1490,6 +1489,7 @@ static void fs__chmod(uv_fs_t* req) { static void fs__fchmod(uv_fs_t* req) { int fd = req->file.fd; + int clear_archive_flag; HANDLE handle; NTSTATUS nt_status; IO_STATUS_BLOCK io_status; @@ -1497,7 +1497,11 @@ static void fs__fchmod(uv_fs_t* req) { VERIFY_FD(fd, req); - handle = uv__get_osfhandle(fd); + handle = ReOpenFile(uv__get_osfhandle(fd), FILE_WRITE_ATTRIBUTES, 0, 0); + if (handle == INVALID_HANDLE_VALUE) { + SET_REQ_WIN32_ERROR(req, GetLastError()); + return; + } nt_status = pNtQueryInformationFile(handle, &io_status, @@ -1507,7 +1511,27 @@ static void fs__fchmod(uv_fs_t* req) { if (!NT_SUCCESS(nt_status)) { SET_REQ_WIN32_ERROR(req, pRtlNtStatusToDosError(nt_status)); - return; + goto fchmod_cleanup; + } + + /* Test if the Archive attribute is cleared */ + if ((file_info.FileAttributes & FILE_ATTRIBUTE_ARCHIVE) == 0) { + /* Set Archive flag, otherwise setting or clearing the read-only + flag will not work */ + file_info.FileAttributes |= FILE_ATTRIBUTE_ARCHIVE; + nt_status = pNtSetInformationFile(handle, + &io_status, + &file_info, + sizeof file_info, + FileBasicInformation); + if (!NT_SUCCESS(nt_status)) { + SET_REQ_WIN32_ERROR(req, pRtlNtStatusToDosError(nt_status)); + goto fchmod_cleanup; + } + /* Remeber to clear the flag later on */ + clear_archive_flag = 1; + } else { + clear_archive_flag = 0; } if (req->fs.info.mode & _S_IWRITE) { @@ -1524,10 +1548,28 @@ static void fs__fchmod(uv_fs_t* req) { if (!NT_SUCCESS(nt_status)) { SET_REQ_WIN32_ERROR(req, pRtlNtStatusToDosError(nt_status)); - return; + goto fchmod_cleanup; + } + + if (clear_archive_flag) { + file_info.FileAttributes &= ~FILE_ATTRIBUTE_ARCHIVE; + if (file_info.FileAttributes == 0) { + file_info.FileAttributes = FILE_ATTRIBUTE_NORMAL; + } + nt_status = pNtSetInformationFile(handle, + &io_status, + &file_info, + sizeof file_info, + FileBasicInformation); + if (!NT_SUCCESS(nt_status)) { + SET_REQ_WIN32_ERROR(req, pRtlNtStatusToDosError(nt_status)); + goto fchmod_cleanup; + } } SET_REQ_SUCCESS(req); +fchmod_cleanup: + CloseHandle(handle); } @@ -1787,17 +1829,13 @@ static void fs__symlink(uv_fs_t* req) { fs__create_junction(req, pathw, new_pathw); return; } - if (!pCreateSymbolicLinkW) { - SET_REQ_UV_ERROR(req, UV_ENOSYS, ERROR_NOT_SUPPORTED); - return; - } if (req->fs.info.file_flags & UV_FS_SYMLINK_DIR) flags = SYMBOLIC_LINK_FLAG_DIRECTORY | uv__file_symlink_usermode_flag; else flags = uv__file_symlink_usermode_flag; - if (pCreateSymbolicLinkW(new_pathw, pathw, flags)) { + if (CreateSymbolicLinkW(new_pathw, pathw, flags)) { SET_REQ_RESULT(req, 0); return; } @@ -1854,7 +1892,7 @@ static size_t fs__realpath_handle(HANDLE handle, char** realpath_ptr) { WCHAR* w_realpath_ptr = NULL; WCHAR* w_realpath_buf; - w_realpath_len = pGetFinalPathNameByHandleW(handle, NULL, 0, VOLUME_NAME_DOS); + w_realpath_len = GetFinalPathNameByHandleW(handle, NULL, 0, VOLUME_NAME_DOS); if (w_realpath_len == 0) { return -1; } @@ -1866,10 +1904,8 @@ static size_t fs__realpath_handle(HANDLE handle, char** realpath_ptr) { } w_realpath_ptr = w_realpath_buf; - if (pGetFinalPathNameByHandleW(handle, - w_realpath_ptr, - w_realpath_len, - VOLUME_NAME_DOS) == 0) { + if (GetFinalPathNameByHandleW( + handle, w_realpath_ptr, w_realpath_len, VOLUME_NAME_DOS) == 0) { uv__free(w_realpath_buf); SetLastError(ERROR_INVALID_HANDLE); return -1; @@ -1901,11 +1937,6 @@ static size_t fs__realpath_handle(HANDLE handle, char** realpath_ptr) { static void fs__realpath(uv_fs_t* req) { HANDLE handle; - if (!pGetFinalPathNameByHandleW) { - SET_REQ_UV_ERROR(req, UV_ENOSYS, ERROR_NOT_SUPPORTED); - return; - } - handle = CreateFileW(req->file.pathw, 0, 0, @@ -1940,6 +1971,10 @@ static void fs__fchown(uv_fs_t* req) { } +static void fs__lchown(uv_fs_t* req) { + req->result = 0; +} + static void uv__fs_work(struct uv__work* w) { uv_fs_t* req; @@ -1977,6 +2012,7 @@ static void uv__fs_work(struct uv__work* w) { XX(REALPATH, realpath) XX(CHOWN, chown) XX(FCHOWN, fchown); + XX(LCHOWN, lchown); default: assert(!"bad uv_fs_type"); } @@ -2262,6 +2298,19 @@ int uv_fs_fchown(uv_loop_t* loop, uv_fs_t* req, uv_file fd, uv_uid_t uid, } +int uv_fs_lchown(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_uid_t uid, + uv_gid_t gid, uv_fs_cb cb) { + int err; + + INIT(UV_FS_LCHOWN); + err = fs__capture_path(req, path, NULL, cb != NULL); + if (err) { + return uv_translate_sys_error(err); + } + POST; +} + + int uv_fs_stat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) { int err; diff --git a/deps/uv/src/win/getaddrinfo.c b/deps/uv/src/win/getaddrinfo.c index 5adc7663bd6b68..063b4937cdad24 100644 --- a/deps/uv/src/win/getaddrinfo.c +++ b/deps/uv/src/win/getaddrinfo.c @@ -71,8 +71,8 @@ int uv__getaddrinfo_translate_error(int sys_err) { #endif -/* adjust size value to be multiple of 4. Use to keep pointer aligned */ -/* Do we need different versions of this for different architectures? */ +/* Adjust size value to be multiple of 4. Use to keep pointer aligned. + * Do we need different versions of this for different architectures? */ #define ALIGNED_SIZE(X) ((((X) + 3) >> 2) << 2) #ifndef NDIS_IF_MAX_STRING_SIZE @@ -124,8 +124,7 @@ static void uv__getaddrinfo_done(struct uv__work* w, int status) { } if (req->retcode == 0) { - /* convert addrinfoW to addrinfo */ - /* first calculate required length */ + /* Convert addrinfoW to addrinfo. First calculate required length. */ addrinfow_ptr = req->addrinfow; while (addrinfow_ptr != NULL) { addrinfo_len += addrinfo_struct_len + @@ -313,8 +312,8 @@ int uv_getaddrinfo(uv_loop_t* loop, /* save alloc_ptr now so we can free if error */ req->alloc = (void*)alloc_ptr; - /* convert node string to UTF16 into allocated memory and save pointer in */ - /* the request. */ + /* Convert node string to UTF16 into allocated memory and save pointer in the + * request. */ if (node != NULL) { req->node = (WCHAR*)alloc_ptr; if (MultiByteToWideChar(CP_UTF8, @@ -331,8 +330,8 @@ int uv_getaddrinfo(uv_loop_t* loop, req->node = NULL; } - /* convert service string to UTF16 into allocated memory and save pointer */ - /* in the req. */ + /* Convert service string to UTF16 into allocated memory and save pointer in + * the req. */ if (service != NULL) { req->service = (WCHAR*)alloc_ptr; if (MultiByteToWideChar(CP_UTF8, @@ -392,21 +391,15 @@ int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size) { DWORD bufsize; int r; - uv__once_init(); - if (buffer == NULL || size == NULL || *size == 0) return UV_EINVAL; - if (pConvertInterfaceIndexToLuid == NULL) - return UV_ENOSYS; - r = pConvertInterfaceIndexToLuid(ifindex, &luid); + r = ConvertInterfaceIndexToLuid(ifindex, &luid); if (r != 0) return uv_translate_sys_error(r); - if (pConvertInterfaceLuidToNameW == NULL) - return UV_ENOSYS; - r = pConvertInterfaceLuidToNameW(&luid, wname, ARRAY_SIZE(wname)); + r = ConvertInterfaceLuidToNameW(&luid, wname, ARRAY_SIZE(wname)); if (r != 0) return uv_translate_sys_error(r); diff --git a/deps/uv/src/win/handle-inl.h b/deps/uv/src/win/handle-inl.h index 8d0334cc52a75c..ed843072dfc026 100644 --- a/deps/uv/src/win/handle-inl.h +++ b/deps/uv/src/win/handle-inl.h @@ -164,10 +164,10 @@ INLINE static void uv_process_endgames(uv_loop_t* loop) { INLINE static HANDLE uv__get_osfhandle(int fd) { - /* _get_osfhandle() raises an assert in debug builds if the FD is invalid. */ - /* But it also correctly checks the FD and returns INVALID_HANDLE_VALUE */ - /* for invalid FDs in release builds (or if you let the assert continue). */ - /* So this wrapper function disables asserts when calling _get_osfhandle. */ + /* _get_osfhandle() raises an assert in debug builds if the FD is invalid. + * But it also correctly checks the FD and returns INVALID_HANDLE_VALUE for + * invalid FDs in release builds (or if you let the assert continue). So this + * wrapper function disables asserts when calling _get_osfhandle. */ HANDLE handle; UV_BEGIN_DISABLE_CRT_ASSERT(); diff --git a/deps/uv/src/win/internal.h b/deps/uv/src/win/internal.h index cce4e204d26552..fa926d9a44986e 100644 --- a/deps/uv/src/win/internal.h +++ b/deps/uv/src/win/internal.h @@ -25,7 +25,7 @@ #include "uv.h" #include "../uv-common.h" -#include "tree.h" +#include "uv/tree.h" #include "winapi.h" #include "winsock.h" @@ -99,7 +99,6 @@ extern UV_THREAD_LOCAL int uv__crt_assert_enabled; /* Only used by uv_pipe_t handles. */ #define UV_HANDLE_NON_OVERLAPPED_PIPE 0x01000000 #define UV_HANDLE_PIPESERVER 0x02000000 -#define UV_HANDLE_PIPE_READ_CANCELABLE 0x04000000 /* Only used by uv_tty_t handles. */ #define UV_HANDLE_TTY_READABLE 0x01000000 @@ -127,8 +126,9 @@ extern UV_THREAD_LOCAL int uv__crt_assert_enabled; typedef struct { WSAPROTOCOL_INFOW socket_info; - int delayed_error; -} uv__ipc_socket_info_ex; + uint32_t delayed_error; + uint32_t flags; /* Either zero or UV_HANDLE_CONNECTION. */ +} uv__ipc_socket_xfer_info_t; int uv_tcp_listen(uv_tcp_t* handle, int backlog, uv_connection_cb cb); int uv_tcp_accept(uv_tcp_t* server, uv_tcp_t* client); @@ -150,11 +150,10 @@ void uv_process_tcp_connect_req(uv_loop_t* loop, uv_tcp_t* handle, void uv_tcp_close(uv_loop_t* loop, uv_tcp_t* tcp); void uv_tcp_endgame(uv_loop_t* loop, uv_tcp_t* handle); -int uv_tcp_import(uv_tcp_t* tcp, uv__ipc_socket_info_ex* socket_info_ex, - int tcp_connection); - -int uv_tcp_duplicate_socket(uv_tcp_t* handle, int pid, - LPWSAPROTOCOL_INFOW protocol_info); +int uv__tcp_xfer_export(uv_tcp_t* handle, + int pid, + uv__ipc_socket_xfer_info_t* xfer_info); +int uv__tcp_xfer_import(uv_tcp_t* tcp, uv__ipc_socket_xfer_info_t* xfer_info); /* @@ -178,14 +177,14 @@ int uv_pipe_listen(uv_pipe_t* handle, int backlog, uv_connection_cb cb); int uv_pipe_accept(uv_pipe_t* server, uv_stream_t* client); int uv_pipe_read_start(uv_pipe_t* handle, uv_alloc_cb alloc_cb, uv_read_cb read_cb); -int uv_pipe_write(uv_loop_t* loop, uv_write_t* req, uv_pipe_t* handle, - const uv_buf_t bufs[], unsigned int nbufs, uv_write_cb cb); -int uv_pipe_write2(uv_loop_t* loop, uv_write_t* req, uv_pipe_t* handle, - const uv_buf_t bufs[], unsigned int nbufs, uv_stream_t* send_handle, - uv_write_cb cb); -void uv__pipe_pause_read(uv_pipe_t* handle); -void uv__pipe_unpause_read(uv_pipe_t* handle); -void uv__pipe_stop_read(uv_pipe_t* handle); +void uv__pipe_read_stop(uv_pipe_t* handle); +int uv__pipe_write(uv_loop_t* loop, + uv_write_t* req, + uv_pipe_t* handle, + const uv_buf_t bufs[], + size_t nbufs, + uv_stream_t* send_handle, + uv_write_cb cb); void uv_process_pipe_read_req(uv_loop_t* loop, uv_pipe_t* handle, uv_req_t* req); @@ -332,7 +331,6 @@ void uv__fs_poll_endgame(uv_loop_t* loop, uv_fs_poll_t* handle); void uv__util_init(void); uint64_t uv__hrtime(double scale); -int uv_current_pid(void); __declspec(noreturn) void uv_fatal_error(const int errorno, const char* syscall); int uv__getpwuid_r(uv_passwd_t* pwd); int uv__convert_utf16_to_utf8(const WCHAR* utf16, int utf16len, char** utf8); diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c index 83ee4f99ca363d..ae569326dd0004 100644 --- a/deps/uv/src/win/pipe.c +++ b/deps/uv/src/win/pipe.c @@ -21,9 +21,10 @@ #include #include -#include +#include #include #include +#include #include "uv.h" #include "internal.h" @@ -34,26 +35,14 @@ #include #include -typedef struct uv__ipc_queue_item_s uv__ipc_queue_item_t; - -struct uv__ipc_queue_item_s { - /* - * NOTE: It is important for socket_info_ex to be the first field, - * because we will we assigning it to the pending_ipc_info.socket_info - */ - uv__ipc_socket_info_ex socket_info_ex; - QUEUE member; - int tcp_connection; -}; - /* A zero-size buffer for use by uv_pipe_read */ static char uv_zero_[] = ""; /* Null uv_buf_t */ static const uv_buf_t uv_null_buf_ = { 0, NULL }; -/* The timeout that the pipe will wait for the remote end to write data */ -/* when the local ends wants to shut it down. */ +/* The timeout that the pipe will wait for the remote end to write data when + * the local ends wants to shut it down. */ static const int64_t eof_timeout = 50; /* ms */ static const int default_pending_pipe_instances = 4; @@ -62,22 +51,27 @@ static const int default_pending_pipe_instances = 4; static char pipe_prefix[] = "\\\\?\\pipe"; static const int pipe_prefix_len = sizeof(pipe_prefix) - 1; -/* IPC protocol flags. */ -#define UV_IPC_RAW_DATA 0x0001 -#define UV_IPC_TCP_SERVER 0x0002 -#define UV_IPC_TCP_CONNECTION 0x0004 +/* IPC incoming xfer queue item. */ +typedef struct { + uv__ipc_socket_xfer_info_t xfer_info; + QUEUE member; +} uv__ipc_xfer_queue_item_t; + +/* IPC frame types. */ +enum { UV__IPC_DATA_FRAME = 0, UV__IPC_XFER_FRAME = 1 }; /* IPC frame header. */ typedef struct { - int flags; - uint64_t raw_data_length; -} uv_ipc_frame_header_t; + uint32_t type; + uint32_t payload_length; +} uv__ipc_frame_header_t; -/* IPC frame, which contains an imported TCP socket stream. */ +/* Coalesced write request. */ typedef struct { - uv_ipc_frame_header_t header; - uv__ipc_socket_info_ex socket_info_ex; -} uv_ipc_frame_uv_stream; + uv_write_t req; /* Internal heap-allocated write request. */ + uv_write_t* user_req; /* Pointer to user-specified uv_write_t. */ +} uv__coalesced_write_t; + static void eof_timer_init(uv_pipe_t* pipe); static void eof_timer_start(uv_pipe_t* pipe); @@ -98,15 +92,12 @@ int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) { handle->reqs_pending = 0; handle->handle = INVALID_HANDLE_VALUE; handle->name = NULL; - handle->pipe.conn.ipc_pid = 0; - handle->pipe.conn.remaining_ipc_rawdata_bytes = 0; - QUEUE_INIT(&handle->pipe.conn.pending_ipc_info.queue); - handle->pipe.conn.pending_ipc_info.queue_len = 0; + handle->pipe.conn.ipc_remote_pid = 0; + handle->pipe.conn.ipc_data_frame.payload_remaining = 0; + QUEUE_INIT(&handle->pipe.conn.ipc_xfer_queue); + handle->pipe.conn.ipc_xfer_queue_length = 0; handle->ipc = ipc; handle->pipe.conn.non_overlapped_writes_tail = NULL; - handle->pipe.conn.readfile_thread = NULL; - - UV_REQ_INIT(&handle->pipe.conn.ipc_header_write_req, UV_UNKNOWN_REQ); return 0; } @@ -117,10 +108,9 @@ static void uv_pipe_connection_init(uv_pipe_t* handle) { handle->read_req.data = handle; handle->pipe.conn.eof_timer = NULL; assert(!(handle->flags & UV_HANDLE_PIPESERVER)); - if (pCancelSynchronousIo && - handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) { - uv_mutex_init(&handle->pipe.conn.readfile_mutex); - handle->flags |= UV_HANDLE_PIPE_READ_CANCELABLE; + if (handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) { + handle->pipe.conn.readfile_thread_handle = NULL; + InitializeCriticalSection(&handle->pipe.conn.readfile_thread_lock); } } @@ -347,12 +337,7 @@ void uv_pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) { NTSTATUS nt_status; IO_STATUS_BLOCK io_status; FILE_PIPE_LOCAL_INFORMATION pipe_info; - uv__ipc_queue_item_t* item; - - if (handle->flags & UV_HANDLE_PIPE_READ_CANCELABLE) { - handle->flags &= ~UV_HANDLE_PIPE_READ_CANCELABLE; - uv_mutex_destroy(&handle->pipe.conn.readfile_mutex); - } + uv__ipc_xfer_queue_item_t* xfer_queue_item; if ((handle->flags & UV_HANDLE_CONNECTION) && handle->stream.conn.shutdown_req != NULL && @@ -429,27 +414,27 @@ void uv_pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) { if (handle->flags & UV_HANDLE_CONNECTION) { /* Free pending sockets */ - while (!QUEUE_EMPTY(&handle->pipe.conn.pending_ipc_info.queue)) { + while (!QUEUE_EMPTY(&handle->pipe.conn.ipc_xfer_queue)) { QUEUE* q; SOCKET socket; - q = QUEUE_HEAD(&handle->pipe.conn.pending_ipc_info.queue); + q = QUEUE_HEAD(&handle->pipe.conn.ipc_xfer_queue); QUEUE_REMOVE(q); - item = QUEUE_DATA(q, uv__ipc_queue_item_t, member); + xfer_queue_item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member); /* Materialize socket and close it */ socket = WSASocketW(FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, - &item->socket_info_ex.socket_info, + &xfer_queue_item->xfer_info.socket_info, 0, WSA_FLAG_OVERLAPPED); - uv__free(item); + uv__free(xfer_queue_item); if (socket != INVALID_SOCKET) closesocket(socket); } - handle->pipe.conn.pending_ipc_info.queue_len = 0; + handle->pipe.conn.ipc_xfer_queue_length = 0; if (handle->flags & UV_HANDLE_EMULATE_IOCP) { if (handle->read_req.wait_handle != INVALID_HANDLE_VALUE) { @@ -461,6 +446,9 @@ void uv_pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) { handle->read_req.event_handle = NULL; } } + + if (handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) + DeleteCriticalSection(&handle->pipe.conn.readfile_thread_lock); } if (handle->flags & UV_HANDLE_PIPESERVER) { @@ -595,8 +583,8 @@ static DWORD WINAPI pipe_connect_thread_proc(void* parameter) { loop = handle->loop; assert(loop); - /* We're here because CreateFile on a pipe returned ERROR_PIPE_BUSY. */ - /* We wait for the pipe to become available with WaitNamedPipe. */ + /* We're here because CreateFile on a pipe returned ERROR_PIPE_BUSY. We wait + * for the pipe to become available with WaitNamedPipe. */ while (WaitNamedPipeW(handle->name, 30000)) { /* The pipe is now available, try to connect. */ pipeHandle = open_named_pipe(handle->name, &duplex_flags); @@ -706,55 +694,68 @@ void uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle, } -void uv__pipe_pause_read(uv_pipe_t* handle) { - if (handle->flags & UV_HANDLE_PIPE_READ_CANCELABLE) { - /* Pause the ReadFile task briefly, to work - around the Windows kernel bug that causes - any access to a NamedPipe to deadlock if - any process has called ReadFile */ - HANDLE h; - uv_mutex_lock(&handle->pipe.conn.readfile_mutex); - h = handle->pipe.conn.readfile_thread; - while (h) { - /* spinlock: we expect this to finish quickly, - or we are probably about to deadlock anyways - (in the kernel), so it doesn't matter */ - pCancelSynchronousIo(h); - SwitchToThread(); /* yield thread control briefly */ - h = handle->pipe.conn.readfile_thread; - } - } -} +void uv__pipe_interrupt_read(uv_pipe_t* handle) { + BOOL r; + + if (!(handle->flags & UV_HANDLE_READ_PENDING)) + return; /* No pending reads. */ + if (handle->flags & UV_HANDLE_CANCELLATION_PENDING) + return; /* Already cancelled. */ + if (handle->handle == INVALID_HANDLE_VALUE) + return; /* Pipe handle closed. */ + + if (!(handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE)) { + /* Cancel asynchronous read. */ + r = CancelIoEx(handle->handle, &handle->read_req.u.io.overlapped); + assert(r || GetLastError() == ERROR_NOT_FOUND); + } else { + /* Cancel synchronous read (which is happening in the thread pool). */ + HANDLE thread; + volatile HANDLE* thread_ptr = &handle->pipe.conn.readfile_thread_handle; + + EnterCriticalSection(&handle->pipe.conn.readfile_thread_lock); + + thread = *thread_ptr; + if (thread == NULL) { + /* The thread pool thread has not yet reached the point of blocking, we + * can pre-empt it by setting thread_handle to INVALID_HANDLE_VALUE. */ + *thread_ptr = INVALID_HANDLE_VALUE; + + } else { + /* Spin until the thread has acknowledged (by setting the thread to + * INVALID_HANDLE_VALUE) that it is past the point of blocking. */ + while (thread != INVALID_HANDLE_VALUE) { + r = CancelSynchronousIo(thread); + assert(r || GetLastError() == ERROR_NOT_FOUND); + SwitchToThread(); /* Yield thread. */ + thread = *thread_ptr; + } + } -void uv__pipe_unpause_read(uv_pipe_t* handle) { - if (handle->flags & UV_HANDLE_PIPE_READ_CANCELABLE) { - uv_mutex_unlock(&handle->pipe.conn.readfile_mutex); + LeaveCriticalSection(&handle->pipe.conn.readfile_thread_lock); } + + /* Set flag to indicate that read has been cancelled. */ + handle->flags |= UV_HANDLE_CANCELLATION_PENDING; } -void uv__pipe_stop_read(uv_pipe_t* handle) { - if (pCancelIoEx && - !(handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) && - !(handle->flags & UV_HANDLE_EMULATE_IOCP) && - handle->flags & UV_HANDLE_READING && - handle->read_req.type == UV_READ) { - pCancelIoEx(handle->handle, &handle->read_req.u.io.overlapped); - } +void uv__pipe_read_stop(uv_pipe_t* handle) { handle->flags &= ~UV_HANDLE_READING; - uv__pipe_pause_read((uv_pipe_t*)handle); - uv__pipe_unpause_read((uv_pipe_t*)handle); + DECREASE_ACTIVE_COUNT(handle->loop, handle); + + uv__pipe_interrupt_read(handle); } -/* Cleans up uv_pipe_t (server or connection) and all resources associated */ -/* with it. */ +/* Cleans up uv_pipe_t (server or connection) and all resources associated with + * it. */ void uv_pipe_cleanup(uv_loop_t* loop, uv_pipe_t* handle) { int i; HANDLE pipeHandle; - uv__pipe_stop_read(handle); + uv__pipe_interrupt_read(handle); if (handle->name) { uv__free(handle->name); @@ -864,23 +865,21 @@ int uv_pipe_accept(uv_pipe_t* server, uv_stream_t* client) { uv_pipe_t* pipe_client; uv_pipe_accept_t* req; QUEUE* q; - uv__ipc_queue_item_t* item; + uv__ipc_xfer_queue_item_t* item; int err; if (server->ipc) { - if (QUEUE_EMPTY(&server->pipe.conn.pending_ipc_info.queue)) { + if (QUEUE_EMPTY(&server->pipe.conn.ipc_xfer_queue)) { /* No valid pending sockets. */ return WSAEWOULDBLOCK; } - q = QUEUE_HEAD(&server->pipe.conn.pending_ipc_info.queue); + q = QUEUE_HEAD(&server->pipe.conn.ipc_xfer_queue); QUEUE_REMOVE(q); - server->pipe.conn.pending_ipc_info.queue_len--; - item = QUEUE_DATA(q, uv__ipc_queue_item_t, member); + server->pipe.conn.ipc_xfer_queue_length--; + item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member); - err = uv_tcp_import((uv_tcp_t*)client, - &item->socket_info_ex, - item->tcp_connection); + err = uv__tcp_xfer_import((uv_tcp_t*) client, &item->xfer_info); if (err != 0) return err; @@ -889,8 +888,8 @@ int uv_pipe_accept(uv_pipe_t* server, uv_stream_t* client) { } else { pipe_client = (uv_pipe_t*)client; - /* Find a connection instance that has been connected, but not yet */ - /* accepted. */ + /* Find a connection instance that has been connected, but not yet + * accepted. */ req = server->pipe.serv.pending_accepts; if (!req) { @@ -953,74 +952,75 @@ int uv_pipe_listen(uv_pipe_t* handle, int backlog, uv_connection_cb cb) { } -static DWORD WINAPI uv_pipe_zero_readfile_thread_proc(void* parameter) { - int result; - DWORD bytes; - uv_read_t* req = (uv_read_t*) parameter; +static DWORD WINAPI uv_pipe_zero_readfile_thread_proc(void* arg) { + uv_read_t* req = (uv_read_t*) arg; uv_pipe_t* handle = (uv_pipe_t*) req->data; uv_loop_t* loop = handle->loop; - HANDLE hThread = NULL; + volatile HANDLE* thread_ptr = &handle->pipe.conn.readfile_thread_handle; + CRITICAL_SECTION* lock = &handle->pipe.conn.readfile_thread_lock; + HANDLE thread; + DWORD bytes; DWORD err; - uv_mutex_t *m = &handle->pipe.conn.readfile_mutex; - assert(req != NULL); assert(req->type == UV_READ); assert(handle->type == UV_NAMED_PIPE); - if (handle->flags & UV_HANDLE_PIPE_READ_CANCELABLE) { - uv_mutex_lock(m); /* mutex controls *setting* of readfile_thread */ - if (DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), - GetCurrentProcess(), &hThread, - 0, FALSE, DUPLICATE_SAME_ACCESS)) { - handle->pipe.conn.readfile_thread = hThread; - } else { - hThread = NULL; - } - uv_mutex_unlock(m); + err = 0; + + /* Create a handle to the current thread. */ + if (!DuplicateHandle(GetCurrentProcess(), + GetCurrentThread(), + GetCurrentProcess(), + &thread, + 0, + FALSE, + DUPLICATE_SAME_ACCESS)) { + err = GetLastError(); + goto out1; } -restart_readfile: - if (handle->flags & UV_HANDLE_READING) { - result = ReadFile(handle->handle, - &uv_zero_, - 0, - &bytes, - NULL); - if (!result) { - err = GetLastError(); - if (err == ERROR_OPERATION_ABORTED && - handle->flags & UV_HANDLE_PIPE_READ_CANCELABLE) { - if (handle->flags & UV_HANDLE_READING) { - /* just a brief break to do something else */ - handle->pipe.conn.readfile_thread = NULL; - /* resume after it is finished */ - uv_mutex_lock(m); - handle->pipe.conn.readfile_thread = hThread; - uv_mutex_unlock(m); - goto restart_readfile; - } else { - result = 1; /* successfully stopped reading */ - } - } - } + + /* The lock needs to be held when thread handle is modified. */ + EnterCriticalSection(lock); + if (*thread_ptr == INVALID_HANDLE_VALUE) { + /* uv__pipe_interrupt_read() cancelled reading before we got here. */ + err = ERROR_OPERATION_ABORTED; } else { - result = 1; /* successfully aborted read before it even started */ - } - if (hThread) { - assert(hThread == handle->pipe.conn.readfile_thread); - /* mutex does not control clearing readfile_thread */ - handle->pipe.conn.readfile_thread = NULL; - uv_mutex_lock(m); - /* only when we hold the mutex lock is it safe to - open or close the handle */ - CloseHandle(hThread); - uv_mutex_unlock(m); + /* Let main thread know which worker thread is doing the blocking read. */ + assert(*thread_ptr == NULL); + *thread_ptr = thread; } + LeaveCriticalSection(lock); - if (!result) { - SET_REQ_ERROR(req, err); - } + if (err) + goto out2; + + /* Block the thread until data is available on the pipe, or the read is + * cancelled. */ + if (!ReadFile(handle->handle, &uv_zero_, 0, &bytes, NULL)) + err = GetLastError(); + + /* Let the main thread know the worker is past the point of blocking. */ + assert(thread == *thread_ptr); + *thread_ptr = INVALID_HANDLE_VALUE; + /* Briefly acquire the mutex. Since the main thread holds the lock while it + * is spinning trying to cancel this thread's I/O, we will block here until + * it stops doing that. */ + EnterCriticalSection(lock); + LeaveCriticalSection(lock); + +out2: + /* Close the handle to the current thread. */ + CloseHandle(thread); + +out1: + /* Set request status and post a completion record to the IOCP. */ + if (err) + SET_REQ_ERROR(req, err); + else + SET_REQ_SUCCESS(req); POST_COMPLETION_FOR_REQ(loop, req); + return 0; } @@ -1102,6 +1102,7 @@ static void uv_pipe_queue_read(uv_loop_t* loop, uv_pipe_t* handle) { req = &handle->read_req; if (handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) { + handle->pipe.conn.readfile_thread_handle = NULL; /* Reset cancellation. */ if (!QueueUserWorkItem(&uv_pipe_zero_readfile_thread_proc, req, WT_EXECUTELONGFUNCTION)) { @@ -1169,8 +1170,8 @@ int uv_pipe_read_start(uv_pipe_t* handle, handle->read_cb = read_cb; handle->alloc_cb = alloc_cb; - /* If reading was stopped and then started again, there could still be a */ - /* read request pending. */ + /* If reading was stopped and then started again, there could still be a read + * request pending. */ if (!(handle->flags & UV_HANDLE_READ_PENDING)) uv_pipe_queue_read(loop, handle); @@ -1226,154 +1227,111 @@ static void uv_queue_non_overlapped_write(uv_pipe_t* handle) { } -static int uv_pipe_write_impl(uv_loop_t* loop, - uv_write_t* req, - uv_pipe_t* handle, - const uv_buf_t bufs[], - unsigned int nbufs, - uv_stream_t* send_handle, - uv_write_cb cb) { - int err; - int result; - uv_tcp_t* tcp_send_handle; - uv_write_t* ipc_header_req = NULL; - uv_ipc_frame_uv_stream ipc_frame; +static int uv__build_coalesced_write_req(uv_write_t* user_req, + const uv_buf_t bufs[], + size_t nbufs, + uv_write_t** req_out, + uv_buf_t* write_buf_out) { + /* Pack into a single heap-allocated buffer: + * (a) a uv_write_t structure where libuv stores the actual state. + * (b) a pointer to the original uv_write_t. + * (c) data from all `bufs` entries. + */ + char* heap_buffer; + size_t heap_buffer_length, heap_buffer_offset; + uv__coalesced_write_t* coalesced_write_req; /* (a) + (b) */ + char* data_start; /* (c) */ + size_t data_length; + unsigned int i; + + /* Compute combined size of all combined buffers from `bufs`. */ + data_length = 0; + for (i = 0; i < nbufs; i++) + data_length += bufs[i].len; + + /* The total combined size of data buffers should not exceed UINT32_MAX, + * because WriteFile() won't accept buffers larger than that. */ + if (data_length > UINT32_MAX) + return WSAENOBUFS; /* Maps to UV_ENOBUFS. */ + + /* Compute heap buffer size. */ + heap_buffer_length = sizeof *coalesced_write_req + /* (a) + (b) */ + data_length; /* (c) */ + + /* Allocate buffer. */ + heap_buffer = uv__malloc(heap_buffer_length); + if (heap_buffer == NULL) + return ERROR_NOT_ENOUGH_MEMORY; /* Maps to UV_ENOMEM. */ + + /* Copy uv_write_t information to the buffer. */ + coalesced_write_req = (uv__coalesced_write_t*) heap_buffer; + coalesced_write_req->req = *user_req; /* copy (a) */ + coalesced_write_req->req.coalesced = 1; + coalesced_write_req->user_req = user_req; /* copy (b) */ + heap_buffer_offset = sizeof *coalesced_write_req; /* offset (a) + (b) */ + + /* Copy data buffers to the heap buffer. */ + data_start = &heap_buffer[heap_buffer_offset]; + for (i = 0; i < nbufs; i++) { + memcpy(&heap_buffer[heap_buffer_offset], + bufs[i].base, + bufs[i].len); /* copy (c) */ + heap_buffer_offset += bufs[i].len; /* offset (c) */ + } + assert(heap_buffer_offset == heap_buffer_length); + + /* Set out arguments and return. */ + *req_out = &coalesced_write_req->req; + *write_buf_out = uv_buf_init(data_start, (unsigned int) data_length); + return 0; +} - if (nbufs != 1 && (nbufs != 0 || !send_handle)) { - return ERROR_NOT_SUPPORTED; - } - /* Only TCP handles are supported for sharing. */ - if (send_handle && ((send_handle->type != UV_TCP) || - (!(send_handle->flags & UV_HANDLE_BOUND) && - !(send_handle->flags & UV_HANDLE_CONNECTION)))) { - return ERROR_NOT_SUPPORTED; - } +static int uv__pipe_write_data(uv_loop_t* loop, + uv_write_t* req, + uv_pipe_t* handle, + const uv_buf_t bufs[], + size_t nbufs, + uv_stream_t* send_handle, + uv_write_cb cb, + bool copy_always) { + int err; + int result; + uv_buf_t write_buf; assert(handle->handle != INVALID_HANDLE_VALUE); UV_REQ_INIT(req, UV_WRITE); req->handle = (uv_stream_t*) handle; + req->send_handle = send_handle; req->cb = cb; - req->ipc_header = 0; + /* Private fields. */ + req->coalesced = 0; req->event_handle = NULL; req->wait_handle = INVALID_HANDLE_VALUE; memset(&req->u.io.overlapped, 0, sizeof(req->u.io.overlapped)); - - if (handle->ipc) { - assert(!(handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE)); - ipc_frame.header.flags = 0; - - /* Use the IPC framing protocol. */ - if (send_handle) { - tcp_send_handle = (uv_tcp_t*)send_handle; - - if (handle->pipe.conn.ipc_pid == 0) { - handle->pipe.conn.ipc_pid = uv_current_pid(); - } - - err = uv_tcp_duplicate_socket(tcp_send_handle, handle->pipe.conn.ipc_pid, - &ipc_frame.socket_info_ex.socket_info); - if (err) { - return err; - } - - ipc_frame.socket_info_ex.delayed_error = tcp_send_handle->delayed_error; - - ipc_frame.header.flags |= UV_IPC_TCP_SERVER; - - if (tcp_send_handle->flags & UV_HANDLE_CONNECTION) { - ipc_frame.header.flags |= UV_IPC_TCP_CONNECTION; - } - } - - if (nbufs == 1) { - ipc_frame.header.flags |= UV_IPC_RAW_DATA; - ipc_frame.header.raw_data_length = bufs[0].len; - } - - /* - * Use the provided req if we're only doing a single write. - * If we're doing multiple writes, use ipc_header_write_req to do - * the first write, and then use the provided req for the second write. - */ - if (!(ipc_frame.header.flags & UV_IPC_RAW_DATA)) { - ipc_header_req = req; - } else { - /* - * Try to use the preallocated write req if it's available. - * Otherwise allocate a new one. - */ - if (handle->pipe.conn.ipc_header_write_req.type != UV_WRITE) { - ipc_header_req = (uv_write_t*)&handle->pipe.conn.ipc_header_write_req; - } else { - ipc_header_req = (uv_write_t*)uv__malloc(sizeof(uv_write_t)); - if (!ipc_header_req) { - uv_fatal_error(ERROR_OUTOFMEMORY, "uv__malloc"); - } - } - - UV_REQ_INIT(ipc_header_req, UV_WRITE); - ipc_header_req->handle = (uv_stream_t*) handle; - ipc_header_req->cb = NULL; - ipc_header_req->ipc_header = 1; - } - - /* Write the header or the whole frame. */ - memset(&ipc_header_req->u.io.overlapped, 0, - sizeof(ipc_header_req->u.io.overlapped)); - - /* Using overlapped IO, but wait for completion before returning. - This write is blocking because ipc_frame is on stack. */ - ipc_header_req->u.io.overlapped.hEvent = CreateEvent(NULL, 1, 0, NULL); - if (!ipc_header_req->u.io.overlapped.hEvent) { - uv_fatal_error(GetLastError(), "CreateEvent"); - } - - result = WriteFile(handle->handle, - &ipc_frame, - ipc_frame.header.flags & UV_IPC_TCP_SERVER ? - sizeof(ipc_frame) : sizeof(ipc_frame.header), - NULL, - &ipc_header_req->u.io.overlapped); - if (!result && GetLastError() != ERROR_IO_PENDING) { - err = GetLastError(); - CloseHandle(ipc_header_req->u.io.overlapped.hEvent); + req->write_buffer = uv_null_buf_; + + if (nbufs == 0) { + /* Write empty buffer. */ + write_buf = uv_null_buf_; + } else if (nbufs == 1 && !copy_always) { + /* Write directly from bufs[0]. */ + write_buf = bufs[0]; + } else { + /* Coalesce all `bufs` into one big buffer. This also creates a new + * write-request structure that replaces the old one. */ + err = uv__build_coalesced_write_req(req, bufs, nbufs, &req, &write_buf); + if (err != 0) return err; - } - - if (!result) { - /* Request not completed immediately. Wait for it.*/ - if (WaitForSingleObject(ipc_header_req->u.io.overlapped.hEvent, INFINITE) != - WAIT_OBJECT_0) { - err = GetLastError(); - CloseHandle(ipc_header_req->u.io.overlapped.hEvent); - return err; - } - } - ipc_header_req->u.io.queued_bytes = 0; - CloseHandle(ipc_header_req->u.io.overlapped.hEvent); - ipc_header_req->u.io.overlapped.hEvent = NULL; - - REGISTER_HANDLE_REQ(loop, handle, ipc_header_req); - handle->reqs_pending++; - handle->stream.conn.write_reqs_pending++; - - /* If we don't have any raw data to write - we're done. */ - if (!(ipc_frame.header.flags & UV_IPC_RAW_DATA)) { - return 0; - } } if ((handle->flags & (UV_HANDLE_BLOCKING_WRITES | UV_HANDLE_NON_OVERLAPPED_PIPE)) == (UV_HANDLE_BLOCKING_WRITES | UV_HANDLE_NON_OVERLAPPED_PIPE)) { DWORD bytes; - result = WriteFile(handle->handle, - bufs[0].base, - bufs[0].len, - &bytes, - NULL); + result = + WriteFile(handle->handle, write_buf.base, write_buf.len, &bytes, NULL); if (!result) { err = GetLastError(); @@ -1389,14 +1347,14 @@ static int uv_pipe_write_impl(uv_loop_t* loop, POST_COMPLETION_FOR_REQ(loop, req); return 0; } else if (handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) { - req->write_buffer = bufs[0]; + req->write_buffer = write_buf; uv_insert_non_overlapped_write_req(handle, req); if (handle->stream.conn.write_reqs_pending == 0) { uv_queue_non_overlapped_write(handle); } /* Request queued by the kernel. */ - req->u.io.queued_bytes = bufs[0].len; + req->u.io.queued_bytes = write_buf.len; handle->write_queue_size += req->u.io.queued_bytes; } else if (handle->flags & UV_HANDLE_BLOCKING_WRITES) { /* Using overlapped IO, but wait for completion before returning */ @@ -1406,8 +1364,8 @@ static int uv_pipe_write_impl(uv_loop_t* loop, } result = WriteFile(handle->handle, - bufs[0].base, - bufs[0].len, + write_buf.base, + write_buf.len, NULL, &req->u.io.overlapped); @@ -1422,13 +1380,13 @@ static int uv_pipe_write_impl(uv_loop_t* loop, req->u.io.queued_bytes = 0; } else { /* Request queued by the kernel. */ - req->u.io.queued_bytes = bufs[0].len; + req->u.io.queued_bytes = write_buf.len; handle->write_queue_size += req->u.io.queued_bytes; if (WaitForSingleObject(req->u.io.overlapped.hEvent, INFINITE) != WAIT_OBJECT_0) { err = GetLastError(); CloseHandle(req->u.io.overlapped.hEvent); - return uv_translate_sys_error(err); + return err; } } CloseHandle(req->u.io.overlapped.hEvent); @@ -1439,8 +1397,8 @@ static int uv_pipe_write_impl(uv_loop_t* loop, return 0; } else { result = WriteFile(handle->handle, - bufs[0].base, - bufs[0].len, + write_buf.base, + write_buf.len, NULL, &req->u.io.overlapped); @@ -1453,7 +1411,7 @@ static int uv_pipe_write_impl(uv_loop_t* loop, req->u.io.queued_bytes = 0; } else { /* Request queued by the kernel. */ - req->u.io.queued_bytes = bufs[0].len; + req->u.io.queued_bytes = write_buf.len; handle->write_queue_size += req->u.io.queued_bytes; } @@ -1478,35 +1436,140 @@ static int uv_pipe_write_impl(uv_loop_t* loop, } -int uv_pipe_write(uv_loop_t* loop, - uv_write_t* req, - uv_pipe_t* handle, - const uv_buf_t bufs[], - unsigned int nbufs, - uv_write_cb cb) { - return uv_pipe_write_impl(loop, req, handle, bufs, nbufs, NULL, cb); +static DWORD uv__pipe_get_ipc_remote_pid(uv_pipe_t* handle) { + DWORD* pid = &handle->pipe.conn.ipc_remote_pid; + + /* If the both ends of the IPC pipe are owned by the same process, + * the remote end pid may not yet be set. If so, do it here. + * TODO: this is weird; it'd probably better to use a handshake. */ + if (*pid == 0) + *pid = GetCurrentProcessId(); + + return *pid; +} + + +int uv__pipe_write_ipc(uv_loop_t* loop, + uv_write_t* req, + uv_pipe_t* handle, + const uv_buf_t data_bufs[], + size_t data_buf_count, + uv_stream_t* send_handle, + uv_write_cb cb) { + uv_buf_t stack_bufs[6]; + uv_buf_t* bufs; + size_t buf_count, buf_index; + uv__ipc_frame_header_t xfer_frame_header; + uv__ipc_socket_xfer_info_t xfer_info; + uv__ipc_frame_header_t data_frame_header; + size_t data_length; + size_t i; + int err; + + /* Compute the combined size of data buffers. */ + data_length = 0; + for (i = 0; i < data_buf_count; i++) + data_length += data_bufs[i].len; + if (data_length > UINT32_MAX) + return WSAENOBUFS; /* Maps to UV_ENOBUFS. */ + + /* Prepare xfer frame payload. */ + if (send_handle) { + uv_tcp_t* send_tcp_handle = (uv_tcp_t*) send_handle; + + /* Verify that `send_handle` it is indeed a tcp handle. */ + if (send_tcp_handle->type != UV_TCP) + return ERROR_NOT_SUPPORTED; + + /* Export the tcp handle. */ + err = uv__tcp_xfer_export( + send_tcp_handle, uv__pipe_get_ipc_remote_pid(handle), &xfer_info); + if (err != 0) + return err; + } + + /* Compute the number of uv_buf_t's required. */ + buf_count = 0; + if (send_handle != NULL) { + buf_count += 2; /* One for the frame header, one for the payload. */ + } + if (data_buf_count > 0) { + buf_count += 1 + data_buf_count; /* One extra for the frame header. */ + } + + /* Use the on-stack buffer array if it is big enough; otherwise allocate + * space for it on the heap. */ + if (buf_count < ARRAY_SIZE(stack_bufs)) { + /* Use on-stack buffer array. */ + bufs = stack_bufs; + } else { + /* Use heap-allocated buffer array. */ + bufs = uv__calloc(buf_count, sizeof(uv_buf_t)); + if (bufs == NULL) + return ERROR_NOT_ENOUGH_MEMORY; /* Maps to UV_ENOMEM. */ + } + buf_index = 0; + + if (send_handle != NULL) { + /* Add xfer frame header. */ + xfer_frame_header.type = UV__IPC_XFER_FRAME; + xfer_frame_header.payload_length = sizeof xfer_info; + bufs[buf_index++] = + uv_buf_init((char*) &xfer_frame_header, sizeof xfer_frame_header); + + /* Add xfer frame payload. */ + bufs[buf_index++] = uv_buf_init((char*) &xfer_info, sizeof xfer_info); + } + + if (data_length > 0) { + /* Add data frame header. */ + data_frame_header.type = UV__IPC_DATA_FRAME; + data_frame_header.payload_length = (uint32_t) data_length; + bufs[buf_index++] = + uv_buf_init((char*) &data_frame_header, sizeof data_frame_header); + + /* Add data buffers. */ + for (i = 0; i < data_buf_count; i++) + bufs[buf_index++] = data_bufs[i]; + } + + /* Write buffers. We set the `always_copy` flag, so it is not a problem that + * some of the written data lives on the stack. */ + err = uv__pipe_write_data( + loop, req, handle, bufs, buf_count, send_handle, cb, true); + + /* If we had to heap-allocate the bufs array, free it now. */ + if (bufs != stack_bufs) { + uv__free(bufs); + } + + return err; } -int uv_pipe_write2(uv_loop_t* loop, +int uv__pipe_write(uv_loop_t* loop, uv_write_t* req, uv_pipe_t* handle, const uv_buf_t bufs[], - unsigned int nbufs, + size_t nbufs, uv_stream_t* send_handle, uv_write_cb cb) { - if (!handle->ipc) { - return WSAEINVAL; + if (handle->ipc) { + /* IPC pipe write: use framing protocol. */ + return uv__pipe_write_ipc(loop, req, handle, bufs, nbufs, send_handle, cb); + } else { + /* Non-IPC pipe write: put data on the wire directly. */ + assert(send_handle == NULL); + return uv__pipe_write_data( + loop, req, handle, bufs, nbufs, NULL, cb, false); } - - return uv_pipe_write_impl(loop, req, handle, bufs, nbufs, send_handle, cb); } static void uv_pipe_read_eof(uv_loop_t* loop, uv_pipe_t* handle, uv_buf_t buf) { - /* If there is an eof timer running, we don't need it any more, */ - /* so discard it. */ + /* If there is an eof timer running, we don't need it any more, so discard + * it. */ eof_timer_destroy(handle); handle->flags &= ~UV_HANDLE_READABLE; @@ -1518,8 +1581,8 @@ static void uv_pipe_read_eof(uv_loop_t* loop, uv_pipe_t* handle, static void uv_pipe_read_error(uv_loop_t* loop, uv_pipe_t* handle, int error, uv_buf_t buf) { - /* If there is an eof timer running, we don't need it any more, */ - /* so discard it. */ + /* If there is an eof timer running, we don't need it any more, so discard + * it. */ eof_timer_destroy(handle); uv_read_stop((uv_stream_t*) handle); @@ -1530,10 +1593,7 @@ static void uv_pipe_read_error(uv_loop_t* loop, uv_pipe_t* handle, int error, static void uv_pipe_read_error_or_eof(uv_loop_t* loop, uv_pipe_t* handle, int error, uv_buf_t buf) { - if (error == ERROR_OPERATION_ABORTED) { - /* do nothing (equivalent to EINTR) */ - } - else if (error == ERROR_BROKEN_PIPE) { + if (error == ERROR_BROKEN_PIPE) { uv_pipe_read_eof(loop, handle, buf); } else { uv_pipe_read_error(loop, handle, error, buf); @@ -1541,152 +1601,198 @@ static void uv_pipe_read_error_or_eof(uv_loop_t* loop, uv_pipe_t* handle, } -void uv__pipe_insert_pending_socket(uv_pipe_t* handle, - uv__ipc_socket_info_ex* info, - int tcp_connection) { - uv__ipc_queue_item_t* item; +static void uv__pipe_queue_ipc_xfer_info( + uv_pipe_t* handle, uv__ipc_socket_xfer_info_t* xfer_info) { + uv__ipc_xfer_queue_item_t* item; - item = (uv__ipc_queue_item_t*) uv__malloc(sizeof(*item)); + item = (uv__ipc_xfer_queue_item_t*) uv__malloc(sizeof(*item)); if (item == NULL) uv_fatal_error(ERROR_OUTOFMEMORY, "uv__malloc"); - memcpy(&item->socket_info_ex, info, sizeof(item->socket_info_ex)); - item->tcp_connection = tcp_connection; - QUEUE_INSERT_TAIL(&handle->pipe.conn.pending_ipc_info.queue, &item->member); - handle->pipe.conn.pending_ipc_info.queue_len++; + memcpy(&item->xfer_info, xfer_info, sizeof(item->xfer_info)); + QUEUE_INSERT_TAIL(&handle->pipe.conn.ipc_xfer_queue, &item->member); + handle->pipe.conn.ipc_xfer_queue_length++; } -void uv_process_pipe_read_req(uv_loop_t* loop, uv_pipe_t* handle, - uv_req_t* req) { - DWORD bytes, avail; +/* Read an exact number of bytes from a pipe. If an error or end-of-file is + * encountered before the requested number of bytes are read, an error is + * returned. */ +static int uv__pipe_read_exactly(HANDLE h, void* buffer, DWORD count) { + DWORD bytes_read, bytes_read_now; + + bytes_read = 0; + while (bytes_read < count) { + if (!ReadFile(h, + (char*) buffer + bytes_read, + count - bytes_read, + &bytes_read_now, + NULL)) { + return GetLastError(); + } + + bytes_read += bytes_read_now; + } + + assert(bytes_read == count); + return 0; +} + + +static DWORD uv__pipe_read_data(uv_loop_t* loop, + uv_pipe_t* handle, + DWORD suggested_bytes, + DWORD max_bytes) { + DWORD bytes_read; uv_buf_t buf; - uv_ipc_frame_uv_stream ipc_frame; + /* Ask the user for a buffer to read data into. */ + buf = uv_buf_init(NULL, 0); + handle->alloc_cb((uv_handle_t*) handle, suggested_bytes, &buf); + if (buf.base == NULL || buf.len == 0) { + handle->read_cb((uv_stream_t*) handle, UV_ENOBUFS, &buf); + return 0; /* Break out of read loop. */ + } + + /* Ensure we read at most the smaller of: + * (a) the length of the user-allocated buffer. + * (b) the maximum data length as specified by the `max_bytes` argument. + */ + if (max_bytes > buf.len) + max_bytes = buf.len; + + /* Read into the user buffer. */ + if (!ReadFile(handle->handle, buf.base, max_bytes, &bytes_read, NULL)) { + uv_pipe_read_error_or_eof(loop, handle, GetLastError(), buf); + return 0; /* Break out of read loop. */ + } + + /* Call the read callback. */ + handle->read_cb((uv_stream_t*) handle, bytes_read, &buf); + + return bytes_read; +} + + +static DWORD uv__pipe_read_ipc(uv_loop_t* loop, uv_pipe_t* handle) { + DWORD* data_remaining = &handle->pipe.conn.ipc_data_frame.payload_remaining; + int err; + + if (*data_remaining > 0) { + /* Read data frame payload. */ + DWORD bytes_read = + uv__pipe_read_data(loop, handle, *data_remaining, *data_remaining); + *data_remaining -= bytes_read; + return bytes_read; + + } else { + /* Start of a new IPC frame. */ + uv__ipc_frame_header_t frame_header; + uv__ipc_socket_xfer_info_t xfer_info; + + /* Read the IPC frame header. */ + err = uv__pipe_read_exactly( + handle->handle, &frame_header, sizeof frame_header); + if (err) + goto error; + + if (frame_header.type == UV__IPC_DATA_FRAME) { + /* Data frame: capture payload length. Actual data will be read in + * subsequent call to uv__pipe_read_ipc(). */ + *data_remaining = frame_header.payload_length; + + /* Return number of bytes read. */ + return sizeof frame_header; + + } else if (frame_header.type == UV__IPC_XFER_FRAME) { + /* Xfer frame: read the payload. */ + assert(frame_header.payload_length == sizeof xfer_info); + err = + uv__pipe_read_exactly(handle->handle, &xfer_info, sizeof xfer_info); + if (err) + goto error; + + /* Store the pending socket info. */ + uv__pipe_queue_ipc_xfer_info(handle, &xfer_info); + + /* Return number of bytes read. */ + return sizeof frame_header + sizeof xfer_info; + } + + /* Invalid frame. */ + err = WSAECONNABORTED; /* Maps to UV_ECONNABORTED. */ + } + +error: + uv_pipe_read_error_or_eof(loop, handle, err, uv_null_buf_); + return 0; /* Break out of read loop. */ +} + + +void uv_process_pipe_read_req(uv_loop_t* loop, + uv_pipe_t* handle, + uv_req_t* req) { assert(handle->type == UV_NAMED_PIPE); - handle->flags &= ~UV_HANDLE_READ_PENDING; + handle->flags &= ~(UV_HANDLE_READ_PENDING | UV_HANDLE_CANCELLATION_PENDING); + DECREASE_PENDING_REQ_COUNT(handle); eof_timer_stop(handle); - if (!REQ_SUCCESS(req)) { - /* An error occurred doing the 0-read. */ - if (handle->flags & UV_HANDLE_READING) { - uv_pipe_read_error_or_eof(loop, - handle, - GET_REQ_ERROR(req), - uv_null_buf_); - } - } else { - /* Do non-blocking reads until the buffer is empty */ - while (handle->flags & UV_HANDLE_READING) { - if (!PeekNamedPipe(handle->handle, - NULL, - 0, - NULL, - &avail, - NULL)) { - uv_pipe_read_error_or_eof(loop, handle, GetLastError(), uv_null_buf_); - break; - } + /* At this point, we're done with bookkeeping. If the user has stopped + * reading the pipe in the meantime, there is nothing left to do, since there + * is no callback that we can call. */ + if (!(handle->flags & UV_HANDLE_READING)) + return; - if (avail == 0) { - /* There is nothing to read after all. */ - break; - } + if (!REQ_SUCCESS(req)) { + /* An error occurred doing the zero-read. */ + DWORD err = GET_REQ_ERROR(req); - if (handle->ipc) { - /* Use the IPC framing protocol to read the incoming data. */ - if (handle->pipe.conn.remaining_ipc_rawdata_bytes == 0) { - /* We're reading a new frame. First, read the header. */ - assert(avail >= sizeof(ipc_frame.header)); - - if (!ReadFile(handle->handle, - &ipc_frame.header, - sizeof(ipc_frame.header), - &bytes, - NULL)) { - uv_pipe_read_error_or_eof(loop, handle, GetLastError(), - uv_null_buf_); - break; - } - - assert(bytes == sizeof(ipc_frame.header)); - assert(ipc_frame.header.flags <= (UV_IPC_TCP_SERVER | UV_IPC_RAW_DATA | - UV_IPC_TCP_CONNECTION)); - - if (ipc_frame.header.flags & UV_IPC_TCP_SERVER) { - assert(avail - sizeof(ipc_frame.header) >= - sizeof(ipc_frame.socket_info_ex)); - - /* Read the TCP socket info. */ - if (!ReadFile(handle->handle, - &ipc_frame.socket_info_ex, - sizeof(ipc_frame) - sizeof(ipc_frame.header), - &bytes, - NULL)) { - uv_pipe_read_error_or_eof(loop, handle, GetLastError(), - uv_null_buf_); - break; - } - - assert(bytes == sizeof(ipc_frame) - sizeof(ipc_frame.header)); - - /* Store the pending socket info. */ - uv__pipe_insert_pending_socket( - handle, - &ipc_frame.socket_info_ex, - ipc_frame.header.flags & UV_IPC_TCP_CONNECTION); - } - - if (ipc_frame.header.flags & UV_IPC_RAW_DATA) { - handle->pipe.conn.remaining_ipc_rawdata_bytes = - ipc_frame.header.raw_data_length; - continue; - } - } else { - avail = min(avail, (DWORD)handle->pipe.conn.remaining_ipc_rawdata_bytes); - } - } + /* If the read was cancelled by uv__pipe_interrupt_read(), the request may + * indicate an ERROR_OPERATION_ABORTED error. This error isn't relevant to + * the user; we'll start a new zero-read at the end of this function. */ + if (err != ERROR_OPERATION_ABORTED) + uv_pipe_read_error_or_eof(loop, handle, err, uv_null_buf_); - buf = uv_buf_init(NULL, 0); - handle->alloc_cb((uv_handle_t*) handle, avail, &buf); - if (buf.base == NULL || buf.len == 0) { - handle->read_cb((uv_stream_t*) handle, UV_ENOBUFS, &buf); + } else { + /* The zero-read completed without error, indicating there is data + * available in the kernel buffer. */ + DWORD avail; + + /* Get the number of bytes available. */ + avail = 0; + if (!PeekNamedPipe(handle->handle, NULL, 0, NULL, &avail, NULL)) + uv_pipe_read_error_or_eof(loop, handle, GetLastError(), uv_null_buf_); + + /* Read until we've either read all the bytes available, or the 'reading' + * flag is cleared. */ + while (avail > 0 && handle->flags & UV_HANDLE_READING) { + /* Depending on the type of pipe, read either IPC frames or raw data. */ + DWORD bytes_read = + handle->ipc ? uv__pipe_read_ipc(loop, handle) + : uv__pipe_read_data(loop, handle, avail, (DWORD) -1); + + /* If no bytes were read, treat this as an indication that an error + * occurred, and break out of the read loop. */ + if (bytes_read == 0) break; - } - assert(buf.base != NULL); - - if (ReadFile(handle->handle, - buf.base, - min(buf.len, avail), - &bytes, - NULL)) { - /* Successful read */ - if (handle->ipc) { - assert(handle->pipe.conn.remaining_ipc_rawdata_bytes >= bytes); - handle->pipe.conn.remaining_ipc_rawdata_bytes = - handle->pipe.conn.remaining_ipc_rawdata_bytes - bytes; - } - handle->read_cb((uv_stream_t*)handle, bytes, &buf); - /* Read again only if bytes == buf.len */ - if (bytes <= buf.len) { - break; - } - } else { - uv_pipe_read_error_or_eof(loop, handle, GetLastError(), buf); + /* It is possible that more bytes were read than we thought were + * available. To prevent `avail` from underflowing, break out of the loop + * if this is the case. */ + if (bytes_read > avail) break; - } - } - /* Post another 0-read if still reading and not closing. */ - if ((handle->flags & UV_HANDLE_READING) && - !(handle->flags & UV_HANDLE_READ_PENDING)) { - uv_pipe_queue_read(loop, handle); + /* Recompute the number of bytes available. */ + avail -= bytes_read; } } - DECREASE_PENDING_REQ_COUNT(handle); + /* Start another zero-read request if necessary. */ + if ((handle->flags & UV_HANDLE_READING) && + !(handle->flags & UV_HANDLE_READ_PENDING)) { + uv_pipe_queue_read(loop, handle); + } } @@ -1712,17 +1818,19 @@ void uv_process_pipe_write_req(uv_loop_t* loop, uv_pipe_t* handle, } } - if (req->ipc_header) { - if (req == &handle->pipe.conn.ipc_header_write_req) { - req->type = UV_UNKNOWN_REQ; - } else { - uv__free(req); - } - } else { - if (req->cb) { - err = GET_REQ_ERROR(req); - req->cb(req, uv_translate_sys_error(err)); - } + err = GET_REQ_ERROR(req); + + /* If this was a coalesced write, extract pointer to the user_provided + * uv_write_t structure so we can pass the expected pointer to the callback, + * then free the heap-allocated write req. */ + if (req->coalesced) { + uv__coalesced_write_t* coalesced_write = + container_of(req, uv__coalesced_write_t, req); + req = coalesced_write->user_req; + uv__free(coalesced_write); + } + if (req->cb) { + req->cb(req, uv_translate_sys_error(err)); } handle->stream.conn.write_reqs_pending--; @@ -1806,19 +1914,19 @@ void uv_process_pipe_shutdown_req(uv_loop_t* loop, uv_pipe_t* handle, UNREGISTER_HANDLE_REQ(loop, handle, req); if (handle->flags & UV_HANDLE_READABLE) { - /* Initialize and optionally start the eof timer. Only do this if the */ - /* pipe is readable and we haven't seen EOF come in ourselves. */ + /* Initialize and optionally start the eof timer. Only do this if the pipe + * is readable and we haven't seen EOF come in ourselves. */ eof_timer_init(handle); - /* If reading start the timer right now. */ - /* Otherwise uv_pipe_queue_read will start it. */ + /* If reading start the timer right now. Otherwise uv_pipe_queue_read will + * start it. */ if (handle->flags & UV_HANDLE_READ_PENDING) { eof_timer_start(handle); } } else { - /* This pipe is not readable. We can just close it to let the other end */ - /* know that we're done writing. */ + /* This pipe is not readable. We can just close it to let the other end + * know that we're done writing. */ close_pipe(handle); } @@ -1869,17 +1977,16 @@ static void eof_timer_cb(uv_timer_t* timer) { assert(pipe->type == UV_NAMED_PIPE); - /* This should always be true, since we start the timer only */ - /* in uv_pipe_queue_read after successfully calling ReadFile, */ - /* or in uv_process_pipe_shutdown_req if a read is pending, */ - /* and we always immediately stop the timer in */ - /* uv_process_pipe_read_req. */ + /* This should always be true, since we start the timer only in + * uv_pipe_queue_read after successfully calling ReadFile, or in + * uv_process_pipe_shutdown_req if a read is pending, and we always + * immediately stop the timer in uv_process_pipe_read_req. */ assert(pipe->flags & UV_HANDLE_READ_PENDING); - /* If there are many packets coming off the iocp then the timer callback */ - /* may be called before the read request is coming off the queue. */ - /* Therefore we check here if the read request has completed but will */ - /* be processed later. */ + /* If there are many packets coming off the iocp then the timer callback may + * be called before the read request is coming off the queue. Therefore we + * check here if the read request has completed but will be processed later. + */ if ((pipe->flags & UV_HANDLE_READ_PENDING) && HasOverlappedIoCompleted(&pipe->read_req.u.io.overlapped)) { return; @@ -1888,12 +1995,12 @@ static void eof_timer_cb(uv_timer_t* timer) { /* Force both ends off the pipe. */ close_pipe(pipe); - /* Stop reading, so the pending read that is going to fail will */ - /* not be reported to the user. */ + /* Stop reading, so the pending read that is going to fail will not be + * reported to the user. */ uv_read_stop((uv_stream_t*) pipe); - /* Report the eof and update flags. This will get reported even if the */ - /* user stopped reading in the meantime. TODO: is that okay? */ + /* Report the eof and update flags. This will get reported even if the user + * stopped reading in the meantime. TODO: is that okay? */ uv_pipe_read_eof(loop, pipe, uv_null_buf_); } @@ -1980,8 +2087,8 @@ int uv_pipe_open(uv_pipe_t* pipe, uv_file file) { if (pipe->ipc) { assert(!(pipe->flags & UV_HANDLE_NON_OVERLAPPED_PIPE)); - pipe->pipe.conn.ipc_pid = uv_os_getppid(); - assert(pipe->pipe.conn.ipc_pid != -1); + pipe->pipe.conn.ipc_remote_pid = uv_os_getppid(); + assert(pipe->pipe.conn.ipc_remote_pid != -1); } return 0; } @@ -2006,7 +2113,15 @@ static int uv__pipe_getname(const uv_pipe_t* handle, char* buffer, size_t* size) return UV_EINVAL; } - uv__pipe_pause_read((uv_pipe_t*)handle); /* cast away const warning */ + /* NtQueryInformationFile will block if another thread is performing a + * blocking operation on the queried handle. If the pipe handle is + * synchronous, there may be a worker thread currently calling ReadFile() on + * the pipe handle, which could cause a deadlock. To avoid this, interrupt + * the read. */ + if (handle->flags & UV_HANDLE_CONNECTION && + handle->flags & UV_HANDLE_NON_OVERLAPPED_PIPE) { + uv__pipe_interrupt_read((uv_pipe_t*) handle); /* cast away const warning */ + } nt_status = pNtQueryInformationFile(handle->handle, &io_status, @@ -2097,7 +2212,6 @@ static int uv__pipe_getname(const uv_pipe_t* handle, char* buffer, size_t* size) uv__free(name_info); cleanup: - uv__pipe_unpause_read((uv_pipe_t*)handle); /* cast away const warning */ return err; } @@ -2105,7 +2219,7 @@ static int uv__pipe_getname(const uv_pipe_t* handle, char* buffer, size_t* size) int uv_pipe_pending_count(uv_pipe_t* handle) { if (!handle->ipc) return 0; - return handle->pipe.conn.pending_ipc_info.queue_len; + return handle->pipe.conn.ipc_xfer_queue_length; } @@ -2138,7 +2252,7 @@ int uv_pipe_getpeername(const uv_pipe_t* handle, char* buffer, size_t* size) { uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle) { if (!handle->ipc) return UV_UNKNOWN_HANDLE; - if (handle->pipe.conn.pending_ipc_info.queue_len == 0) + if (handle->pipe.conn.ipc_xfer_queue_length == 0) return UV_UNKNOWN_HANDLE; else return UV_TCP; diff --git a/deps/uv/src/win/poll.c b/deps/uv/src/win/poll.c index a648ba711d569a..b1369df3c442d3 100644 --- a/deps/uv/src/win/poll.c +++ b/deps/uv/src/win/poll.c @@ -91,16 +91,16 @@ static void uv__fast_poll_submit_poll_req(uv_loop_t* loop, uv_poll_t* handle) { handle->mask_events_1 = handle->events; handle->mask_events_2 = 0; } else { - /* Just wait until there's an unsubmitted req. */ - /* This will happen almost immediately as one of the 2 outstanding */ - /* requests is about to return. When this happens, */ - /* uv__fast_poll_process_poll_req will be called, and the pending */ - /* events, if needed, will be processed in a subsequent request. */ + /* Just wait until there's an unsubmitted req. This will happen almost + * immediately as one of the 2 outstanding requests is about to return. + * When this happens, uv__fast_poll_process_poll_req will be called, and + * the pending events, if needed, will be processed in a subsequent + * request. */ return; } - /* Setting Exclusive to TRUE makes the other poll request return if there */ - /* is any. */ + /* Setting Exclusive to TRUE makes the other poll request return if there is + * any. */ afd_poll_info->Exclusive = TRUE; afd_poll_info->NumberOfHandles = 1; afd_poll_info->Timeout.QuadPart = INT64_MAX; @@ -257,8 +257,8 @@ static int uv__fast_poll_close(uv_loop_t* loop, uv_poll_t* handle) { uv_want_endgame(loop, (uv_handle_t*) handle); return 0; } else { - /* Cancel outstanding poll requests by executing another, unique poll */ - /* request that forces the outstanding ones to return. */ + /* Cancel outstanding poll requests by executing another, unique poll + * request that forces the outstanding ones to return. */ return uv__fast_poll_cancel_poll_req(loop, handle); } } @@ -316,9 +316,8 @@ static SOCKET uv__fast_poll_get_peer_socket(uv_loop_t* loop, return INVALID_SOCKET; } - /* If we didn't (try) to create a peer socket yet, try to make one. Don't */ - /* try again if the peer socket creation failed earlier for the same */ - /* protocol. */ + /* If we didn't (try) to create a peer socket yet, try to make one. Don't try + * again if the peer socket creation failed earlier for the same protocol. */ peer_socket = loop->poll_peer_sockets[index]; if (peer_socket == 0) { peer_socket = uv__fast_poll_create_peer_socket(loop->iocp, protocol_info); @@ -357,8 +356,8 @@ static DWORD WINAPI uv__slow_poll_thread_proc(void* arg) { efds.fd_count = 0; } - /* Make the select() time out after 3 minutes. If select() hangs because */ - /* the user closed the socket, we will at least not hang indefinitely. */ + /* Make the select() time out after 3 minutes. If select() hangs because the + * user closed the socket, we will at least not hang indefinitely. */ timeout.tv_sec = 3 * 60; timeout.tv_usec = 0; @@ -522,10 +521,10 @@ int uv_poll_init_socket(uv_loop_t* loop, uv_poll_t* handle, if (ioctlsocket(socket, FIONBIO, &yes) == SOCKET_ERROR) return uv_translate_sys_error(WSAGetLastError()); - /* Try to obtain a base handle for the socket. This increases this chances */ - /* that we find an AFD handle and are able to use the fast poll mechanism. */ - /* This will always fail on windows XP/2k3, since they don't support the */ - /* SIO_BASE_HANDLE ioctl. */ +/* Try to obtain a base handle for the socket. This increases this chances that + * we find an AFD handle and are able to use the fast poll mechanism. This will + * always fail on windows XP/2k3, since they don't support the. SIO_BASE_HANDLE + * ioctl. */ #ifndef NDEBUG base_socket = INVALID_SOCKET; #endif @@ -557,9 +556,9 @@ int uv_poll_init_socket(uv_loop_t* loop, uv_poll_t* handle, return uv_translate_sys_error(WSAGetLastError()); } - /* Get the peer socket that is needed to enable fast poll. If the returned */ - /* value is NULL, the protocol is not implemented by MSAFD and we'll have */ - /* to use slow mode. */ + /* Get the peer socket that is needed to enable fast poll. If the returned + * value is NULL, the protocol is not implemented by MSAFD and we'll have to + * use slow mode. */ peer_socket = uv__fast_poll_get_peer_socket(loop, &protocol_info); if (peer_socket != INVALID_SOCKET) { diff --git a/deps/uv/src/win/process-stdio.c b/deps/uv/src/win/process-stdio.c index 032e30935cc194..0ae9f0624af88a 100644 --- a/deps/uv/src/win/process-stdio.c +++ b/deps/uv/src/win/process-stdio.c @@ -105,10 +105,9 @@ static int uv__create_stdio_pipe_pair(uv_loop_t* loop, int err; if (flags & UV_READABLE_PIPE) { - /* The server needs inbound access too, otherwise CreateNamedPipe() */ - /* won't give us the FILE_READ_ATTRIBUTES permission. We need that to */ - /* probe the state of the write buffer when we're trying to shutdown */ - /* the pipe. */ + /* The server needs inbound access too, otherwise CreateNamedPipe() won't + * give us the FILE_READ_ATTRIBUTES permission. We need that to probe the + * state of the write buffer when we're trying to shutdown the pipe. */ server_access |= PIPE_ACCESS_OUTBOUND | PIPE_ACCESS_INBOUND; client_access |= GENERIC_READ | FILE_WRITE_ATTRIBUTES; } @@ -131,12 +130,13 @@ static int uv__create_stdio_pipe_pair(uv_loop_t* loop, sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; + BOOL overlap = server_pipe->ipc || (flags & UV_OVERLAPPED_PIPE); child_pipe = CreateFileA(pipe_name, client_access, 0, &sa, OPEN_EXISTING, - server_pipe->ipc ? FILE_FLAG_OVERLAPPED : 0, + overlap ? FILE_FLAG_OVERLAPPED : 0, NULL); if (child_pipe == INVALID_HANDLE_VALUE) { err = GetLastError(); @@ -159,8 +159,8 @@ static int uv__create_stdio_pipe_pair(uv_loop_t* loop, } #endif - /* Do a blocking ConnectNamedPipe. This should not block because we have */ - /* both ends of the pipe created. */ + /* Do a blocking ConnectNamedPipe. This should not block because we have both + * ends of the pipe created. */ if (!ConnectNamedPipe(server_pipe->handle, NULL)) { if (GetLastError() != ERROR_PIPE_CONNECTED) { err = GetLastError(); @@ -194,11 +194,11 @@ static int uv__duplicate_handle(uv_loop_t* loop, HANDLE handle, HANDLE* dup) { HANDLE current_process; - /* _get_osfhandle will sometimes return -2 in case of an error. This seems */ - /* to happen when fd <= 2 and the process' corresponding stdio handle is */ - /* set to NULL. Unfortunately DuplicateHandle will happily duplicate */ - /* (HANDLE) -2, so this situation goes unnoticed until someone tries to */ - /* use the duplicate. Therefore we filter out known-invalid handles here. */ + /* _get_osfhandle will sometimes return -2 in case of an error. This seems to + * happen when fd <= 2 and the process' corresponding stdio handle is set to + * NULL. Unfortunately DuplicateHandle will happily duplicate (HANDLE) -2, so + * this situation goes unnoticed until someone tries to use the duplicate. + * Therefore we filter out known-invalid handles here. */ if (handle == INVALID_HANDLE_VALUE || handle == NULL || handle == (HANDLE) -2) { @@ -284,8 +284,8 @@ int uv__stdio_create(uv_loop_t* loop, return ERROR_OUTOFMEMORY; } - /* Prepopulate the buffer with INVALID_HANDLE_VALUE handles so we can */ - /* clean up on failure. */ + /* Prepopulate the buffer with INVALID_HANDLE_VALUE handles so we can clean + * up on failure. */ CHILD_STDIO_COUNT(buffer) = count; for (i = 0; i < count; i++) { CHILD_STDIO_CRT_FLAGS(buffer, i) = 0; @@ -303,12 +303,12 @@ int uv__stdio_create(uv_loop_t* loop, switch (fdopt.flags & (UV_IGNORE | UV_CREATE_PIPE | UV_INHERIT_FD | UV_INHERIT_STREAM)) { case UV_IGNORE: - /* Starting a process with no stdin/stout/stderr can confuse it. */ - /* So no matter what the user specified, we make sure the first */ - /* three FDs are always open in their typical modes, e.g. stdin */ - /* be readable and stdout/err should be writable. For FDs > 2, don't */ - /* do anything - all handles in the stdio buffer are initialized with */ - /* INVALID_HANDLE_VALUE, which should be okay. */ + /* Starting a process with no stdin/stout/stderr can confuse it. So no + * matter what the user specified, we make sure the first three FDs are + * always open in their typical modes, e. g. stdin be readable and + * stdout/err should be writable. For FDs > 2, don't do anything - all + * handles in the stdio buffer are initialized with. + * INVALID_HANDLE_VALUE, which should be okay. */ if (i <= 2) { DWORD access = (i == 0) ? FILE_GENERIC_READ : FILE_GENERIC_WRITE | FILE_READ_ATTRIBUTES; @@ -323,14 +323,14 @@ int uv__stdio_create(uv_loop_t* loop, break; case UV_CREATE_PIPE: { - /* Create a pair of two connected pipe ends; one end is turned into */ - /* an uv_pipe_t for use by the parent. The other one is given to */ - /* the child. */ + /* Create a pair of two connected pipe ends; one end is turned into an + * uv_pipe_t for use by the parent. The other one is given to the + * child. */ uv_pipe_t* parent_pipe = (uv_pipe_t*) fdopt.data.stream; HANDLE child_pipe = INVALID_HANDLE_VALUE; - /* Create a new, connected pipe pair. stdio[i].stream should point */ - /* to an uninitialized, but not connected pipe handle. */ + /* Create a new, connected pipe pair. stdio[i]. stream should point to + * an uninitialized, but not connected pipe handle. */ assert(fdopt.data.stream->type == UV_NAMED_PIPE); assert(!(fdopt.data.stream->flags & UV_HANDLE_CONNECTION)); assert(!(fdopt.data.stream->flags & UV_HANDLE_PIPESERVER)); @@ -354,8 +354,8 @@ int uv__stdio_create(uv_loop_t* loop, /* Make an inheritable duplicate of the handle. */ err = uv__duplicate_fd(loop, fdopt.data.fd, &child_handle); if (err) { - /* If fdopt.data.fd is not valid and fd fd <= 2, then ignore the */ - /* error. */ + /* If fdopt. data. fd is not valid and fd <= 2, then ignore the + * error. */ if (fdopt.data.fd <= 2 && err == ERROR_INVALID_HANDLE) { CHILD_STDIO_CRT_FLAGS(buffer, i) = 0; CHILD_STDIO_HANDLE(buffer, i) = INVALID_HANDLE_VALUE; @@ -418,8 +418,8 @@ int uv__stdio_create(uv_loop_t* loop, if (stream_handle == NULL || stream_handle == INVALID_HANDLE_VALUE) { - /* The handle is already closed, or not yet created, or the */ - /* stream type is not supported. */ + /* The handle is already closed, or not yet created, or the stream + * type is not supported. */ err = ERROR_NOT_SUPPORTED; goto error; } diff --git a/deps/uv/src/win/process.c b/deps/uv/src/win/process.c index 7523522217392e..08910088e47ee1 100644 --- a/deps/uv/src/win/process.c +++ b/deps/uv/src/win/process.c @@ -360,8 +360,8 @@ static WCHAR* search_path(const WCHAR *file, return NULL; } - /* Find the start of the filename so we can split the directory from the */ - /* name. */ + /* Find the start of the filename so we can split the directory from the + * name. */ for (file_name_start = (WCHAR*)file + file_len; file_name_start > file && file_name_start[-1] != L'\\' @@ -556,8 +556,8 @@ int make_program_args(char** args, int verbatim_arguments, WCHAR** dst_ptr) { arg_count++; } - /* Adjust for potential quotes. Also assume the worst-case scenario */ - /* that every character needs escaping, so we need twice as much space. */ + /* Adjust for potential quotes. Also assume the worst-case scenario that + * every character needs escaping, so we need twice as much space. */ dst_len = dst_len * 2 + arg_count * 2; /* Allocate buffer for the final command line. */ @@ -831,8 +831,13 @@ int make_program_env(char* env_block[], WCHAR** dst_ptr) { */ static WCHAR* find_path(WCHAR *env) { for (; env != NULL && *env != 0; env += wcslen(env) + 1) { - if (wcsncmp(env, L"PATH=", 5) == 0) + if ((env[0] == L'P' || env[0] == L'p') && + (env[1] == L'A' || env[1] == L'a') && + (env[2] == L'T' || env[2] == L't') && + (env[3] == L'H' || env[3] == L'h') && + (env[4] == L'=')) { return &env[5]; + } } return NULL; @@ -865,8 +870,8 @@ void uv_process_proc_exit(uv_loop_t* loop, uv_process_t* handle) { assert(handle->exit_cb_pending); handle->exit_cb_pending = 0; - /* If we're closing, don't call the exit callback. Just schedule a close */ - /* callback now. */ + /* If we're closing, don't call the exit callback. Just schedule a close + * callback now. */ if (handle->flags & UV__HANDLE_CLOSING) { uv_want_endgame(loop, (uv_handle_t*) handle); return; @@ -878,14 +883,14 @@ void uv_process_proc_exit(uv_loop_t* loop, uv_process_t* handle) { handle->wait_handle = INVALID_HANDLE_VALUE; } - /* Set the handle to inactive: no callbacks will be made after the exit */ - /* callback.*/ + /* Set the handle to inactive: no callbacks will be made after the exit + * callback. */ uv__handle_stop(handle); if (GetExitCodeProcess(handle->process_handle, &status)) { exit_code = status; } else { - /* Unable to to obtain the exit code. This should never happen. */ + /* Unable to obtain the exit code. This should never happen. */ exit_code = uv_translate_sys_error(GetLastError()); } @@ -900,8 +905,8 @@ void uv_process_close(uv_loop_t* loop, uv_process_t* handle) { uv__handle_closing(handle); if (handle->wait_handle != INVALID_HANDLE_VALUE) { - /* This blocks until either the wait was cancelled, or the callback has */ - /* completed. */ + /* This blocks until either the wait was cancelled, or the callback has + * completed. */ BOOL r = UnregisterWaitEx(handle->wait_handle, INVALID_HANDLE_VALUE); if (!r) { /* This should never happen, and if it happens, we can't recover... */ @@ -1104,14 +1109,13 @@ int uv_spawn(uv_loop_t* loop, goto done; } - /* Spawn succeeded */ - /* Beyond this point, failure is reported asynchronously. */ + /* Spawn succeeded. Beyond this point, failure is reported asynchronously. */ process->process_handle = info.hProcess; process->pid = info.dwProcessId; - /* If the process isn't spawned as detached, assign to the global job */ - /* object so windows will kill it when the parent process dies. */ + /* If the process isn't spawned as detached, assign to the global job object + * so windows will kill it when the parent process dies. */ if (!(options->flags & UV_PROCESS_DETACHED)) { uv_once(&uv_global_job_handle_init_guard_, uv__init_global_job_handle); @@ -1138,7 +1142,8 @@ int uv_spawn(uv_loop_t* loop, if (fdopt->flags & UV_CREATE_PIPE && fdopt->data.stream->type == UV_NAMED_PIPE && ((uv_pipe_t*) fdopt->data.stream)->ipc) { - ((uv_pipe_t*) fdopt->data.stream)->pipe.conn.ipc_pid = info.dwProcessId; + ((uv_pipe_t*) fdopt->data.stream)->pipe.conn.ipc_remote_pid = + info.dwProcessId; } } @@ -1154,8 +1159,8 @@ int uv_spawn(uv_loop_t* loop, assert(!err); - /* Make the handle active. It will remain active until the exit callback */ - /* is made or the handle is closed, whichever happens first. */ + /* Make the handle active. It will remain active until the exit callback is + * made or the handle is closed, whichever happens first. */ uv__handle_start(process); /* Cleanup, whether we succeeded or failed. */ @@ -1186,16 +1191,16 @@ static int uv__kill(HANDLE process_handle, int signum) { case SIGTERM: case SIGKILL: case SIGINT: { - /* Unconditionally terminate the process. On Windows, killed processes */ - /* normally return 1. */ + /* Unconditionally terminate the process. On Windows, killed processes + * normally return 1. */ DWORD status; int err; if (TerminateProcess(process_handle, 1)) return 0; - /* If the process already exited before TerminateProcess was called, */ - /* TerminateProcess will fail with ERROR_ACCESS_DENIED. */ + /* If the process already exited before TerminateProcess was called,. + * TerminateProcess will fail with ERROR_ACCESS_DENIED. */ err = GetLastError(); if (err == ERROR_ACCESS_DENIED && GetExitCodeProcess(process_handle, &status) && diff --git a/deps/uv/src/win/signal.c b/deps/uv/src/win/signal.c index a174da1f760d62..750c1b36ef88bc 100644 --- a/deps/uv/src/win/signal.c +++ b/deps/uv/src/win/signal.c @@ -47,13 +47,13 @@ void uv_signals_init(void) { static int uv__signal_compare(uv_signal_t* w1, uv_signal_t* w2) { - /* Compare signums first so all watchers with the same signnum end up */ - /* adjacent. */ + /* Compare signums first so all watchers with the same signnum end up + * adjacent. */ if (w1->signum < w2->signum) return -1; if (w1->signum > w2->signum) return 1; - /* Sort by loop pointer, so we can easily look up the first item after */ - /* { .signum = x, .loop = NULL } */ + /* Sort by loop pointer, so we can easily look up the first item after + * { .signum = x, .loop = NULL }. */ if ((uintptr_t) w1->loop < (uintptr_t) w2->loop) return -1; if ((uintptr_t) w1->loop > (uintptr_t) w2->loop) return 1; @@ -118,10 +118,10 @@ static BOOL WINAPI uv__signal_control_handler(DWORD type) { case CTRL_CLOSE_EVENT: if (uv__signal_dispatch(SIGHUP)) { - /* Windows will terminate the process after the control handler */ - /* returns. After that it will just terminate our process. Therefore */ - /* block the signal handler so the main loop has some time to pick */ - /* up the signal and do something for a few seconds. */ + /* Windows will terminate the process after the control handler + * returns. After that it will just terminate our process. Therefore + * block the signal handler so the main loop has some time to pick up + * the signal and do something for a few seconds. */ Sleep(INFINITE); return TRUE; } @@ -129,8 +129,8 @@ static BOOL WINAPI uv__signal_control_handler(DWORD type) { case CTRL_LOGOFF_EVENT: case CTRL_SHUTDOWN_EVENT: - /* These signals are only sent to services. Services have their own */ - /* notification mechanism, so there's no point in handling these. */ + /* These signals are only sent to services. Services have their own + * notification mechanism, so there's no point in handling these. */ default: /* We don't handle these. */ @@ -193,10 +193,10 @@ int uv__signal_start(uv_signal_t* handle, if (signum != SIGWINCH && (signum <= 0 || signum >= NSIG)) return UV_EINVAL; - /* Short circuit: if the signal watcher is already watching {signum} don't */ - /* go through the process of deregistering and registering the handler. */ - /* Additionally, this avoids pending signals getting lost in the (small) */ - /* time frame that handle->signum == 0. */ + /* Short circuit: if the signal watcher is already watching {signum} don't go + * through the process of deregistering and registering the handler. + * Additionally, this avoids pending signals getting lost in the (small) time + * frame that handle->signum == 0. */ if (signum == handle->signum) { handle->signal_cb = signal_cb; return 0; @@ -237,9 +237,9 @@ void uv_process_signal_req(uv_loop_t* loop, uv_signal_t* handle, (volatile LONG*) &handle->pending_signum, 0); assert(dispatched_signum != 0); - /* Check if the pending signal equals the signum that we are watching for. */ - /* These can get out of sync when the handler is stopped and restarted */ - /* while the signal_req is pending. */ + /* Check if the pending signal equals the signum that we are watching for. + * These can get out of sync when the handler is stopped and restarted while + * the signal_req is pending. */ if (dispatched_signum == handle->signum) handle->signal_cb(handle, dispatched_signum); diff --git a/deps/uv/src/win/stream.c b/deps/uv/src/win/stream.c index 13cbfdcb9e6e5f..3273a03c1cee4f 100644 --- a/deps/uv/src/win/stream.c +++ b/deps/uv/src/win/stream.c @@ -105,12 +105,10 @@ int uv_read_stop(uv_stream_t* handle) { err = 0; if (handle->type == UV_TTY) { err = uv_tty_read_stop((uv_tty_t*) handle); + } else if (handle->type == UV_NAMED_PIPE) { + uv__pipe_read_stop((uv_pipe_t*) handle); } else { - if (handle->type == UV_NAMED_PIPE) { - uv__pipe_stop_read((uv_pipe_t*) handle); - } else { - handle->flags &= ~UV_HANDLE_READING; - } + handle->flags &= ~UV_HANDLE_READING; DECREASE_ACTIVE_COUNT(handle->loop, handle); } @@ -136,7 +134,8 @@ int uv_write(uv_write_t* req, err = uv_tcp_write(loop, req, (uv_tcp_t*) handle, bufs, nbufs, cb); break; case UV_NAMED_PIPE: - err = uv_pipe_write(loop, req, (uv_pipe_t*) handle, bufs, nbufs, cb); + err = uv__pipe_write( + loop, req, (uv_pipe_t*) handle, bufs, nbufs, NULL, cb); break; case UV_TTY: err = uv_tty_write(loop, req, (uv_tty_t*) handle, bufs, nbufs, cb); @@ -158,25 +157,18 @@ int uv_write2(uv_write_t* req, uv_loop_t* loop = handle->loop; int err; - if (!(handle->flags & UV_HANDLE_WRITABLE)) { - return UV_EPIPE; + if (send_handle == NULL) { + return uv_write(req, handle, bufs, nbufs, cb); } - err = ERROR_INVALID_PARAMETER; - switch (handle->type) { - case UV_NAMED_PIPE: - err = uv_pipe_write2(loop, - req, - (uv_pipe_t*) handle, - bufs, - nbufs, - send_handle, - cb); - break; - default: - assert(0); + if (handle->type != UV_NAMED_PIPE || !((uv_pipe_t*) handle)->ipc) { + return UV_EINVAL; + } else if (!(handle->flags & UV_HANDLE_WRITABLE)) { + return UV_EPIPE; } + err = uv__pipe_write( + loop, req, (uv_pipe_t*) handle, bufs, nbufs, send_handle, cb); return uv_translate_sys_error(err); } diff --git a/deps/uv/src/win/tcp.c b/deps/uv/src/win/tcp.c index 39c1ff05658c5d..38cd73e0d12dc3 100644 --- a/deps/uv/src/win/tcp.c +++ b/deps/uv/src/win/tcp.c @@ -99,8 +99,8 @@ static int uv_tcp_set_socket(uv_loop_t* loop, if (!SetHandleInformation((HANDLE) socket, HANDLE_FLAG_INHERIT, 0)) return GetLastError(); - /* Associate it with the I/O completion port. */ - /* Use uv_handle_t pointer as completion key. */ + /* Associate it with the I/O completion port. Use uv_handle_t pointer as + * completion key. */ if (CreateIoCompletionPort((HANDLE)socket, loop->iocp, (ULONG_PTR)socket, @@ -118,15 +118,12 @@ static int uv_tcp_set_socket(uv_loop_t* loop, non_ifs_lsp = uv_tcp_non_ifs_lsp_ipv4; } - if (pSetFileCompletionNotificationModes && - !(handle->flags & UV_HANDLE_EMULATE_IOCP) && !non_ifs_lsp) { - if (pSetFileCompletionNotificationModes((HANDLE) socket, - FILE_SKIP_SET_EVENT_ON_HANDLE | - FILE_SKIP_COMPLETION_PORT_ON_SUCCESS)) { - handle->flags |= UV_HANDLE_SYNC_BYPASS_IOCP; - } else if (GetLastError() != ERROR_INVALID_FUNCTION) { + if (!(handle->flags & UV_HANDLE_EMULATE_IOCP) && !non_ifs_lsp) { + UCHAR sfcnm_flags = + FILE_SKIP_SET_EVENT_ON_HANDLE | FILE_SKIP_COMPLETION_PORT_ON_SUCCESS; + if (!SetFileCompletionNotificationModes((HANDLE) socket, sfcnm_flags)) return GetLastError(); - } + handle->flags |= UV_HANDLE_SYNC_BYPASS_IOCP; } if (handle->flags & UV_HANDLE_TCP_NODELAY) { @@ -326,9 +323,9 @@ static int uv_tcp_try_bind(uv_tcp_t* handle, on = (flags & UV_TCP_IPV6ONLY) != 0; - /* TODO: how to handle errors? This may fail if there is no ipv4 stack */ - /* available, or when run on XP/2003 which have no support for dualstack */ - /* sockets. For now we're silently ignoring the error. */ + /* TODO: how to handle errors? This may fail if there is no ipv4 stack + * available, or when run on XP/2003 which have no support for dualstack + * sockets. For now we're silently ignoring the error. */ setsockopt(handle->socket, IPPROTO_IPV6, IPV6_V6ONLY, @@ -626,9 +623,9 @@ int uv_tcp_listen(uv_tcp_t* handle, int backlog, uv_connection_cb cb) { uv_tcp_queue_accept(handle, req); } - /* Initialize other unused requests too, because uv_tcp_endgame */ - /* doesn't know how how many requests were initialized, so it will */ - /* try to clean up {uv_simultaneous_server_accepts} requests. */ + /* Initialize other unused requests too, because uv_tcp_endgame doesn't + * know how many requests were initialized, so it will try to clean up + * {uv_simultaneous_server_accepts} requests. */ for (i = simultaneous_accepts; i < uv_simultaneous_server_accepts; i++) { req = &handle->tcp.serv.accept_reqs[i]; UV_REQ_INIT(req, UV_ACCEPT); @@ -721,8 +718,8 @@ int uv_tcp_read_start(uv_tcp_t* handle, uv_alloc_cb alloc_cb, handle->alloc_cb = alloc_cb; INCREASE_ACTIVE_COUNT(loop, handle); - /* If reading was stopped and then started again, there could still be a */ - /* read request pending. */ + /* If reading was stopped and then started again, there could still be a read + * request pending. */ if (!(handle->flags & UV_HANDLE_READ_PENDING)) { if (handle->flags & UV_HANDLE_EMULATE_IOCP && !handle->read_req.event_handle) { @@ -965,8 +962,7 @@ void uv_process_tcp_read_req(uv_loop_t* loop, uv_tcp_t* handle, err = GET_REQ_SOCK_ERROR(req); if (err == WSAECONNABORTED) { - /* - * Turn WSAECONNABORTED into UV_ECONNRESET to be consistent with Unix. + /* Turn WSAECONNABORTED into UV_ECONNRESET to be consistent with Unix. */ err = WSAECONNRESET; } @@ -1046,8 +1042,8 @@ void uv_process_tcp_read_req(uv_loop_t* loop, uv_tcp_t* handle, DECREASE_ACTIVE_COUNT(loop, handle); if (err == WSAECONNABORTED) { - /* Turn WSAECONNABORTED into UV_ECONNRESET to be consistent with */ - /* Unix. */ + /* Turn WSAECONNABORTED into UV_ECONNRESET to be consistent with + * Unix. */ err = WSAECONNRESET; } @@ -1119,10 +1115,9 @@ void uv_process_tcp_accept_req(uv_loop_t* loop, uv_tcp_t* handle, assert(handle->type == UV_TCP); - /* If handle->accepted_socket is not a valid socket, then */ - /* uv_queue_accept must have failed. This is a serious error. We stop */ - /* accepting connections and report this error to the connection */ - /* callback. */ + /* If handle->accepted_socket is not a valid socket, then uv_queue_accept + * must have failed. This is a serious error. We stop accepting connections + * and report this error to the connection callback. */ if (req->accept_socket == INVALID_SOCKET) { if (handle->flags & UV_HANDLE_LISTENING) { handle->flags &= ~UV_HANDLE_LISTENING; @@ -1147,9 +1142,9 @@ void uv_process_tcp_accept_req(uv_loop_t* loop, uv_tcp_t* handle, handle->stream.serv.connection_cb((uv_stream_t*)handle, 0); } } else { - /* Error related to accepted socket is ignored because the server */ - /* socket may still be healthy. If the server socket is broken */ - /* uv_queue_accept will detect it. */ + /* Error related to accepted socket is ignored because the server socket + * may still be healthy. If the server socket is broken uv_queue_accept + * will detect it. */ closesocket(req->accept_socket); req->accept_socket = INVALID_SOCKET; if (handle->flags & UV_HANDLE_LISTENING) { @@ -1194,13 +1189,46 @@ void uv_process_tcp_connect_req(uv_loop_t* loop, uv_tcp_t* handle, } -int uv_tcp_import(uv_tcp_t* tcp, uv__ipc_socket_info_ex* socket_info_ex, - int tcp_connection) { +int uv__tcp_xfer_export(uv_tcp_t* handle, + int target_pid, + uv__ipc_socket_xfer_info_t* xfer_info) { + if (!(handle->flags & UV_HANDLE_CONNECTION)) { + /* We're about to share the socket with another process. Because this is a + * listening socket, we assume that the other process will be accepting + * connections on it. Thus, before sharing the socket with another process, + * we call listen here in the parent process. */ + if (!(handle->flags & UV_HANDLE_LISTENING)) { + if (!(handle->flags & UV_HANDLE_BOUND)) { + return ERROR_NOT_SUPPORTED; + } + if (handle->delayed_error == 0 && + listen(handle->socket, SOMAXCONN) == SOCKET_ERROR) { + handle->delayed_error = WSAGetLastError(); + } + } + } + + if (WSADuplicateSocketW( + handle->socket, target_pid, &xfer_info->socket_info)) { + return WSAGetLastError(); + } + xfer_info->delayed_error = handle->delayed_error; + xfer_info->flags = handle->flags & UV_HANDLE_CONNECTION; + + /* Mark the local copy of the handle as 'shared' so we behave in a way that's + * friendly to the process(es) that we share the socket with. */ + handle->flags |= UV_HANDLE_SHARED_TCP_SOCKET; + + return 0; +} + + +int uv__tcp_xfer_import(uv_tcp_t* tcp, uv__ipc_socket_xfer_info_t* xfer_info) { int err; SOCKET socket = WSASocketW(FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO, - &socket_info_ex->socket_info, + &xfer_info->socket_info, 0, WSA_FLAG_OVERLAPPED); @@ -1208,26 +1236,21 @@ int uv_tcp_import(uv_tcp_t* tcp, uv__ipc_socket_info_ex* socket_info_ex, return WSAGetLastError(); } - err = uv_tcp_set_socket(tcp->loop, - tcp, - socket, - socket_info_ex->socket_info.iAddressFamily, - 1); + err = uv_tcp_set_socket( + tcp->loop, tcp, socket, xfer_info->socket_info.iAddressFamily, 1); if (err) { closesocket(socket); return err; } - if (tcp_connection) { + tcp->delayed_error = xfer_info->delayed_error; + tcp->flags |= UV_HANDLE_BOUND | UV_HANDLE_SHARED_TCP_SOCKET; + + if (xfer_info->flags & UV_HANDLE_CONNECTION) { uv_connection_init((uv_stream_t*)tcp); tcp->flags |= UV_HANDLE_READABLE | UV_HANDLE_WRITABLE; } - tcp->flags |= UV_HANDLE_BOUND; - tcp->flags |= UV_HANDLE_SHARED_TCP_SOCKET; - - tcp->delayed_error = socket_info_ex->delayed_error; - tcp->loop->active_tcp_streams++; return 0; } @@ -1273,39 +1296,6 @@ int uv_tcp_keepalive(uv_tcp_t* handle, int enable, unsigned int delay) { } -int uv_tcp_duplicate_socket(uv_tcp_t* handle, int pid, - LPWSAPROTOCOL_INFOW protocol_info) { - if (!(handle->flags & UV_HANDLE_CONNECTION)) { - /* - * We're about to share the socket with another process. Because - * this is a listening socket, we assume that the other process will - * be accepting connections on it. So, before sharing the socket - * with another process, we call listen here in the parent process. - */ - - if (!(handle->flags & UV_HANDLE_LISTENING)) { - if (!(handle->flags & UV_HANDLE_BOUND)) { - return ERROR_INVALID_PARAMETER; - } - - if (!(handle->delayed_error)) { - if (listen(handle->socket, SOMAXCONN) == SOCKET_ERROR) { - handle->delayed_error = WSAGetLastError(); - } - } - } - } - - if (WSADuplicateSocketW(handle->socket, pid, protocol_info)) { - return WSAGetLastError(); - } - - handle->flags |= UV_HANDLE_SHARED_TCP_SOCKET; - - return 0; -} - - int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable) { if (handle->flags & UV_HANDLE_CONNECTION) { return UV_EINVAL; @@ -1346,8 +1336,8 @@ static int uv_tcp_try_cancel_io(uv_tcp_t* tcp) { non_ifs_lsp = (tcp->flags & UV_HANDLE_IPV6) ? uv_tcp_non_ifs_lsp_ipv6 : uv_tcp_non_ifs_lsp_ipv4; - /* If there are non-ifs LSPs then try to obtain a base handle for the */ - /* socket. This will always fail on Windows XP/3k. */ + /* If there are non-ifs LSPs then try to obtain a base handle for the socket. + * This will always fail on Windows XP/3k. */ if (non_ifs_lsp) { DWORD bytes; if (WSAIoctl(socket, @@ -1379,38 +1369,37 @@ void uv_tcp_close(uv_loop_t* loop, uv_tcp_t* tcp) { int close_socket = 1; if (tcp->flags & UV_HANDLE_READ_PENDING) { - /* In order for winsock to do a graceful close there must not be any */ - /* any pending reads, or the socket must be shut down for writing */ + /* In order for winsock to do a graceful close there must not be any any + * pending reads, or the socket must be shut down for writing */ if (!(tcp->flags & UV_HANDLE_SHARED_TCP_SOCKET)) { /* Just do shutdown on non-shared sockets, which ensures graceful close. */ shutdown(tcp->socket, SD_SEND); } else if (uv_tcp_try_cancel_io(tcp) == 0) { - /* In case of a shared socket, we try to cancel all outstanding I/O, */ - /* If that works, don't close the socket yet - wait for the read req to */ - /* return and close the socket in uv_tcp_endgame. */ + /* In case of a shared socket, we try to cancel all outstanding I/O,. If + * that works, don't close the socket yet - wait for the read req to + * return and close the socket in uv_tcp_endgame. */ close_socket = 0; } else { - /* When cancelling isn't possible - which could happen when an LSP is */ - /* present on an old Windows version, we will have to close the socket */ - /* with a read pending. That is not nice because trailing sent bytes */ - /* may not make it to the other side. */ + /* When cancelling isn't possible - which could happen when an LSP is + * present on an old Windows version, we will have to close the socket + * with a read pending. That is not nice because trailing sent bytes may + * not make it to the other side. */ } } else if ((tcp->flags & UV_HANDLE_SHARED_TCP_SOCKET) && tcp->tcp.serv.accept_reqs != NULL) { - /* Under normal circumstances closesocket() will ensure that all pending */ - /* accept reqs are canceled. However, when the socket is shared the */ - /* presence of another reference to the socket in another process will */ - /* keep the accept reqs going, so we have to ensure that these are */ - /* canceled. */ + /* Under normal circumstances closesocket() will ensure that all pending + * accept reqs are canceled. However, when the socket is shared the + * presence of another reference to the socket in another process will keep + * the accept reqs going, so we have to ensure that these are canceled. */ if (uv_tcp_try_cancel_io(tcp) != 0) { - /* When cancellation is not possible, there is another option: we can */ - /* close the incoming sockets, which will also cancel the accept */ - /* operations. However this is not cool because we might inadvertently */ - /* close a socket that just accepted a new connection, which will */ - /* cause the connection to be aborted. */ + /* When cancellation is not possible, there is another option: we can + * close the incoming sockets, which will also cancel the accept + * operations. However this is not cool because we might inadvertently + * close a socket that just accepted a new connection, which will cause + * the connection to be aborted. */ unsigned int i; for (i = 0; i < uv_simultaneous_server_accepts; i++) { uv_tcp_accept_t* req = &tcp->tcp.serv.accept_reqs[i]; diff --git a/deps/uv/src/win/thread.c b/deps/uv/src/win/thread.c index 9eaad77cd02c97..3342fd759435ef 100644 --- a/deps/uv/src/win/thread.c +++ b/deps/uv/src/win/thread.c @@ -26,17 +26,6 @@ #include "uv.h" #include "internal.h" - -#define HAVE_CONDVAR_API() (pInitializeConditionVariable != NULL) - -static int uv_cond_fallback_init(uv_cond_t* cond); -static void uv_cond_fallback_destroy(uv_cond_t* cond); -static void uv_cond_fallback_signal(uv_cond_t* cond); -static void uv_cond_fallback_broadcast(uv_cond_t* cond); -static void uv_cond_fallback_wait(uv_cond_t* cond, uv_mutex_t* mutex); -static int uv_cond_fallback_timedwait(uv_cond_t* cond, - uv_mutex_t* mutex, uint64_t timeout); - static int uv_cond_condvar_init(uv_cond_t* cond); static void uv_cond_condvar_destroy(uv_cond_t* cond); static void uv_cond_condvar_signal(uv_cond_t* cond); @@ -69,8 +58,8 @@ static void uv__once_inner(uv_once_t* guard, void (*callback)(void)) { guard->ran = 1; } else { - /* We lost the race. Destroy the event we created and wait for the */ - /* existing one to become signaled. */ + /* We lost the race. Destroy the event we created and wait for the existing + * one to become signaled. */ CloseHandle(created_event); result = WaitForSingleObject(existing_event, INFINITE); assert(result == WAIT_OBJECT_0); @@ -377,220 +366,35 @@ int uv_sem_trywait(uv_sem_t* sem) { } -/* This condition variable implementation is based on the SetEvent solution - * (section 3.2) at http://www.cs.wustl.edu/~schmidt/win32-cv-1.html - * We could not use the SignalObjectAndWait solution (section 3.4) because - * it want the 2nd argument (type uv_mutex_t) of uv_cond_wait() and - * uv_cond_timedwait() to be HANDLEs, but we use CRITICAL_SECTIONs. - */ - -static int uv_cond_fallback_init(uv_cond_t* cond) { - int err; - - /* Initialize the count to 0. */ - cond->fallback.waiters_count = 0; - - InitializeCriticalSection(&cond->fallback.waiters_count_lock); - - /* Create an auto-reset event. */ - cond->fallback.signal_event = CreateEvent(NULL, /* no security */ - FALSE, /* auto-reset event */ - FALSE, /* non-signaled initially */ - NULL); /* unnamed */ - if (!cond->fallback.signal_event) { - err = GetLastError(); - goto error2; - } - - /* Create a manual-reset event. */ - cond->fallback.broadcast_event = CreateEvent(NULL, /* no security */ - TRUE, /* manual-reset */ - FALSE, /* non-signaled */ - NULL); /* unnamed */ - if (!cond->fallback.broadcast_event) { - err = GetLastError(); - goto error; - } - - return 0; - -error: - CloseHandle(cond->fallback.signal_event); -error2: - DeleteCriticalSection(&cond->fallback.waiters_count_lock); - return uv_translate_sys_error(err); -} - - -static int uv_cond_condvar_init(uv_cond_t* cond) { - pInitializeConditionVariable(&cond->cond_var); - return 0; -} - - int uv_cond_init(uv_cond_t* cond) { - uv__once_init(); - - if (HAVE_CONDVAR_API()) - return uv_cond_condvar_init(cond); - else - return uv_cond_fallback_init(cond); -} - - -static void uv_cond_fallback_destroy(uv_cond_t* cond) { - if (!CloseHandle(cond->fallback.broadcast_event)) - abort(); - if (!CloseHandle(cond->fallback.signal_event)) - abort(); - DeleteCriticalSection(&cond->fallback.waiters_count_lock); -} - - -static void uv_cond_condvar_destroy(uv_cond_t* cond) { - /* nothing to do */ + InitializeConditionVariable(&cond->cond_var); + return 0; } void uv_cond_destroy(uv_cond_t* cond) { - if (HAVE_CONDVAR_API()) - uv_cond_condvar_destroy(cond); - else - uv_cond_fallback_destroy(cond); -} - - -static void uv_cond_fallback_signal(uv_cond_t* cond) { - int have_waiters; - - /* Avoid race conditions. */ - EnterCriticalSection(&cond->fallback.waiters_count_lock); - have_waiters = cond->fallback.waiters_count > 0; - LeaveCriticalSection(&cond->fallback.waiters_count_lock); - - if (have_waiters) - SetEvent(cond->fallback.signal_event); -} - - -static void uv_cond_condvar_signal(uv_cond_t* cond) { - pWakeConditionVariable(&cond->cond_var); + /* nothing to do */ + UV__UNUSED(cond); } void uv_cond_signal(uv_cond_t* cond) { - if (HAVE_CONDVAR_API()) - uv_cond_condvar_signal(cond); - else - uv_cond_fallback_signal(cond); -} - - -static void uv_cond_fallback_broadcast(uv_cond_t* cond) { - int have_waiters; - - /* Avoid race conditions. */ - EnterCriticalSection(&cond->fallback.waiters_count_lock); - have_waiters = cond->fallback.waiters_count > 0; - LeaveCriticalSection(&cond->fallback.waiters_count_lock); - - if (have_waiters) - SetEvent(cond->fallback.broadcast_event); -} - - -static void uv_cond_condvar_broadcast(uv_cond_t* cond) { - pWakeAllConditionVariable(&cond->cond_var); + WakeConditionVariable(&cond->cond_var); } void uv_cond_broadcast(uv_cond_t* cond) { - if (HAVE_CONDVAR_API()) - uv_cond_condvar_broadcast(cond); - else - uv_cond_fallback_broadcast(cond); -} - - -static int uv_cond_wait_helper(uv_cond_t* cond, uv_mutex_t* mutex, - DWORD dwMilliseconds) { - DWORD result; - int last_waiter; - HANDLE handles[2] = { - cond->fallback.signal_event, - cond->fallback.broadcast_event - }; - - /* Avoid race conditions. */ - EnterCriticalSection(&cond->fallback.waiters_count_lock); - cond->fallback.waiters_count++; - LeaveCriticalSection(&cond->fallback.waiters_count_lock); - - /* It's ok to release the here since Win32 manual-reset events */ - /* maintain state when used with . This avoids the "lost wakeup" */ - /* bug. */ - uv_mutex_unlock(mutex); - - /* Wait for either event to become signaled due to being */ - /* called or being called. */ - result = WaitForMultipleObjects(2, handles, FALSE, dwMilliseconds); - - EnterCriticalSection(&cond->fallback.waiters_count_lock); - cond->fallback.waiters_count--; - last_waiter = result == WAIT_OBJECT_0 + 1 - && cond->fallback.waiters_count == 0; - LeaveCriticalSection(&cond->fallback.waiters_count_lock); - - /* Some thread called . */ - if (last_waiter) { - /* We're the last waiter to be notified or to stop waiting, so reset the */ - /* the manual-reset event. */ - ResetEvent(cond->fallback.broadcast_event); - } - - /* Reacquire the . */ - uv_mutex_lock(mutex); - - if (result == WAIT_OBJECT_0 || result == WAIT_OBJECT_0 + 1) - return 0; - - if (result == WAIT_TIMEOUT) - return UV_ETIMEDOUT; - - abort(); - return -1; /* Satisfy the compiler. */ -} - - -static void uv_cond_fallback_wait(uv_cond_t* cond, uv_mutex_t* mutex) { - if (uv_cond_wait_helper(cond, mutex, INFINITE)) - abort(); -} - - -static void uv_cond_condvar_wait(uv_cond_t* cond, uv_mutex_t* mutex) { - if (!pSleepConditionVariableCS(&cond->cond_var, mutex, INFINITE)) - abort(); + WakeAllConditionVariable(&cond->cond_var); } void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex) { - if (HAVE_CONDVAR_API()) - uv_cond_condvar_wait(cond, mutex); - else - uv_cond_fallback_wait(cond, mutex); -} - - -static int uv_cond_fallback_timedwait(uv_cond_t* cond, - uv_mutex_t* mutex, uint64_t timeout) { - return uv_cond_wait_helper(cond, mutex, (DWORD)(timeout / 1e6)); + if (!SleepConditionVariableCS(&cond->cond_var, mutex, INFINITE)) + abort(); } - -static int uv_cond_condvar_timedwait(uv_cond_t* cond, - uv_mutex_t* mutex, uint64_t timeout) { - if (pSleepConditionVariableCS(&cond->cond_var, mutex, (DWORD)(timeout / 1e6))) +int uv_cond_timedwait(uv_cond_t* cond, uv_mutex_t* mutex, uint64_t timeout) { + if (SleepConditionVariableCS(&cond->cond_var, mutex, (DWORD)(timeout / 1e6))) return 0; if (GetLastError() != ERROR_TIMEOUT) abort(); @@ -598,15 +402,6 @@ static int uv_cond_condvar_timedwait(uv_cond_t* cond, } -int uv_cond_timedwait(uv_cond_t* cond, uv_mutex_t* mutex, - uint64_t timeout) { - if (HAVE_CONDVAR_API()) - return uv_cond_condvar_timedwait(cond, mutex, timeout); - else - return uv_cond_fallback_timedwait(cond, mutex, timeout); -} - - int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { int err; diff --git a/deps/uv/src/win/timer.c b/deps/uv/src/win/timer.c index 7e006fedfaf3ee..eda5c24f6e8392 100644 --- a/deps/uv/src/win/timer.c +++ b/deps/uv/src/win/timer.c @@ -24,7 +24,7 @@ #include "uv.h" #include "internal.h" -#include "tree.h" +#include "uv/tree.h" #include "handle-inl.h" diff --git a/deps/uv/src/win/tty.c b/deps/uv/src/win/tty.c index ecf7bc9b5b6710..ab4a648b2ec826 100644 --- a/deps/uv/src/win/tty.c +++ b/deps/uv/src/win/tty.c @@ -25,7 +25,7 @@ #include #if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" +# include "uv/stdint-msvc2008.h" #else # include #endif @@ -205,8 +205,8 @@ int uv_tty_init(uv_loop_t* loop, uv_tty_t* tty, uv_file fd, int readable) { return uv_translate_sys_error(GetLastError()); } - /* Obtain the the tty_output_lock because the virtual window state is */ - /* shared between all uv_tty_t handles. */ + /* Obtain the tty_output_lock because the virtual window state is shared + * between all uv_tty_t handles. */ uv_sem_wait(&uv_tty_output_lock); if (uv__vterm_state == UV_UNCHECKED) @@ -484,8 +484,8 @@ static DWORD CALLBACK uv_tty_line_read_thread(void* data) { bytes = MAX_INPUT_BUFFER_LENGTH; } - /* At last, unicode! */ - /* One utf-16 codeunit never takes more than 3 utf-8 codeunits to encode */ + /* At last, unicode! One utf-16 codeunit never takes more than 3 utf-8 + * codeunits to encode. */ chars = bytes / 3; status = InterlockedExchange(&uv__read_console_status, IN_PROGRESS); @@ -620,10 +620,10 @@ static const char* get_vt100_fn_key(DWORD code, char shift, char ctrl, } switch (code) { - /* These mappings are the same as Cygwin's. Unmodified and alt-modified */ - /* keypad keys comply with linux console, modifiers comply with xterm */ - /* modifier usage. F1..f12 and shift-f1..f10 comply with linux console, */ - /* f6..f12 with and without modifiers comply with rxvt. */ + /* These mappings are the same as Cygwin's. Unmodified and alt-modified + * keypad keys comply with linux console, modifiers comply with xterm + * modifier usage. F1. f12 and shift-f1. f10 comply with linux console, f6. + * f12 with and without modifiers comply with rxvt. */ VK_CASE(VK_INSERT, "[2~", "[2;2~", "[2;5~", "[2;6~") VK_CASE(VK_END, "[4~", "[4;2~", "[4;5~", "[4;6~") VK_CASE(VK_DOWN, "[B", "[1;2B", "[1;5B", "[1;6B") @@ -706,8 +706,8 @@ void uv_process_tty_read_raw_req(uv_loop_t* loop, uv_tty_t* handle, goto out; } - /* Windows sends a lot of events that we're not interested in, so buf */ - /* will be allocated on demand, when there's actually something to emit. */ + /* Windows sends a lot of events that we're not interested in, so buf will be + * allocated on demand, when there's actually something to emit. */ buf = uv_null_buf_; buf_used = 0; @@ -733,16 +733,16 @@ void uv_process_tty_read_raw_req(uv_loop_t* loop, uv_tty_t* handle, continue; } - /* Ignore keyup events, unless the left alt key was held and a valid */ - /* unicode character was emitted. */ + /* Ignore keyup events, unless the left alt key was held and a valid + * unicode character was emitted. */ if (!KEV.bKeyDown && !(((KEV.dwControlKeyState & LEFT_ALT_PRESSED) || KEV.wVirtualKeyCode==VK_MENU) && KEV.uChar.UnicodeChar != 0)) { continue; } - /* Ignore keypresses to numpad number keys if the left alt is held */ - /* because the user is composing a character, or windows simulating */ - /* this. */ + /* Ignore keypresses to numpad number keys if the left alt is held + * because the user is composing a character, or windows simulating this. + */ if ((KEV.dwControlKeyState & LEFT_ALT_PRESSED) && !(KEV.dwControlKeyState & ENHANCED_KEY) && (KEV.wVirtualKeyCode == VK_INSERT || @@ -779,8 +779,8 @@ void uv_process_tty_read_raw_req(uv_loop_t* loop, uv_tty_t* handle, continue; } - /* Prefix with \u033 if alt was held, but alt was not used as part */ - /* a compose sequence. */ + /* Prefix with \u033 if alt was held, but alt was not used as part a + * compose sequence. */ if ((KEV.dwControlKeyState & (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)) && !(KEV.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) && KEV.bKeyDown) { @@ -818,8 +818,8 @@ void uv_process_tty_read_raw_req(uv_loop_t* loop, uv_tty_t* handle, /* Whatever happened, the last character wasn't a high surrogate. */ handle->tty.rd.last_utf16_high_surrogate = 0; - /* If the utf16 character(s) couldn't be converted something must */ - /* be wrong. */ + /* If the utf16 character(s) couldn't be converted something must be + * wrong. */ if (!char_len) { handle->flags &= ~UV_HANDLE_READING; DECREASE_ACTIVE_COUNT(loop, handle); @@ -950,8 +950,7 @@ void uv_process_tty_read_line_req(uv_loop_t* loop, uv_tty_t* handle, } else { if (!(handle->flags & UV_HANDLE_CANCELLATION_PENDING)) { - /* Read successful */ - /* TODO: read unicode, convert to utf-8 */ + /* Read successful. TODO: read unicode, convert to utf-8 */ DWORD bytes = req->u.io.overlapped.InternalHigh; handle->read_cb((uv_stream_t*) handle, bytes, &buf); } else { @@ -975,9 +974,9 @@ void uv_process_tty_read_req(uv_loop_t* loop, uv_tty_t* handle, assert(handle->type == UV_TTY); assert(handle->flags & UV_HANDLE_TTY_READABLE); - /* If the read_line_buffer member is zero, it must have been an raw read. */ - /* Otherwise it was a line-buffered read. */ - /* FIXME: This is quite obscure. Use a flag or something. */ + /* If the read_line_buffer member is zero, it must have been an raw read. + * Otherwise it was a line-buffered read. FIXME: This is quite obscure. Use a + * flag or something. */ if (handle->tty.rd.read_line_buffer.len == 0) { uv_process_tty_read_raw_req(loop, handle, req); } else { @@ -999,14 +998,14 @@ int uv_tty_read_start(uv_tty_t* handle, uv_alloc_cb alloc_cb, handle->read_cb = read_cb; handle->alloc_cb = alloc_cb; - /* If reading was stopped and then started again, there could still be a */ - /* read request pending. */ + /* If reading was stopped and then started again, there could still be a read + * request pending. */ if (handle->flags & UV_HANDLE_READ_PENDING) { return 0; } - /* Maybe the user stopped reading half-way while processing key events. */ - /* Short-circuit if this could be the case. */ + /* Maybe the user stopped reading half-way while processing key events. + * Short-circuit if this could be the case. */ if (handle->tty.rd.last_key_len > 0) { SET_REQ_SUCCESS(&handle->read_req); uv_insert_pending_req(handle->loop, (uv_req_t*) &handle->read_req); @@ -1033,8 +1032,8 @@ int uv_tty_read_stop(uv_tty_t* handle) { return 0; if (handle->flags & UV_HANDLE_TTY_RAW) { - /* Cancel raw read */ - /* Write some bullshit event to force the console wait to return. */ + /* Cancel raw read. Write some bullshit event to force the console wait to + * return. */ memset(&record, 0, sizeof record); if (!WriteConsoleInputW(handle->handle, &record, 1, &written)) { return GetLastError(); @@ -1116,8 +1115,8 @@ static void uv_tty_update_virtual_window(CONSOLE_SCREEN_BUFFER_INFO* info) { uv_tty_virtual_offset = info->dwCursorPosition.Y; } else if (uv_tty_virtual_offset < info->dwCursorPosition.Y - uv_tty_virtual_height + 1) { - /* If suddenly find the cursor outside of the virtual window, it must */ - /* have somehow scrolled. Update the virtual window offset. */ + /* If suddenly find the cursor outside of the virtual window, it must have + * somehow scrolled. Update the virtual window offset. */ uv_tty_virtual_offset = info->dwCursorPosition.Y - uv_tty_virtual_height + 1; } @@ -1304,8 +1303,8 @@ static int uv_tty_clear(uv_tty_t* handle, int dir, char entire_screen, x2 = 0; x2r = 1; } else { - /* Clear to end of row. We pretend the console is 65536 characters wide, */ - /* uv_tty_make_real_coord will clip it to the actual console width. */ + /* Clear to end of row. We pretend the console is 65536 characters wide, + * uv_tty_make_real_coord will clip it to the actual console width. */ x2 = 0xffff; x2r = 0; } @@ -1613,8 +1612,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, const uv_buf_t bufs[], unsigned int nbufs, DWORD* error) { - /* We can only write 8k characters at a time. Windows can't handle */ - /* much more characters in a single console write anyway. */ + /* We can only write 8k characters at a time. Windows can't handle much more + * characters in a single console write anyway. */ WCHAR utf16_buf[MAX_CONSOLE_CHAR]; WCHAR* utf16_buffer; DWORD utf16_buf_used = 0; @@ -1650,9 +1649,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, unsigned char previous_eol = handle->tty.wr.previous_eol; unsigned char ansi_parser_state = handle->tty.wr.ansi_parser_state; - /* Store the error here. If we encounter an error, stop trying to do i/o */ - /* but keep parsing the buffer so we leave the parser in a consistent */ - /* state. */ + /* Store the error here. If we encounter an error, stop trying to do i/o but + * keep parsing the buffer so we leave the parser in a consistent state. */ *error = ERROR_SUCCESS; utf16_buffer = utf16_buf; @@ -1700,9 +1698,9 @@ static int uv_tty_write_bufs(uv_tty_t* handle, for (j = 0; j < buf.len; j++) { unsigned char c = buf.base[j]; - /* Run the character through the utf8 decoder We happily accept non */ - /* shortest form encodings and invalid code points - there's no real */ - /* harm that can be done. */ + /* Run the character through the utf8 decoder We happily accept non + * shortest form encodings and invalid code points - there's no real harm + * that can be done. */ if (utf8_bytes_left == 0) { /* Read utf-8 start byte */ DWORD first_zero_bit; @@ -1742,8 +1740,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, /* Start byte where continuation was expected. */ utf8_bytes_left = 0; utf8_codepoint = UNICODE_REPLACEMENT_CHARACTER; - /* Patch buf offset so this character will be parsed again as a */ - /* start byte. */ + /* Patch buf offset so this character will be parsed again as a start + * byte. */ j--; } @@ -1776,8 +1774,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, case '_': case 'P': case ']': - /* Not supported, but we'll have to parse until we see a stop */ - /* code, e.g. ESC \ or BEL. */ + /* Not supported, but we'll have to parse until we see a stop code, + * e. g. ESC \ or BEL. */ ansi_parser_state = ANSI_ST_CONTROL; continue; @@ -1859,8 +1857,9 @@ static int uv_tty_write_bufs(uv_tty_t* handle, continue; } else { - /* If ANSI_IN_ARG is not set, add another argument and */ - /* default it to 0. */ + /* If ANSI_IN_ARG is not set, add another argument and default it + * to 0. */ + /* Check for too many arguments */ if (handle->tty.wr.ansi_csi_argc >= ARRAY_SIZE(handle->tty.wr.ansi_csi_argv)) { ansi_parser_state |= ANSI_IGNORE; @@ -1874,9 +1873,9 @@ static int uv_tty_write_bufs(uv_tty_t* handle, } else if (utf8_codepoint == '?' && !(ansi_parser_state & ANSI_IN_ARG) && handle->tty.wr.ansi_csi_argc == 0) { - /* Ignores '?' if it is the first character after CSI[ */ - /* This is an extension character from the VT100 codeset */ - /* that is supported and used by most ANSI terminals today. */ + /* Ignores '?' if it is the first character after CSI[. This is an + * extension character from the VT100 codeset that is supported and + * used by most ANSI terminals today. */ continue; } else if (utf8_codepoint >= '@' && utf8_codepoint <= '~' && @@ -2006,8 +2005,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, continue; } else { - /* We don't support commands that use private mode characters or */ - /* intermediaries. Ignore the rest of the sequence. */ + /* We don't support commands that use private mode characters or + * intermediaries. Ignore the rest of the sequence. */ ansi_parser_state |= ANSI_IGNORE; continue; } @@ -2020,8 +2019,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, } } else if (ansi_parser_state & ANSI_ST_CONTROL) { - /* Unsupported control code */ - /* Ignore everything until we see BEL or ESC \ */ + /* Unsupported control code. + * Ignore everything until we see `BEL` or `ESC \`. */ if (ansi_parser_state & ANSI_IN_STRING) { if (!(ansi_parser_state & ANSI_BACKSLASH_SEEN)) { if (utf8_codepoint == '"') { @@ -2055,9 +2054,9 @@ static int uv_tty_write_bufs(uv_tty_t* handle, abort(); } - /* We wouldn't mind emitting utf-16 surrogate pairs. Too bad, the */ - /* windows console doesn't really support UTF-16, so just emit the */ - /* replacement character. */ + /* We wouldn't mind emitting utf-16 surrogate pairs. Too bad, the windows + * console doesn't really support UTF-16, so just emit the replacement + * character. */ if (utf8_codepoint > 0xffff) { utf8_codepoint = UNICODE_REPLACEMENT_CHARACTER; } @@ -2071,10 +2070,10 @@ static int uv_tty_write_bufs(uv_tty_t* handle, utf16_buf[utf16_buf_used++] = L'\r'; utf16_buf[utf16_buf_used++] = L'\n'; } else if (utf8_codepoint == 0x0d && previous_eol == 0x0a) { - /* \n was followed by \r; do not print the \r, since */ - /* the source was either \r\n\r (so the second \r is */ - /* redundant) or was \n\r (so the \n was processed */ - /* by the last case and an \r automatically inserted). */ + /* \n was followed by \r; do not print the \r, since the source was + * either \r\n\r (so the second \r is redundant) or was \n\r (so the + * \n was processed by the last case and an \r automatically + * inserted). */ } else { /* \r without \n; print \r as-is. */ ENSURE_BUFFER_SPACE(1); @@ -2224,8 +2223,8 @@ void uv_tty_endgame(uv_loop_t* loop, uv_tty_t* handle) { if (handle->flags & UV__HANDLE_CLOSING && handle->reqs_pending == 0) { - /* The wait handle used for raw reading should be unregistered when the */ - /* wait callback runs. */ + /* The wait handle used for raw reading should be unregistered when the + * wait callback runs. */ assert(!(handle->flags & UV_HANDLE_TTY_READABLE) || handle->tty.rd.read_raw_wait == NULL); diff --git a/deps/uv/src/win/udp.c b/deps/uv/src/win/udp.c index cd1d0e07b23cb9..e56282ae44c74e 100644 --- a/deps/uv/src/win/udp.c +++ b/deps/uv/src/win/udp.c @@ -74,8 +74,8 @@ static int uv_udp_set_socket(uv_loop_t* loop, uv_udp_t* handle, SOCKET socket, return GetLastError(); } - /* Associate it with the I/O completion port. */ - /* Use uv_handle_t pointer as completion key. */ + /* Associate it with the I/O completion port. Use uv_handle_t pointer as + * completion key. */ if (CreateIoCompletionPort((HANDLE)socket, loop->iocp, (ULONG_PTR)socket, @@ -83,31 +83,28 @@ static int uv_udp_set_socket(uv_loop_t* loop, uv_udp_t* handle, SOCKET socket, return GetLastError(); } - if (pSetFileCompletionNotificationModes) { - /* All known Windows that support SetFileCompletionNotificationModes */ - /* have a bug that makes it impossible to use this function in */ - /* conjunction with datagram sockets. We can work around that but only */ - /* if the user is using the default UDP driver (AFD) and has no other */ - /* LSPs stacked on top. Here we check whether that is the case. */ - opt_len = (int) sizeof info; - if (getsockopt(socket, - SOL_SOCKET, - SO_PROTOCOL_INFOW, - (char*) &info, - &opt_len) == SOCKET_ERROR) { - return GetLastError(); - } + /* All known Windows that support SetFileCompletionNotificationModes have a + * bug that makes it impossible to use this function in conjunction with + * datagram sockets. We can work around that but only if the user is using + * the default UDP driver (AFD) and has no other. LSPs stacked on top. Here + * we check whether that is the case. */ + opt_len = (int) sizeof info; + if (getsockopt( + socket, SOL_SOCKET, SO_PROTOCOL_INFOW, (char*) &info, &opt_len) == + SOCKET_ERROR) { + return GetLastError(); + } - if (info.ProtocolChain.ChainLen == 1) { - if (pSetFileCompletionNotificationModes((HANDLE)socket, - FILE_SKIP_SET_EVENT_ON_HANDLE | - FILE_SKIP_COMPLETION_PORT_ON_SUCCESS)) { - handle->flags |= UV_HANDLE_SYNC_BYPASS_IOCP; - handle->func_wsarecv = uv_wsarecv_workaround; - handle->func_wsarecvfrom = uv_wsarecvfrom_workaround; - } else if (GetLastError() != ERROR_INVALID_FUNCTION) { - return GetLastError(); - } + if (info.ProtocolChain.ChainLen == 1) { + if (SetFileCompletionNotificationModes( + (HANDLE) socket, + FILE_SKIP_SET_EVENT_ON_HANDLE | + FILE_SKIP_COMPLETION_PORT_ON_SUCCESS)) { + handle->flags |= UV_HANDLE_SYNC_BYPASS_IOCP; + handle->func_wsarecv = uv_wsarecv_workaround; + handle->func_wsarecvfrom = uv_wsarecvfrom_workaround; + } else if (GetLastError() != ERROR_INVALID_FUNCTION) { + return GetLastError(); } } @@ -245,12 +242,12 @@ static int uv_udp_maybe_bind(uv_udp_t* handle, handle->flags |= UV_HANDLE_IPV6; if (addr->sa_family == AF_INET6 && !(flags & UV_UDP_IPV6ONLY)) { - /* On windows IPV6ONLY is on by default. */ - /* If the user doesn't specify it libuv turns it off. */ + /* On windows IPV6ONLY is on by default. If the user doesn't specify it + * libuv turns it off. */ - /* TODO: how to handle errors? This may fail if there is no ipv4 stack */ - /* available, or when run on XP/2003 which have no support for dualstack */ - /* sockets. For now we're silently ignoring the error. */ + /* TODO: how to handle errors? This may fail if there is no ipv4 stack + * available, or when run on XP/2003 which have no support for dualstack + * sockets. For now we're silently ignoring the error. */ setsockopt(handle->socket, IPPROTO_IPV6, IPV6_V6ONLY, @@ -386,8 +383,8 @@ int uv__udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, handle->recv_cb = recv_cb; handle->alloc_cb = alloc_cb; - /* If reading was stopped and then started again, there could still be a */ - /* recv request pending. */ + /* If reading was stopped and then started again, there could still be a recv + * request pending. */ if (!(handle->flags & UV_HANDLE_READ_PENDING)) uv_udp_queue_recv(loop, handle); @@ -467,19 +464,19 @@ void uv_process_udp_recv_req(uv_loop_t* loop, uv_udp_t* handle, if (!REQ_SUCCESS(req)) { DWORD err = GET_REQ_SOCK_ERROR(req); if (err == WSAEMSGSIZE) { - /* Not a real error, it just indicates that the received packet */ - /* was bigger than the receive buffer. */ + /* Not a real error, it just indicates that the received packet was + * bigger than the receive buffer. */ } else if (err == WSAECONNRESET || err == WSAENETRESET) { - /* A previous sendto operation failed; ignore this error. If */ - /* zero-reading we need to call WSARecv/WSARecvFrom _without_ the */ - /* MSG_PEEK flag to clear out the error queue. For nonzero reads, */ - /* immediately queue a new receive. */ + /* A previous sendto operation failed; ignore this error. If zero-reading + * we need to call WSARecv/WSARecvFrom _without_ the. MSG_PEEK flag to + * clear out the error queue. For nonzero reads, immediately queue a new + * receive. */ if (!(handle->flags & UV_HANDLE_ZERO_READ)) { goto done; } } else { - /* A real error occurred. Report the error to the user only if we're */ - /* currently reading. */ + /* A real error occurred. Report the error to the user only if we're + * currently reading. */ if (handle->flags & UV_HANDLE_READING) { uv_udp_recv_stop(handle); buf = (handle->flags & UV_HANDLE_ZERO_READ) ? @@ -503,8 +500,8 @@ void uv_process_udp_recv_req(uv_loop_t* loop, uv_udp_t* handle, struct sockaddr_storage from; int from_len; - /* Do a nonblocking receive */ - /* TODO: try to read multiple datagrams at once. FIONREAD maybe? */ + /* Do a nonblocking receive. + * TODO: try to read multiple datagrams at once. FIONREAD maybe? */ buf = uv_buf_init(NULL, 0); handle->alloc_cb((uv_handle_t*) handle, 65536, &buf); if (buf.base == NULL || buf.len == 0) { @@ -741,7 +738,7 @@ int uv_udp_set_multicast_interface(uv_udp_t* handle, const char* interface_addr) return UV_EINVAL; } - if (!(handle->flags & UV_HANDLE_BOUND)) + if (handle->socket == INVALID_SOCKET) return UV_EBADF; if (addr_st.ss_family == AF_INET) { @@ -772,7 +769,7 @@ int uv_udp_set_multicast_interface(uv_udp_t* handle, const char* interface_addr) int uv_udp_set_broadcast(uv_udp_t* handle, int value) { BOOL optval = (BOOL) value; - if (!(handle->flags & UV_HANDLE_BOUND)) + if (handle->socket == INVALID_SOCKET) return UV_EBADF; if (setsockopt(handle->socket, @@ -818,7 +815,7 @@ int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock) { return UV_EINVAL; \ } \ \ - if (!(handle->flags & UV_HANDLE_BOUND)) \ + if (handle->socket == INVALID_SOCKET) \ return UV_EBADF; \ \ if (!(handle->flags & UV_HANDLE_IPV6)) { \ diff --git a/deps/uv/src/win/util.c b/deps/uv/src/win/util.c index 49b5bc72061c30..3e86ff15048063 100644 --- a/deps/uv/src/win/util.c +++ b/deps/uv/src/win/util.c @@ -74,10 +74,6 @@ static char *process_title; static CRITICAL_SECTION process_title_lock; -/* Cached copy of the process id, written once. */ -static DWORD current_pid = 0; - - /* Interval (in seconds) of the high-resolution clock. */ static double hrtime_interval_ = 0; @@ -149,8 +145,8 @@ int uv_exepath(char* buffer, size_t* size_ptr) { uv__free(utf16_buffer); - /* utf8_len *does* include the terminating null at this point, but the */ - /* returned size shouldn't. */ + /* utf8_len *does* include the terminating null at this point, but the + * returned size shouldn't. */ *size_ptr = utf8_len - 1; return 0; @@ -173,16 +169,16 @@ int uv_cwd(char* buffer, size_t* size) { if (utf16_len == 0) { return uv_translate_sys_error(GetLastError()); } else if (utf16_len > MAX_PATH) { - /* This should be impossible; however the CRT has a code path to deal */ - /* with this scenario, so I added a check anyway. */ + /* This should be impossible; however the CRT has a code path to deal with + * this scenario, so I added a check anyway. */ return UV_EIO; } /* utf16_len contains the length, *not* including the terminating null. */ utf16_buffer[utf16_len] = L'\0'; - /* The returned directory should not have a trailing slash, unless it */ - /* points at a drive root, like c:\. Remove it if needed.*/ + /* The returned directory should not have a trailing slash, unless it points + * at a drive root, like c:\. Remove it if needed. */ if (utf16_buffer[utf16_len - 1] == L'\\' && !(utf16_len == 3 && utf16_buffer[1] == L':')) { utf16_len--; @@ -239,9 +235,9 @@ int uv_chdir(const char* dir) { utf16_buffer, MAX_PATH) == 0) { DWORD error = GetLastError(); - /* The maximum length of the current working directory is 260 chars, */ - /* including terminating null. If it doesn't fit, the path name must be */ - /* too long. */ + /* The maximum length of the current working directory is 260 chars, + * including terminating null. If it doesn't fit, the path name must be too + * long. */ if (error == ERROR_INSUFFICIENT_BUFFER) { return UV_ENAMETOOLONG; } else { @@ -253,9 +249,9 @@ int uv_chdir(const char* dir) { return uv_translate_sys_error(GetLastError()); } - /* Windows stores the drive-local path in an "hidden" environment variable, */ - /* which has the form "=C:=C:\Windows". SetCurrentDirectory does not */ - /* update this, so we'll have to do it. */ + /* Windows stores the drive-local path in an "hidden" environment variable, + * which has the form "=C:=C:\Windows". SetCurrentDirectory does not update + * this, so we'll have to do it. */ utf16_len = GetCurrentDirectoryW(MAX_PATH, utf16_buffer); if (utf16_len == 0) { return uv_translate_sys_error(GetLastError()); @@ -263,8 +259,8 @@ int uv_chdir(const char* dir) { return UV_EIO; } - /* The returned directory should not have a trailing slash, unless it */ - /* points at a drive root, like c:\. Remove it if needed. */ + /* The returned directory should not have a trailing slash, unless it points + * at a drive root, like c:\. Remove it if needed. */ if (utf16_buffer[utf16_len - 1] == L'\\' && !(utf16_len == 3 && utf16_buffer[1] == L':')) { utf16_len--; @@ -272,8 +268,8 @@ int uv_chdir(const char* dir) { } if (utf16_len < 2 || utf16_buffer[1] != L':') { - /* Doesn't look like a drive letter could be there - probably an UNC */ - /* path. TODO: Need to handle win32 namespaces like \\?\C:\ ? */ + /* Doesn't look like a drive letter could be there - probably an UNC path. + * TODO: Need to handle win32 namespaces like \\?\C:\ ? */ drive_letter = 0; } else if (utf16_buffer[0] >= L'A' && utf16_buffer[0] <= L'Z') { drive_letter = utf16_buffer[0]; @@ -359,14 +355,6 @@ uv_pid_t uv_os_getppid(void) { } -int uv_current_pid(void) { - if (current_pid == 0) { - current_pid = GetCurrentProcessId(); - } - return current_pid; -} - - char** uv_setup_args(int argc, char** argv) { return argv; } @@ -842,17 +830,17 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, } - /* Fetch the size of the adapters reported by windows, and then get the */ - /* list itself. */ + /* Fetch the size of the adapters reported by windows, and then get the list + * itself. */ win_address_buf_size = 0; win_address_buf = NULL; for (;;) { ULONG r; - /* If win_address_buf is 0, then GetAdaptersAddresses will fail with */ - /* ERROR_BUFFER_OVERFLOW, and the required buffer size will be stored in */ - /* win_address_buf_size. */ + /* If win_address_buf is 0, then GetAdaptersAddresses will fail with. + * ERROR_BUFFER_OVERFLOW, and the required buffer size will be stored in + * win_address_buf_size. */ r = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, @@ -866,8 +854,8 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, switch (r) { case ERROR_BUFFER_OVERFLOW: - /* This happens when win_address_buf is NULL or too small to hold */ - /* all adapters. */ + /* This happens when win_address_buf is NULL or too small to hold all + * adapters. */ win_address_buf = uv__malloc(win_address_buf_size); if (win_address_buf == NULL) return UV_ENOMEM; @@ -901,15 +889,15 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, return UV_ENOBUFS; default: - /* Other (unspecified) errors can happen, but we don't have any */ - /* special meaning for them. */ + /* Other (unspecified) errors can happen, but we don't have any special + * meaning for them. */ assert(r != ERROR_SUCCESS); return uv_translate_sys_error(r); } } - /* Count the number of enabled interfaces and compute how much space is */ - /* needed to store their info. */ + /* Count the number of enabled interfaces and compute how much space is + * needed to store their info. */ count = 0; uv_address_buf_size = 0; @@ -919,9 +907,9 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, IP_ADAPTER_UNICAST_ADDRESS* unicast_address; int name_size; - /* Interfaces that are not 'up' should not be reported. Also skip */ - /* interfaces that have no associated unicast address, as to avoid */ - /* allocating space for the name for this interface. */ + /* Interfaces that are not 'up' should not be reported. Also skip + * interfaces that have no associated unicast address, as to avoid + * allocating space for the name for this interface. */ if (adapter->OperStatus != IfOperStatusUp || adapter->FirstUnicastAddress == NULL) continue; @@ -941,8 +929,8 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, } uv_address_buf_size += name_size; - /* Count the number of addresses associated with this interface, and */ - /* compute the size. */ + /* Count the number of addresses associated with this interface, and + * compute the size. */ for (unicast_address = (IP_ADAPTER_UNICAST_ADDRESS*) adapter->FirstUnicastAddress; unicast_address != NULL; @@ -959,8 +947,8 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, return UV_ENOMEM; } - /* Compute the start of the uv_interface_address_t array, and the place in */ - /* the buffer where the interface names will be stored. */ + /* Compute the start of the uv_interface_address_t array, and the place in + * the buffer where the interface names will be stored. */ uv_address = uv_address_buf; name_buf = (char*) (uv_address_buf + count); @@ -1199,8 +1187,8 @@ int uv_os_tmpdir(char* buffer, size_t* size) { return UV_EIO; } - /* The returned directory should not have a trailing slash, unless it */ - /* points at a drive root, like c:\. Remove it if needed.*/ + /* The returned directory should not have a trailing slash, unless it points + * at a drive root, like c:\. Remove it if needed. */ if (path[len - 1] == L'\\' && !(len == 3 && path[1] == L':')) { len--; diff --git a/deps/uv/src/win/winapi.c b/deps/uv/src/win/winapi.c index c3307861427884..0fd598eacb4503 100644 --- a/deps/uv/src/win/winapi.c +++ b/deps/uv/src/win/winapi.c @@ -34,37 +34,17 @@ sNtQueryVolumeInformationFile pNtQueryVolumeInformationFile; sNtQueryDirectoryFile pNtQueryDirectoryFile; sNtQuerySystemInformation pNtQuerySystemInformation; - -/* Kernel32 function pointers */ -sGetQueuedCompletionStatusEx pGetQueuedCompletionStatusEx; -sSetFileCompletionNotificationModes pSetFileCompletionNotificationModes; -sCreateSymbolicLinkW pCreateSymbolicLinkW; -sCancelIoEx pCancelIoEx; -sInitializeConditionVariable pInitializeConditionVariable; -sSleepConditionVariableCS pSleepConditionVariableCS; -sSleepConditionVariableSRW pSleepConditionVariableSRW; -sWakeAllConditionVariable pWakeAllConditionVariable; -sWakeConditionVariable pWakeConditionVariable; -sCancelSynchronousIo pCancelSynchronousIo; -sGetFinalPathNameByHandleW pGetFinalPathNameByHandleW; - - /* Powrprof.dll function pointer */ sPowerRegisterSuspendResumeNotification pPowerRegisterSuspendResumeNotification; /* User32.dll function pointer */ sSetWinEventHook pSetWinEventHook; -/* iphlpapi.dll function pointer */ -sConvertInterfaceIndexToLuid pConvertInterfaceIndexToLuid = NULL; -sConvertInterfaceLuidToNameW pConvertInterfaceLuidToNameW = NULL; void uv_winapi_init(void) { HMODULE ntdll_module; - HMODULE kernel32_module; HMODULE powrprof_module; HMODULE user32_module; - HMODULE iphlpapi_module; ntdll_module = GetModuleHandleA("ntdll.dll"); if (ntdll_module == NULL) { @@ -118,46 +98,6 @@ void uv_winapi_init(void) { uv_fatal_error(GetLastError(), "GetProcAddress"); } - kernel32_module = GetModuleHandleA("kernel32.dll"); - if (kernel32_module == NULL) { - uv_fatal_error(GetLastError(), "GetModuleHandleA"); - } - - pGetQueuedCompletionStatusEx = (sGetQueuedCompletionStatusEx) GetProcAddress( - kernel32_module, - "GetQueuedCompletionStatusEx"); - - pSetFileCompletionNotificationModes = (sSetFileCompletionNotificationModes) - GetProcAddress(kernel32_module, "SetFileCompletionNotificationModes"); - - pCreateSymbolicLinkW = (sCreateSymbolicLinkW) - GetProcAddress(kernel32_module, "CreateSymbolicLinkW"); - - pCancelIoEx = (sCancelIoEx) - GetProcAddress(kernel32_module, "CancelIoEx"); - - pInitializeConditionVariable = (sInitializeConditionVariable) - GetProcAddress(kernel32_module, "InitializeConditionVariable"); - - pSleepConditionVariableCS = (sSleepConditionVariableCS) - GetProcAddress(kernel32_module, "SleepConditionVariableCS"); - - pSleepConditionVariableSRW = (sSleepConditionVariableSRW) - GetProcAddress(kernel32_module, "SleepConditionVariableSRW"); - - pWakeAllConditionVariable = (sWakeAllConditionVariable) - GetProcAddress(kernel32_module, "WakeAllConditionVariable"); - - pWakeConditionVariable = (sWakeConditionVariable) - GetProcAddress(kernel32_module, "WakeConditionVariable"); - - pCancelSynchronousIo = (sCancelSynchronousIo) - GetProcAddress(kernel32_module, "CancelSynchronousIo"); - - pGetFinalPathNameByHandleW = (sGetFinalPathNameByHandleW) - GetProcAddress(kernel32_module, "GetFinalPathNameByHandleW"); - - powrprof_module = LoadLibraryA("powrprof.dll"); if (powrprof_module != NULL) { pPowerRegisterSuspendResumeNotification = (sPowerRegisterSuspendResumeNotification) @@ -170,11 +110,4 @@ void uv_winapi_init(void) { GetProcAddress(user32_module, "SetWinEventHook"); } - iphlpapi_module = LoadLibraryA("iphlpapi.dll"); - if (iphlpapi_module != NULL) { - pConvertInterfaceIndexToLuid = (sConvertInterfaceIndexToLuid) - GetProcAddress(iphlpapi_module, "ConvertInterfaceIndexToLuid"); - pConvertInterfaceLuidToNameW = (sConvertInterfaceLuidToNameW) - GetProcAddress(iphlpapi_module, "ConvertInterfaceLuidToNameW"); - } } diff --git a/deps/uv/src/win/winapi.h b/deps/uv/src/win/winapi.h index 38570c2ffa7598..d0fcfd8e7ae021 100644 --- a/deps/uv/src/win/winapi.h +++ b/deps/uv/src/win/winapi.h @@ -4076,8 +4076,8 @@ # define STATUS_HASH_NOT_PRESENT ((NTSTATUS) 0xC000A101L) #endif -/* This is not the NTSTATUS_FROM_WIN32 that the DDK provides, because the */ -/* DDK got it wrong! */ +/* This is not the NTSTATUS_FROM_WIN32 that the DDK provides, because the DDK + * got it wrong! */ #ifdef NTSTATUS_FROM_WIN32 # undef NTSTATUS_FROM_WIN32 #endif @@ -4642,56 +4642,6 @@ typedef NTSTATUS (NTAPI *sNtQueryDirectoryFile) # define ERROR_MUI_FILE_NOT_LOADED 15105 #endif -typedef BOOL (WINAPI *sGetQueuedCompletionStatusEx) - (HANDLE CompletionPort, - LPOVERLAPPED_ENTRY lpCompletionPortEntries, - ULONG ulCount, - PULONG ulNumEntriesRemoved, - DWORD dwMilliseconds, - BOOL fAlertable); - -typedef BOOL (WINAPI* sSetFileCompletionNotificationModes) - (HANDLE FileHandle, - UCHAR Flags); - -typedef BOOLEAN (WINAPI* sCreateSymbolicLinkW) - (LPCWSTR lpSymlinkFileName, - LPCWSTR lpTargetFileName, - DWORD dwFlags); - -typedef BOOL (WINAPI* sCancelIoEx) - (HANDLE hFile, - LPOVERLAPPED lpOverlapped); - -typedef VOID (WINAPI* sInitializeConditionVariable) - (PCONDITION_VARIABLE ConditionVariable); - -typedef BOOL (WINAPI* sSleepConditionVariableCS) - (PCONDITION_VARIABLE ConditionVariable, - PCRITICAL_SECTION CriticalSection, - DWORD dwMilliseconds); - -typedef BOOL (WINAPI* sSleepConditionVariableSRW) - (PCONDITION_VARIABLE ConditionVariable, - PSRWLOCK SRWLock, - DWORD dwMilliseconds, - ULONG Flags); - -typedef VOID (WINAPI* sWakeAllConditionVariable) - (PCONDITION_VARIABLE ConditionVariable); - -typedef VOID (WINAPI* sWakeConditionVariable) - (PCONDITION_VARIABLE ConditionVariable); - -typedef BOOL (WINAPI* sCancelSynchronousIo) - (HANDLE hThread); - -typedef DWORD (WINAPI* sGetFinalPathNameByHandleW) - (HANDLE hFile, - LPWSTR lpszFilePath, - DWORD cchFilePath, - DWORD dwFlags); - /* from powerbase.h */ #ifndef DEVICE_NOTIFY_CALLBACK # define DEVICE_NOTIFY_CALLBACK 2 @@ -4754,40 +4704,10 @@ extern sNtQueryVolumeInformationFile pNtQueryVolumeInformationFile; extern sNtQueryDirectoryFile pNtQueryDirectoryFile; extern sNtQuerySystemInformation pNtQuerySystemInformation; - -/* Kernel32 function pointers */ -extern sGetQueuedCompletionStatusEx pGetQueuedCompletionStatusEx; -extern sSetFileCompletionNotificationModes pSetFileCompletionNotificationModes; -extern sCreateSymbolicLinkW pCreateSymbolicLinkW; -extern sCancelIoEx pCancelIoEx; -extern sInitializeConditionVariable pInitializeConditionVariable; -extern sSleepConditionVariableCS pSleepConditionVariableCS; -extern sSleepConditionVariableSRW pSleepConditionVariableSRW; -extern sWakeAllConditionVariable pWakeAllConditionVariable; -extern sWakeConditionVariable pWakeConditionVariable; -extern sCancelSynchronousIo pCancelSynchronousIo; -extern sGetFinalPathNameByHandleW pGetFinalPathNameByHandleW; - - /* Powrprof.dll function pointer */ extern sPowerRegisterSuspendResumeNotification pPowerRegisterSuspendResumeNotification; /* User32.dll function pointer */ extern sSetWinEventHook pSetWinEventHook; -/* iphlpapi.dll function pointer */ -union _NET_LUID_LH; -typedef DWORD (WINAPI *sConvertInterfaceIndexToLuid)( - ULONG InterfaceIndex, - union _NET_LUID_LH *InterfaceLuid); - -typedef DWORD (WINAPI *sConvertInterfaceLuidToNameW)( - const union _NET_LUID_LH *InterfaceLuid, - PWSTR InterfaceName, - size_t Length); - -extern sConvertInterfaceIndexToLuid pConvertInterfaceIndexToLuid; -extern sConvertInterfaceLuidToNameW pConvertInterfaceLuidToNameW; - - #endif /* UV_WIN_WINAPI_H_ */ diff --git a/deps/uv/src/win/winsock.c b/deps/uv/src/win/winsock.c index 84188954d815f1..5e7da2a8f25293 100644 --- a/deps/uv/src/win/winsock.c +++ b/deps/uv/src/win/winsock.c @@ -256,8 +256,8 @@ int uv_ntstatus_to_winsock_error(NTSTATUS status) { default: if ((status & (FACILITY_NTWIN32 << 16)) == (FACILITY_NTWIN32 << 16) && (status & (ERROR_SEVERITY_ERROR | ERROR_SEVERITY_WARNING))) { - /* It's a windows error that has been previously mapped to an */ - /* ntstatus code. */ + /* It's a windows error that has been previously mapped to an ntstatus + * code. */ return (DWORD) (status & 0xffff); } else { /* The default fallback for unmappable ntstatus codes. */ @@ -519,8 +519,8 @@ int WSAAPI uv_msafd_poll(SOCKET socket, AFD_POLL_INFO* info_in, sizeof *info_out); if (overlapped == NULL) { - /* If this is a blocking operation, wait for the event to become */ - /* signaled, and then grab the real status from the io status block. */ + /* If this is a blocking operation, wait for the event to become signaled, + * and then grab the real status from the io status block. */ if (status == STATUS_PENDING) { DWORD r = WaitForSingleObject(event, INFINITE); diff --git a/deps/uv/test/benchmark-async-pummel.c b/deps/uv/test/benchmark-async-pummel.c index cca3de1062bc59..119ae5eee5a28c 100644 --- a/deps/uv/test/benchmark-async-pummel.c +++ b/deps/uv/test/benchmark-async-pummel.c @@ -41,7 +41,7 @@ static void async_cb(uv_async_t* handle) { /* Tell the pummel thread to stop. */ ACCESS_ONCE(const char*, handle->data) = stop; - /* Wait for for the pummel thread to acknowledge that it has stoppped. */ + /* Wait for the pummel thread to acknowledge that it has stoppped. */ while (ACCESS_ONCE(const char*, handle->data) != stopped) uv_sleep(0); diff --git a/deps/uv/test/run-tests.c b/deps/uv/test/run-tests.c index da4ac82e431124..9b8af0460877bd 100644 --- a/deps/uv/test/run-tests.c +++ b/deps/uv/test/run-tests.c @@ -37,6 +37,7 @@ #include "test-list.h" int ipc_helper(int listen_after_write); +int ipc_helper_heavy_traffic_deadlock_bug(void); int ipc_helper_tcp_connection(void); int ipc_helper_closed_handle(void); int ipc_send_recv_helper(void); @@ -83,6 +84,10 @@ static int maybe_run_test(int argc, char **argv) { return ipc_helper(1); } + if (strcmp(argv[1], "ipc_helper_heavy_traffic_deadlock_bug") == 0) { + return ipc_helper_heavy_traffic_deadlock_bug(); + } + if (strcmp(argv[1], "ipc_send_recv_helper") == 0) { return ipc_send_recv_helper(); } diff --git a/deps/uv/test/runner-unix.c b/deps/uv/test/runner-unix.c index 3167ed44bf695a..de0db0cc486d6a 100644 --- a/deps/uv/test/runner-unix.c +++ b/deps/uv/test/runner-unix.c @@ -57,8 +57,8 @@ int platform_init(int argc, char **argv) { } -/* Invoke "argv[0] test-name [test-part]". Store process info in *p. */ -/* Make sure that all stdio output of the processes is buffered up. */ +/* Invoke "argv[0] test-name [test-part]". Store process info in *p. Make sure + * that all stdio output of the processes is buffered up. */ int process_start(char* name, char* part, process_info_t* p, int is_helper) { FILE* stdout_file; int stdout_fd; @@ -161,9 +161,9 @@ static void* dowait(void* data) { } -/* Wait for all `n` processes in `vec` to terminate. */ -/* Time out after `timeout` msec, or never if timeout == -1 */ -/* Return 0 if all processes are terminated, -1 on error, -2 on timeout. */ +/* Wait for all `n` processes in `vec` to terminate. Time out after `timeout` + * msec, or never if timeout == -1. Return 0 if all processes are terminated, + * -1 on error, -2 on timeout. */ int process_wait(process_info_t* vec, int n, int timeout) { int i; int r; @@ -358,8 +358,7 @@ int process_terminate(process_info_t *p) { } -/* Return the exit code of process p. */ -/* On error, return -1. */ +/* Return the exit code of process p. On error, return -1. */ int process_reap(process_info_t *p) { if (WIFEXITED(p->status)) { return WEXITSTATUS(p->status); diff --git a/deps/uv/test/runner-win.c b/deps/uv/test/runner-win.c index d86fda3c5d7b8c..ce972705470019 100644 --- a/deps/uv/test/runner-win.c +++ b/deps/uv/test/runner-win.c @@ -165,8 +165,8 @@ int process_start(char *name, char *part, process_info_t *p, int is_helper) { } -/* Timeout is is msecs. Set timeout < 0 to never time out. */ -/* Returns 0 when all processes are terminated, -2 on timeout. */ +/* Timeout is in msecs. Set timeout < 0 to never time out. Returns 0 when all + * processes are terminated, -2 on timeout. */ int process_wait(process_info_t *vec, int n, int timeout) { int i; HANDLE handles[MAXIMUM_WAIT_OBJECTS]; diff --git a/deps/uv/test/runner.h b/deps/uv/test/runner.h index 555f2f8eb72075..1a33950852de15 100644 --- a/deps/uv/test/runner.h +++ b/deps/uv/test/runner.h @@ -138,13 +138,13 @@ void print_lines(const char* buffer, size_t size, FILE* stream); /* Do platform-specific initialization. */ int platform_init(int argc, char** argv); -/* Invoke "argv[0] test-name [test-part]". Store process info in *p. */ -/* Make sure that all stdio output of the processes is buffered up. */ +/* Invoke "argv[0] test-name [test-part]". Store process info in *p. Make sure + * that all stdio output of the processes is buffered up. */ int process_start(char *name, char* part, process_info_t *p, int is_helper); -/* Wait for all `n` processes in `vec` to terminate. */ -/* Time out after `timeout` msec, or never if timeout == -1 */ -/* Return 0 if all processes are terminated, -1 on error, -2 on timeout. */ +/* Wait for all `n` processes in `vec` to terminate. Time out after `timeout` + * msec, or never if timeout == -1. Return 0 if all processes are terminated, + * -1 on error, -2 on timeout. */ int process_wait(process_info_t *vec, int n, int timeout); /* Returns the number of bytes in the stdio output buffer for process `p`. */ @@ -164,8 +164,7 @@ char* process_get_name(process_info_t *p); /* Terminate process `p`. */ int process_terminate(process_info_t *p); -/* Return the exit code of process p. */ -/* On error, return -1. */ +/* Return the exit code of process p. On error, return -1. */ int process_reap(process_info_t *p); /* Clean up after terminating process `p` (e.g. free the output buffer etc.). */ diff --git a/deps/uv/test/task.h b/deps/uv/test/task.h index af99d92fb45414..92a90a540be34f 100644 --- a/deps/uv/test/task.h +++ b/deps/uv/test/task.h @@ -29,7 +29,7 @@ #include #if defined(_MSC_VER) && _MSC_VER < 1600 -# include "stdint-msvc2008.h" +# include "uv/stdint-msvc2008.h" #else # include #endif diff --git a/deps/uv/test/test-callback-stack.c b/deps/uv/test/test-callback-stack.c index 8855c0841b3937..1871e7e98196d1 100644 --- a/deps/uv/test/test-callback-stack.c +++ b/deps/uv/test/test-callback-stack.c @@ -88,10 +88,9 @@ static void read_cb(uv_stream_t* tcp, ssize_t nread, const uv_buf_t* buf) { bytes_received += nread; - /* We call shutdown here because when bytes_received == sizeof MESSAGE */ - /* there will be no more data sent nor received, so here it would be */ - /* possible for a backend to to call shutdown_cb immediately and *not* */ - /* from a fresh stack. */ + /* We call shutdown here because when bytes_received == sizeof MESSAGE there + * will be no more data sent nor received, so here it would be possible for a + * backend to call shutdown_cb immediately and *not* from a fresh stack. */ if (bytes_received == sizeof MESSAGE) { nested++; @@ -131,10 +130,10 @@ static void write_cb(uv_write_t* req, int status) { puts("Data written. 500ms timeout..."); - /* After the data has been sent, we're going to wait for a while, then */ - /* start reading. This makes us certain that the message has been echoed */ - /* back to our receive buffer when we start reading. This maximizes the */ - /* temptation for the backend to use dirty stack for calling read_cb. */ + /* After the data has been sent, we're going to wait for a while, then start + * reading. This makes us certain that the message has been echoed back to + * our receive buffer when we start reading. This maximizes the temptation + * for the backend to use dirty stack for calling read_cb. */ nested++; r = uv_timer_init(uv_default_loop(), &timer); ASSERT(r == 0); diff --git a/deps/uv/test/test-connection-fail.c b/deps/uv/test/test-connection-fail.c index 328bff46e7d08c..8338cacdec3c5f 100644 --- a/deps/uv/test/test-connection-fail.c +++ b/deps/uv/test/test-connection-fail.c @@ -98,8 +98,8 @@ static void connection_fail(uv_connect_cb connect_cb) { r = uv_tcp_init(uv_default_loop(), &tcp); ASSERT(!r); - /* We are never doing multiple reads/connects at a time anyway. */ - /* so these handles can be pre-initialized. */ + /* We are never doing multiple reads/connects at a time anyway. so these + * handles can be pre-initialized. */ ASSERT(0 == uv_tcp_bind(&tcp, (const struct sockaddr*) &client_addr, 0)); r = uv_tcp_connect(&req, diff --git a/deps/uv/test/test-delayed-accept.c b/deps/uv/test/test-delayed-accept.c index 4a7998909c3f7d..513e69bd5b7d23 100644 --- a/deps/uv/test/test-delayed-accept.c +++ b/deps/uv/test/test-delayed-accept.c @@ -138,8 +138,8 @@ static void connect_cb(uv_connect_t* req, int status) { ASSERT(req != NULL); ASSERT(status == 0); - /* Not that the server will send anything, but otherwise we'll never know */ - /* when the server closes the connection. */ + /* Not that the server will send anything, but otherwise we'll never know + * when the server closes the connection. */ r = uv_read_start((uv_stream_t*)(req->handle), alloc_cb, read_cb); ASSERT(r == 0); diff --git a/deps/uv/test/test-fork.c b/deps/uv/test/test-fork.c index 39b59c8f20ebb4..2a1ddc497a133f 100644 --- a/deps/uv/test/test-fork.c +++ b/deps/uv/test/test-fork.c @@ -317,8 +317,7 @@ TEST_IMPL(fork_signal_to_child_closed) { printf("Waiting for child in parent\n"); assert_wait_child(child_pid); } else { - /* child */ - /* Our signal handler should still be installed. */ + /* Child. Our signal handler should still be installed. */ ASSERT(0 == uv_loop_fork(uv_default_loop())); printf("Checking loop in child\n"); ASSERT(0 != uv_loop_alive(uv_default_loop())); @@ -652,13 +651,11 @@ TEST_IMPL(fork_threadpool_queue_work_simple) { ASSERT(child_pid != -1); if (child_pid != 0) { - /* parent */ - /* We can still run work. */ + /* Parent. We can still run work. */ assert_run_work(uv_default_loop()); assert_wait_child(child_pid); } else { - /* child */ - /* We can work in a new loop. */ + /* Child. We can work in a new loop. */ printf("Running child in %d\n", getpid()); uv_loop_init(&loop); printf("Child first watch\n"); diff --git a/deps/uv/test/test-fs-copyfile.c b/deps/uv/test/test-fs-copyfile.c index 6cd43b450290f7..eadff542bcb43c 100644 --- a/deps/uv/test/test-fs-copyfile.c +++ b/deps/uv/test/test-fs-copyfile.c @@ -179,7 +179,7 @@ TEST_IMPL(fs_copyfile) { unlink(dst); r = uv_fs_copyfile(NULL, &req, fixture, dst, UV_FS_COPYFILE_FICLONE_FORCE, NULL); - ASSERT(r == 0 || r == UV_ENOSYS || r == UV_ENOTSUP || r == UV_ENOTTY); + ASSERT(r == 0 || r == UV_ENOSYS || r == UV_ENOTSUP); if (r == 0) handle_result(&req); diff --git a/deps/uv/test/test-fs.c b/deps/uv/test/test-fs.c index 000a151a64ee2d..57da39891a5c5b 100644 --- a/deps/uv/test/test-fs.c +++ b/deps/uv/test/test-fs.c @@ -84,6 +84,7 @@ static int chmod_cb_count; static int fchmod_cb_count; static int chown_cb_count; static int fchown_cb_count; +static int lchown_cb_count; static int link_cb_count; static int symlink_cb_count; static int readlink_cb_count; @@ -253,6 +254,13 @@ static void chown_cb(uv_fs_t* req) { uv_fs_req_cleanup(req); } +static void lchown_cb(uv_fs_t* req) { + ASSERT(req->fs_type == UV_FS_LCHOWN); + ASSERT(req->result == 0); + lchown_cb_count++; + uv_fs_req_cleanup(req); +} + static void chown_root_cb(uv_fs_t* req) { ASSERT(req->fs_type == UV_FS_CHOWN); #if defined(_WIN32) || defined(__MSYS__) @@ -1540,6 +1548,7 @@ TEST_IMPL(fs_chown) { /* Setup. */ unlink("test_file"); + unlink("test_file_link"); loop = uv_default_loop(); @@ -1583,7 +1592,29 @@ TEST_IMPL(fs_chown) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(fchown_cb_count == 1); - close(file); + /* sync link */ + r = uv_fs_link(NULL, &req, "test_file", "test_file_link", NULL); + ASSERT(r == 0); + ASSERT(req.result == 0); + uv_fs_req_cleanup(&req); + + /* sync lchown */ + r = uv_fs_lchown(NULL, &req, "test_file_link", -1, -1, NULL); + ASSERT(r == 0); + ASSERT(req.result == 0); + uv_fs_req_cleanup(&req); + + /* async lchown */ + r = uv_fs_lchown(loop, &req, "test_file_link", -1, -1, lchown_cb); + ASSERT(r == 0); + uv_run(loop, UV_RUN_DEFAULT); + ASSERT(lchown_cb_count == 1); + + /* Close file */ + r = uv_fs_close(NULL, &req, file, NULL); + ASSERT(r == 0); + ASSERT(req.result == 0); + uv_fs_req_cleanup(&req); /* * Run the loop just to check we don't have make any extraneous uv_ref() @@ -1593,6 +1624,7 @@ TEST_IMPL(fs_chown) { /* Cleanup. */ unlink("test_file"); + unlink("test_file_link"); MAKE_VALGRIND_HAPPY(); return 0; @@ -3230,3 +3262,138 @@ TEST_IMPL(fs_exclusive_sharing_mode) { return 0; } #endif + +#ifdef _WIN32 +int call_icacls(const char* command, ...) { + char icacls_command[1024]; + va_list args; + + va_start(args, command); + vsnprintf(icacls_command, ARRAYSIZE(icacls_command), command, args); + va_end(args); + return system(icacls_command); +} + +TEST_IMPL(fs_open_readonly_acl) { + uv_passwd_t pwd; + uv_fs_t req; + int r; + + /* + Based on Node.js test from + https://github.com/nodejs/node/commit/3ba81e34e86a5c32658e218cb6e65b13e8326bc5 + + If anything goes wrong, you can delte the test_fle_icacls with: + + icacls test_file_icacls /remove "%USERNAME%" /inheritance:e + attrib -r test_file_icacls + del test_file_icacls + */ + + /* Setup - clear the ACL and remove the file */ + loop = uv_default_loop(); + r = uv_os_get_passwd(&pwd); + ASSERT(r == 0); + call_icacls("icacls test_file_icacls /remove \"%s\" /inheritance:e", + pwd.username); + uv_fs_chmod(loop, &req, "test_file_icacls", S_IWUSR, NULL); + unlink("test_file_icacls"); + + /* Create the file */ + r = uv_fs_open(loop, + &open_req1, + "test_file_icacls", + O_RDONLY | O_CREAT, + S_IRUSR, + NULL); + ASSERT(r >= 0); + ASSERT(open_req1.result >= 0); + uv_fs_req_cleanup(&open_req1); + r = uv_fs_close(NULL, &close_req, open_req1.result, NULL); + ASSERT(r == 0); + ASSERT(close_req.result == 0); + uv_fs_req_cleanup(&close_req); + + /* Set up ACL */ + r = call_icacls("icacls test_file_icacls /inheritance:r /remove \"%s\"", + pwd.username); + if (r != 0) { + goto acl_cleanup; + } + r = call_icacls("icacls test_file_icacls /grant \"%s\":RX", pwd.username); + if (r != 0) { + goto acl_cleanup; + } + + /* Try opening the file */ + r = uv_fs_open(NULL, &open_req1, "test_file_icacls", O_RDONLY, 0, NULL); + if (r < 0) { + goto acl_cleanup; + } + uv_fs_req_cleanup(&open_req1); + r = uv_fs_close(NULL, &close_req, open_req1.result, NULL); + if (r != 0) { + goto acl_cleanup; + } + uv_fs_req_cleanup(&close_req); + + acl_cleanup: + /* Cleanup */ + call_icacls("icacls test_file_icacls /remove \"%s\" /inheritance:e", + pwd.username); + unlink("test_file_icacls"); + uv_os_free_passwd(&pwd); + ASSERT(r == 0); + MAKE_VALGRIND_HAPPY(); + return 0; +} +#endif + +#ifdef _WIN32 +TEST_IMPL(fs_fchmod_archive_readonly) { + uv_fs_t req; + uv_file file; + int r; + /* Test clearing read-only flag from files with Archive flag cleared */ + + /* Setup*/ + unlink("test_file"); + r = uv_fs_open(NULL, + &req, + "test_file", + O_WRONLY | O_CREAT, + S_IWUSR | S_IRUSR, + NULL); + ASSERT(r >= 0); + ASSERT(req.result >= 0); + file = req.result; + uv_fs_req_cleanup(&req); + r = uv_fs_close(NULL, &req, file, NULL); + ASSERT(r == 0); + uv_fs_req_cleanup(&req); + /* Make the file read-only and clear archive flag */ + r = SetFileAttributes("test_file", FILE_ATTRIBUTE_READONLY); + ASSERT(r != 0); + check_permission("test_file", 0400); + /* Try fchmod */ + r = uv_fs_open(NULL, &req, "test_file", O_RDONLY, 0, NULL); + ASSERT(r >= 0); + ASSERT(req.result >= 0); + file = req.result; + uv_fs_req_cleanup(&req); + r = uv_fs_fchmod(NULL, &req, file, S_IWUSR, NULL); + ASSERT(r == 0); + ASSERT(req.result == 0); + uv_fs_req_cleanup(&req); + r = uv_fs_close(NULL, &req, file, NULL); + ASSERT(r == 0); + uv_fs_req_cleanup(&req); + check_permission("test_file", S_IWUSR); + + /* Restore Archive flag for rest of the tests */ + r = SetFileAttributes("test_file", FILE_ATTRIBUTE_ARCHIVE); + ASSERT(r != 0); + + return 0; +} +#endif diff --git a/deps/uv/test/test-hrtime.c b/deps/uv/test/test-hrtime.c index 72a4d4b181db4e..fbe9a68bfc70d2 100644 --- a/deps/uv/test/test-hrtime.c +++ b/deps/uv/test/test-hrtime.c @@ -43,9 +43,9 @@ TEST_IMPL(hrtime) { /* printf("i= %d diff = %llu\n", i, (unsigned long long int) diff); */ - /* The windows Sleep() function has only a resolution of 10-20 ms. */ - /* Check that the difference between the two hrtime values is somewhat in */ - /* the range we expect it to be. */ + /* The windows Sleep() function has only a resolution of 10-20 ms. Check + * that the difference between the two hrtime values is somewhat in the + * range we expect it to be. */ ASSERT(diff > (uint64_t) 25 * NANOSEC / MILLISEC); ASSERT(diff < (uint64_t) 80 * NANOSEC / MILLISEC); --i; diff --git a/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c b/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c new file mode 100644 index 00000000000000..240fc64588b413 --- /dev/null +++ b/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c @@ -0,0 +1,158 @@ +/* Copyright libuv project contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "task.h" +#include "uv.h" + +#include + +/* See test-ipc.c */ +void spawn_helper(uv_pipe_t* channel, + uv_process_t* process, + const char* helper); + +#define NUM_WRITES 256 +#define BUFFERS_PER_WRITE 3 +#define BUFFER_SIZE 0x2000 /* 8 kb. */ +#define BUFFER_CONTENT 42 + +#define XFER_SIZE (NUM_WRITES * BUFFERS_PER_WRITE * BUFFER_SIZE) + +struct write_info { + uv_write_t write_req; + char buffers[BUFFER_SIZE][BUFFERS_PER_WRITE]; +}; + +static uv_shutdown_t shutdown_req; + +static size_t bytes_written; +static size_t bytes_read; + +static void write_cb(uv_write_t* req, int status) { + struct write_info* write_info = + container_of(req, struct write_info, write_req); + ASSERT(status == 0); + bytes_written += BUFFERS_PER_WRITE * BUFFER_SIZE; + free(write_info); +} + +static void shutdown_cb(uv_shutdown_t* req, int status) { + ASSERT(status == 0); + uv_close((uv_handle_t*) req->handle, NULL); +} + +static void do_write(uv_stream_t* handle) { + struct write_info* write_info; + uv_buf_t bufs[BUFFERS_PER_WRITE]; + size_t i; + int r; + + write_info = malloc(sizeof *write_info); + ASSERT(write_info != NULL); + + for (i = 0; i < BUFFERS_PER_WRITE; i++) { + memset(&write_info->buffers[i], BUFFER_CONTENT, BUFFER_SIZE); + bufs[i] = uv_buf_init(write_info->buffers[i], BUFFER_SIZE); + } + + r = uv_write( + &write_info->write_req, handle, bufs, BUFFERS_PER_WRITE, write_cb); + ASSERT(r == 0); +} + +static void alloc_cb(uv_handle_t* handle, + size_t suggested_size, + uv_buf_t* buf) { + buf->base = malloc(suggested_size); + buf->len = (int) suggested_size; +} + +#ifndef _WIN32 +#include +#include +#endif + +static void read_cb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) { + ssize_t i; + int r; + + ASSERT(nread >= 0); + bytes_read += nread; + + for (i = 0; i < nread; i++) + ASSERT(buf->base[i] == BUFFER_CONTENT); + free(buf->base); + + if (bytes_read >= XFER_SIZE) { + r = uv_read_stop(handle); + ASSERT(r == 0); + r = uv_shutdown(&shutdown_req, handle, shutdown_cb); + ASSERT(r == 0); + } +} + +static void do_writes_and_reads(uv_stream_t* handle) { + size_t i; + int r; + + bytes_written = 0; + bytes_read = 0; + + for (i = 0; i < NUM_WRITES; i++) { + do_write(handle); + } + + r = uv_read_start(handle, alloc_cb, read_cb); + ASSERT(r == 0); + + r = uv_run(handle->loop, UV_RUN_DEFAULT); + ASSERT(r == 0); + + ASSERT(bytes_written == XFER_SIZE); + ASSERT(bytes_read == XFER_SIZE); +} + +TEST_IMPL(ipc_heavy_traffic_deadlock_bug) { + uv_pipe_t pipe; + uv_process_t process; + + spawn_helper(&pipe, &process, "ipc_helper_heavy_traffic_deadlock_bug"); + do_writes_and_reads((uv_stream_t*) &pipe); + + MAKE_VALGRIND_HAPPY(); + return 0; +} + +int ipc_helper_heavy_traffic_deadlock_bug(void) { + uv_pipe_t pipe; + int r; + + r = uv_pipe_init(uv_default_loop(), &pipe, 1); + ASSERT(r == 0); + r = uv_pipe_open(&pipe, 0); + ASSERT(r == 0); + + do_writes_and_reads((uv_stream_t*) &pipe); + uv_sleep(100); + + MAKE_VALGRIND_HAPPY(); + return 0; +} diff --git a/deps/uv/test/test-ipc-send-recv.c b/deps/uv/test/test-ipc-send-recv.c index 917744cbaed978..3dedc86b8b0170 100644 --- a/deps/uv/test/test-ipc-send-recv.c +++ b/deps/uv/test/test-ipc-send-recv.c @@ -25,7 +25,7 @@ #include #include -/* See test-ipc.ctx */ +/* See test-ipc.c */ void spawn_helper(uv_pipe_t* channel, uv_process_t* process, const char* helper); @@ -149,6 +149,7 @@ static void connect_cb(uv_connect_t* req, int status) { &ctx.send.stream, NULL); ASSERT(r == 0); + ASSERT(ctx.write_req.send_handle == &ctx.send.stream); /* Perform two writes to the same pipe to make sure that on Windows we are * not running into issue 505: @@ -160,6 +161,7 @@ static void connect_cb(uv_connect_t* req, int status) { &ctx.send2.stream, NULL); ASSERT(r == 0); + ASSERT(ctx.write_req2.send_handle == &ctx.send2.stream); r = uv_read_start((uv_stream_t*)&ctx.channel, alloc_cb, recv_cb); ASSERT(r == 0); @@ -344,6 +346,7 @@ static void read_cb(uv_stream_t* handle, &recv->stream, write2_cb); ASSERT(r == 0); + ASSERT(write_req->send_handle == &recv->stream); } while (uv_pipe_pending_count(pipe) > 0); } diff --git a/deps/uv/test/test-ipc.c b/deps/uv/test/test-ipc.c index 88d63d4dc670a7..200f68d6000a77 100644 --- a/deps/uv/test/test-ipc.c +++ b/deps/uv/test/test-ipc.c @@ -281,7 +281,7 @@ void spawn_helper(uv_pipe_t* channel, char exepath[1024]; char* args[3]; int r; - uv_stdio_container_t stdio[1]; + uv_stdio_container_t stdio[3]; r = uv_pipe_init(uv_default_loop(), channel, 1); ASSERT(r == 0); @@ -300,12 +300,15 @@ void spawn_helper(uv_pipe_t* channel, options.file = exepath; options.args = args; options.exit_cb = exit_cb; - options.stdio = stdio; - options.stdio[0].flags = UV_CREATE_PIPE | - UV_READABLE_PIPE | UV_WRITABLE_PIPE; - options.stdio[0].data.stream = (uv_stream_t*)channel; - options.stdio_count = 1; + options.stdio_count = ARRAY_SIZE(stdio); + + stdio[0].flags = UV_CREATE_PIPE | UV_READABLE_PIPE | UV_WRITABLE_PIPE; + stdio[0].data.stream = (uv_stream_t*) channel; + stdio[1].flags = UV_INHERIT_FD; + stdio[1].data.fd = 1; + stdio[2].flags = UV_INHERIT_FD; + stdio[2].data.fd = 2; r = uv_spawn(uv_default_loop(), process, &options); ASSERT(r == 0); diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h index b89930d709e6ec..e59c6b65513787 100644 --- a/deps/uv/test/test-list.h +++ b/deps/uv/test/test-list.h @@ -57,6 +57,7 @@ TEST_DECLARE (tty_pty) TEST_DECLARE (stdio_over_pipes) TEST_DECLARE (ip6_pton) TEST_DECLARE (connect_unspecified) +TEST_DECLARE (ipc_heavy_traffic_deadlock_bug) TEST_DECLARE (ipc_listen_before_write) TEST_DECLARE (ipc_listen_after_write) #ifndef _WIN32 @@ -71,8 +72,11 @@ TEST_DECLARE (ipc_closed_handle) #endif TEST_DECLARE (tcp_alloc_cb_fail) TEST_DECLARE (tcp_ping_pong) -TEST_DECLARE (tcp_ping_pong_v6) +TEST_DECLARE (tcp_ping_pong_vec) +TEST_DECLARE (tcp6_ping_pong) +TEST_DECLARE (tcp6_ping_pong_vec) TEST_DECLARE (pipe_ping_pong) +TEST_DECLARE (pipe_ping_pong_vec) TEST_DECLARE (delayed_accept) TEST_DECLARE (multiple_listen) #ifndef _WIN32 @@ -337,6 +341,8 @@ TEST_DECLARE (fs_file_pos_after_op_with_offset) TEST_DECLARE (fs_null_req) #ifdef _WIN32 TEST_DECLARE (fs_exclusive_sharing_mode) +TEST_DECLARE (fs_open_readonly_acl) +TEST_DECLARE (fs_fchmod_archive_readonly) #endif TEST_DECLARE (threadpool_queue_work_simple) TEST_DECLARE (threadpool_queue_work_einval) @@ -479,6 +485,7 @@ TASK_LIST_START TEST_ENTRY (stdio_over_pipes) TEST_ENTRY (ip6_pton) TEST_ENTRY (connect_unspecified) + TEST_ENTRY (ipc_heavy_traffic_deadlock_bug) TEST_ENTRY (ipc_listen_before_write) TEST_ENTRY (ipc_listen_after_write) #ifndef _WIN32 @@ -497,12 +504,21 @@ TASK_LIST_START TEST_ENTRY (tcp_ping_pong) TEST_HELPER (tcp_ping_pong, tcp4_echo_server) - TEST_ENTRY (tcp_ping_pong_v6) - TEST_HELPER (tcp_ping_pong_v6, tcp6_echo_server) + TEST_ENTRY (tcp_ping_pong_vec) + TEST_HELPER (tcp_ping_pong_vec, tcp4_echo_server) + + TEST_ENTRY (tcp6_ping_pong) + TEST_HELPER (tcp6_ping_pong, tcp6_echo_server) + + TEST_ENTRY (tcp6_ping_pong_vec) + TEST_HELPER (tcp6_ping_pong_vec, tcp6_echo_server) TEST_ENTRY (pipe_ping_pong) TEST_HELPER (pipe_ping_pong, pipe_echo_server) + TEST_ENTRY (pipe_ping_pong_vec) + TEST_HELPER (pipe_ping_pong_vec, pipe_echo_server) + TEST_ENTRY (delayed_accept) TEST_ENTRY (multiple_listen) @@ -708,7 +724,7 @@ TASK_LIST_START TEST_ENTRY (hrtime) TEST_ENTRY_CUSTOM (getaddrinfo_fail, 0, 0, 10000) - TEST_ENTRY (getaddrinfo_fail_sync) + TEST_ENTRY_CUSTOM (getaddrinfo_fail_sync, 0, 0, 10000) TEST_ENTRY (getaddrinfo_basic) TEST_ENTRY (getaddrinfo_basic_sync) @@ -869,6 +885,8 @@ TASK_LIST_START TEST_ENTRY (fs_null_req) #ifdef _WIN32 TEST_ENTRY (fs_exclusive_sharing_mode) + TEST_ENTRY (fs_open_readonly_acl) + TEST_ENTRY (fs_fchmod_archive_readonly) #endif TEST_ENTRY (get_osfhandle_valid_handle) TEST_ENTRY (threadpool_queue_work_simple) diff --git a/deps/uv/test/test-loop-handles.c b/deps/uv/test/test-loop-handles.c index c3e8498ae90a6b..6471cd08b32fc4 100644 --- a/deps/uv/test/test-loop-handles.c +++ b/deps/uv/test/test-loop-handles.c @@ -228,8 +228,8 @@ static void check_cb(uv_check_t* handle) { uv_close((uv_handle_t*)&idle_1_handles[i], idle_1_close_cb); } - /* This handle is closed/recreated every time, close it only if it is */ - /* active.*/ + /* This handle is closed/recreated every time, close it only if it is + * active. */ if (idle_2_is_active) { uv_close((uv_handle_t*)&idle_2_handle, idle_2_close_cb); } @@ -246,10 +246,10 @@ static void prepare_2_cb(uv_prepare_t* handle) { fflush(stderr); ASSERT(handle == &prepare_2_handle); - /* prepare_2 gets started by prepare_1 when (loop_iteration % 2 == 0), */ - /* and it stops itself immediately. A started watcher is not queued */ - /* until the next round, so when this callback is made */ - /* (loop_iteration % 2 == 0) cannot be true. */ + /* Prepare_2 gets started by prepare_1 when (loop_iteration % 2 == 0), and it + * stops itself immediately. A started watcher is not queued until the next + * round, so when this callback is made (loop_iteration % 2 == 0) cannot be + * true. */ ASSERT(loop_iteration % 2 != 0); r = uv_prepare_stop((uv_prepare_t*)handle); @@ -304,8 +304,8 @@ TEST_IMPL(loop_handles) { /* don't init or start idle_2, both is done by idle_1_cb */ - /* the timer callback is there to keep the event loop polling */ - /* unref it as it is not supposed to keep the loop alive */ + /* The timer callback is there to keep the event loop polling unref it as it + * is not supposed to keep the loop alive */ r = uv_timer_init(uv_default_loop(), &timer_handle); ASSERT(r == 0); r = uv_timer_start(&timer_handle, timer_cb, TIMEOUT, TIMEOUT); diff --git a/deps/uv/test/test-ping-pong.c b/deps/uv/test/test-ping-pong.c index 508f0db67bcf77..c86a3f4a66592f 100644 --- a/deps/uv/test/test-ping-pong.c +++ b/deps/uv/test/test-ping-pong.c @@ -22,8 +22,8 @@ #include "uv.h" #include "task.h" -#include #include +#include static int completed_pingers = 0; @@ -41,6 +41,7 @@ static int pinger_on_connect_count; typedef struct { + int vectored_writes; int pongs; int state; union { @@ -77,15 +78,26 @@ static void pinger_after_write(uv_write_t *req, int status) { static void pinger_write_ping(pinger_t* pinger) { uv_write_t *req; - uv_buf_t buf; - - buf = uv_buf_init(PING, sizeof(PING) - 1); + uv_buf_t bufs[sizeof PING - 1]; + int i, nbufs; + + if (!pinger->vectored_writes) { + /* Write a single buffer. */ + nbufs = 1; + bufs[0] = uv_buf_init(PING, sizeof PING - 1); + } else { + /* Write multiple buffers, each with one byte in them. */ + nbufs = sizeof PING - 1; + for (i = 0; i < nbufs; i++) { + bufs[i] = uv_buf_init(&PING[i], 1); + } + } req = malloc(sizeof(*req)); if (uv_write(req, (uv_stream_t*) &pinger->stream.tcp, - &buf, - 1, + bufs, + nbufs, pinger_after_write)) { FATAL("uv_write failed"); } @@ -154,7 +166,7 @@ static void pinger_on_connect(uv_connect_t *req, int status) { /* same ping-pong test, but using IPv6 connection */ -static void tcp_pinger_v6_new(void) { +static void tcp_pinger_v6_new(int vectored_writes) { int r; struct sockaddr_in6 server_addr; pinger_t *pinger; @@ -163,6 +175,7 @@ static void tcp_pinger_v6_new(void) { ASSERT(0 ==uv_ip6_addr("::1", TEST_PORT, &server_addr)); pinger = malloc(sizeof(*pinger)); ASSERT(pinger != NULL); + pinger->vectored_writes = vectored_writes; pinger->state = 0; pinger->pongs = 0; @@ -171,8 +184,8 @@ static void tcp_pinger_v6_new(void) { pinger->stream.tcp.data = pinger; ASSERT(!r); - /* We are never doing multiple reads/connects at a time anyway. */ - /* so these handles can be pre-initialized. */ + /* We are never doing multiple reads/connects at a time anyway, so these + * handles can be pre-initialized. */ r = uv_tcp_connect(&pinger->connect_req, &pinger->stream.tcp, (const struct sockaddr*) &server_addr, @@ -184,7 +197,7 @@ static void tcp_pinger_v6_new(void) { } -static void tcp_pinger_new(void) { +static void tcp_pinger_new(int vectored_writes) { int r; struct sockaddr_in server_addr; pinger_t *pinger; @@ -192,6 +205,7 @@ static void tcp_pinger_new(void) { ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &server_addr)); pinger = malloc(sizeof(*pinger)); ASSERT(pinger != NULL); + pinger->vectored_writes = vectored_writes; pinger->state = 0; pinger->pongs = 0; @@ -200,8 +214,8 @@ static void tcp_pinger_new(void) { pinger->stream.tcp.data = pinger; ASSERT(!r); - /* We are never doing multiple reads/connects at a time anyway. */ - /* so these handles can be pre-initialized. */ + /* We are never doing multiple reads/connects at a time anyway, so these + * handles can be pre-initialized. */ r = uv_tcp_connect(&pinger->connect_req, &pinger->stream.tcp, (const struct sockaddr*) &server_addr, @@ -213,12 +227,13 @@ static void tcp_pinger_new(void) { } -static void pipe_pinger_new(void) { +static void pipe_pinger_new(int vectored_writes) { int r; pinger_t *pinger; pinger = (pinger_t*)malloc(sizeof(*pinger)); ASSERT(pinger != NULL); + pinger->vectored_writes = vectored_writes; pinger->state = 0; pinger->pongs = 0; @@ -227,9 +242,8 @@ static void pipe_pinger_new(void) { pinger->stream.pipe.data = pinger; ASSERT(!r); - /* We are never doing multiple reads/connects at a time anyway. */ - /* so these handles can be pre-initialized. */ - + /* We are never doing multiple reads/connects at a time anyway, so these + * handles can be pre-initialized. */ uv_pipe_connect(&pinger->connect_req, &pinger->stream.pipe, TEST_PIPENAME, pinger_on_connect); @@ -238,10 +252,8 @@ static void pipe_pinger_new(void) { } -TEST_IMPL(tcp_ping_pong) { - tcp_pinger_new(); +static int run_ping_pong_test(void) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - ASSERT(completed_pingers == 1); MAKE_VALGRIND_HAPPY(); @@ -249,26 +261,41 @@ TEST_IMPL(tcp_ping_pong) { } -TEST_IMPL(tcp_ping_pong_v6) { +TEST_IMPL(tcp_ping_pong) { + tcp_pinger_new(0); + return run_ping_pong_test(); +} + + +TEST_IMPL(tcp_ping_pong_vec) { + tcp_pinger_new(1); + return run_ping_pong_test(); +} + + +TEST_IMPL(tcp6_ping_pong) { if (!can_ipv6()) RETURN_SKIP("IPv6 not supported"); + tcp_pinger_v6_new(0); + return run_ping_pong_test(); +} - tcp_pinger_v6_new(); - uv_run(uv_default_loop(), UV_RUN_DEFAULT); - ASSERT(completed_pingers == 1); - - MAKE_VALGRIND_HAPPY(); - return 0; +TEST_IMPL(tcp6_ping_pong_vec) { + if (!can_ipv6()) + RETURN_SKIP("IPv6 not supported"); + tcp_pinger_v6_new(1); + return run_ping_pong_test(); } TEST_IMPL(pipe_ping_pong) { - pipe_pinger_new(); - uv_run(uv_default_loop(), UV_RUN_DEFAULT); + pipe_pinger_new(0); + return run_ping_pong_test(); +} - ASSERT(completed_pingers == 1); - MAKE_VALGRIND_HAPPY(); - return 0; +TEST_IMPL(pipe_ping_pong_vec) { + pipe_pinger_new(1); + return run_ping_pong_test(); } diff --git a/deps/uv/test/test-pipe-set-fchmod.c b/deps/uv/test/test-pipe-set-fchmod.c index de4932dc1ae370..91e476652e027f 100644 --- a/deps/uv/test/test-pipe-set-fchmod.c +++ b/deps/uv/test/test-pipe-set-fchmod.c @@ -39,8 +39,8 @@ TEST_IMPL(pipe_set_chmod) { r = uv_pipe_bind(&pipe_handle, TEST_PIPENAME); ASSERT(r == 0); - /* No easy way to test if this works, we will only make sure that */ - /* the call is successful. */ + /* No easy way to test if this works, we will only make sure that the call is + * successful. */ r = uv_pipe_chmod(&pipe_handle, UV_READABLE); if (r == UV_EPERM) { MAKE_VALGRIND_HAPPY(); diff --git a/deps/uv/test/test-process-title-threadsafe.c b/deps/uv/test/test-process-title-threadsafe.c index d986576ed93c02..cc3fd41a136833 100644 --- a/deps/uv/test/test-process-title-threadsafe.c +++ b/deps/uv/test/test-process-title-threadsafe.c @@ -26,7 +26,7 @@ #include #ifdef __APPLE__ -# define NUM_ITERATIONS 20 +# define NUM_ITERATIONS 10 #else # define NUM_ITERATIONS 50 #endif diff --git a/deps/uv/test/test-signal-multiple-loops.c b/deps/uv/test/test-signal-multiple-loops.c index 1272d4576fd968..79242fc9fa99e7 100644 --- a/deps/uv/test/test-signal-multiple-loops.c +++ b/deps/uv/test/test-signal-multiple-loops.c @@ -249,7 +249,7 @@ TEST_IMPL(signal_multiple_loops) { uv_sem_wait(&sem); /* Block all signals to this thread, so we are sure that from here the signal - * handler runs in another thread. This is is more likely to catch thread and + * handler runs in another thread. This is more likely to catch thread and * signal safety issues if there are any. */ sigfillset(&sigset); diff --git a/deps/uv/test/test-spawn.c b/deps/uv/test/test-spawn.c index 4a2869a18afa43..1ab6e78807ff5f 100644 --- a/deps/uv/test/test-spawn.c +++ b/deps/uv/test/test-spawn.c @@ -1637,8 +1637,8 @@ TEST_IMPL(spawn_reads_child_path) { static const char dyld_path_var[] = "LD_LIBRARY_PATH"; #endif - /* Set up the process, but make sure that the file to run is relative and */ - /* requires a lookup into PATH */ + /* Set up the process, but make sure that the file to run is relative and + * requires a lookup into PATH. */ init_process_options("spawn_helper1", exit_cb); /* Set up the PATH env variable */ @@ -1805,8 +1805,8 @@ TEST_IMPL(spawn_quoted_path) { options.args = args; options.exit_cb = exit_cb; options.flags = 0; - /* We test if search_path works correctly with semicolons in quoted path. */ - /* We will use invalid drive, so we are sure no executable is spawned */ + /* We test if search_path works correctly with semicolons in quoted path. We + * will use an invalid drive, so we are sure no executable is spawned. */ quoted_path_env[0] = "PATH=\"xyz:\\test;\";xyz:\\other"; quoted_path_env[1] = NULL; options.env = quoted_path_env; diff --git a/deps/uv/test/test-tcp-open.c b/deps/uv/test/test-tcp-open.c index cb74c50e2c9929..f5d8f136b1f600 100644 --- a/deps/uv/test/test-tcp-open.c +++ b/deps/uv/test/test-tcp-open.c @@ -181,6 +181,20 @@ TEST_IMPL(tcp_open) { connect_cb); ASSERT(r == 0); +#ifndef _WIN32 + { + uv_tcp_t client2; + + r = uv_tcp_init(uv_default_loop(), &client2); + ASSERT(r == 0); + + r = uv_tcp_open(&client2, sock); + ASSERT(r == UV_EEXIST); + + uv_close((uv_handle_t*) &client2, NULL); + } +#endif /* !_WIN32 */ + uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(shutdown_cb_called == 1); diff --git a/deps/uv/test/test-timer-again.c b/deps/uv/test/test-timer-again.c index f93c509be5dc0a..e87d2edf18f121 100644 --- a/deps/uv/test/test-timer-again.c +++ b/deps/uv/test/test-timer-again.c @@ -58,8 +58,8 @@ static void repeat_1_cb(uv_timer_t* handle) { if (repeat_1_cb_called == 10) { uv_close((uv_handle_t*)handle, close_cb); - /* We're not calling uv_timer_again on repeat_2 any more, so after this */ - /* timer_2_cb is expected. */ + /* We're not calling uv_timer_again on repeat_2 any more, so after this + * timer_2_cb is expected. */ repeat_2_cb_allowed = 1; return; } diff --git a/deps/uv/test/test-udp-alloc-cb-fail.c b/deps/uv/test/test-udp-alloc-cb-fail.c index 05b871e921c094..0cee09c942ef2c 100644 --- a/deps/uv/test/test-udp-alloc-cb-fail.c +++ b/deps/uv/test/test-udp-alloc-cb-fail.c @@ -120,8 +120,7 @@ static void sv_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards sv_recv_cb_called */ + /* Returning unused buffer. Don't count towards sv_recv_cb_called */ ASSERT(addr == NULL); return; } diff --git a/deps/uv/test/test-udp-multicast-join.c b/deps/uv/test/test-udp-multicast-join.c index 6110a8d922a0b9..053d2f791498f7 100644 --- a/deps/uv/test/test-udp-multicast-join.c +++ b/deps/uv/test/test-udp-multicast-join.c @@ -81,8 +81,7 @@ static void cl_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards cl_recv_cb_called */ + /* Returning unused buffer. Don't count towards cl_recv_cb_called */ ASSERT(addr == NULL); return; } diff --git a/deps/uv/test/test-udp-multicast-join6.c b/deps/uv/test/test-udp-multicast-join6.c index cf316e107a0405..bda5e20ea70403 100644 --- a/deps/uv/test/test-udp-multicast-join6.c +++ b/deps/uv/test/test-udp-multicast-join6.c @@ -82,8 +82,7 @@ static void cl_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards cl_recv_cb_called */ + /* Returning unused buffer. Don't count towards cl_recv_cb_called */ ASSERT(addr == NULL); return; } diff --git a/deps/uv/test/test-udp-open.c b/deps/uv/test/test-udp-open.c index 4d77f45d367eae..ee04c99f61bae2 100644 --- a/deps/uv/test/test-udp-open.c +++ b/deps/uv/test/test-udp-open.c @@ -106,8 +106,7 @@ static void recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards sv_recv_cb_called */ + /* Returning unused buffer. Don't count towards sv_recv_cb_called */ ASSERT(addr == NULL); return; } @@ -165,6 +164,20 @@ TEST_IMPL(udp_open) { send_cb); ASSERT(r == 0); +#ifndef _WIN32 + { + uv_udp_t client2; + + r = uv_udp_init(uv_default_loop(), &client2); + ASSERT(r == 0); + + r = uv_udp_open(&client2, sock); + ASSERT(r == UV_EEXIST); + + uv_close((uv_handle_t*) &client2, NULL); + } +#endif /* !_WIN32 */ + uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(send_cb_called == 1); diff --git a/deps/uv/test/test-udp-options.c b/deps/uv/test/test-udp-options.c index 8f91367590388b..d8c9d68d81b428 100644 --- a/deps/uv/test/test-udp-options.c +++ b/deps/uv/test/test-udp-options.c @@ -114,9 +114,11 @@ TEST_IMPL(udp_options6) { TEST_IMPL(udp_no_autobind) { uv_loop_t* loop; uv_udp_t h; + uv_udp_t h2; loop = uv_default_loop(); + /* Test a lazy initialized socket. */ ASSERT(0 == uv_udp_init(loop, &h)); ASSERT(UV_EBADF == uv_udp_set_multicast_ttl(&h, 32)); ASSERT(UV_EBADF == uv_udp_set_broadcast(&h, 1)); @@ -130,6 +132,23 @@ TEST_IMPL(udp_no_autobind) { uv_close((uv_handle_t*) &h, NULL); + /* Test a non-lazily initialized socket. */ + ASSERT(0 == uv_udp_init_ex(loop, &h2, AF_INET)); + ASSERT(0 == uv_udp_set_multicast_ttl(&h2, 32)); + ASSERT(0 == uv_udp_set_broadcast(&h2, 1)); + +#if defined(__MVS__) + /* zOS only supports setting ttl for IPv6 sockets. */ + ASSERT(UV_ENOTSUP == uv_udp_set_ttl(&h2, 1)); +#else + ASSERT(0 == uv_udp_set_ttl(&h2, 1)); +#endif + + ASSERT(0 == uv_udp_set_multicast_loop(&h2, 1)); + ASSERT(0 == uv_udp_set_multicast_interface(&h2, "0.0.0.0")); + + uv_close((uv_handle_t*) &h2, NULL); + ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); MAKE_VALGRIND_HAPPY(); diff --git a/deps/uv/test/test-udp-send-and-recv.c b/deps/uv/test/test-udp-send-and-recv.c index 633a16727b2a85..1f01188b274a49 100644 --- a/deps/uv/test/test-udp-send-and-recv.c +++ b/deps/uv/test/test-udp-send-and-recv.c @@ -72,8 +72,7 @@ static void cl_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards cl_recv_cb_called */ + /* Returning unused buffer. Don't count towards cl_recv_cb_called */ ASSERT(addr == NULL); return; } @@ -128,8 +127,7 @@ static void sv_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards sv_recv_cb_called */ + /* Returning unused buffer. Don't count towards sv_recv_cb_called */ ASSERT(addr == NULL); return; } diff --git a/deps/uv/test/test-udp-send-immediate.c b/deps/uv/test/test-udp-send-immediate.c index 215f72257233a1..1011aa467e0541 100644 --- a/deps/uv/test/test-udp-send-immediate.c +++ b/deps/uv/test/test-udp-send-immediate.c @@ -74,8 +74,7 @@ static void sv_recv_cb(uv_udp_t* handle, } if (nread == 0) { - /* Returning unused buffer */ - /* Don't count towards sv_recv_cb_called */ + /* Returning unused buffer. Don't count towards sv_recv_cb_called */ ASSERT(addr == NULL); return; } diff --git a/deps/uv/test/test.gyp b/deps/uv/test/test.gyp index 480e5a26c4176d..917533618bf12c 100644 --- a/deps/uv/test/test.gyp +++ b/deps/uv/test/test.gyp @@ -47,8 +47,9 @@ 'test-hrtime.c', 'test-idle.c', 'test-ip6-addr.c', - 'test-ipc.c', + 'test-ipc-heavy-traffic-deadlock-bug.c', 'test-ipc-send-recv.c', + 'test-ipc.c', 'test-list.h', 'test-loop-handles.c', 'test-loop-alive.c', diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index e41f9ff5dce421..8aaf541b996f51 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp @@ -64,10 +64,10 @@ 'sources': [ 'common.gypi', 'include/uv.h', - 'include/tree.h', - 'include/uv-errno.h', - 'include/uv-threadpool.h', - 'include/uv-version.h', + 'include/uv/tree.h', + 'include/uv/errno.h', + 'include/uv/threadpool.h', + 'include/uv/version.h', 'src/fs-poll.c', 'src/heap-inl.h', 'src/inet.c', @@ -95,7 +95,7 @@ '_GNU_SOURCE', ], 'sources': [ - 'include/uv-win.h', + 'include/uv/win.h', 'src/win/async.c', 'src/win/atomicops-inl.h', 'src/win/core.c', @@ -144,12 +144,12 @@ }, }, { # Not Windows i.e. POSIX 'sources': [ - 'include/uv-unix.h', - 'include/uv-linux.h', - 'include/uv-sunos.h', - 'include/uv-darwin.h', - 'include/uv-bsd.h', - 'include/uv-aix.h', + 'include/uv/unix.h', + 'include/uv/linux.h', + 'include/uv/sunos.h', + 'include/uv/darwin.h', + 'include/uv/bsd.h', + 'include/uv/aix.h', 'src/unix/async.c', 'src/unix/atomic-ops.h', 'src/unix/core.c', @@ -199,7 +199,7 @@ ['uv_library=="shared_library" and OS!="mac" and OS!="zos"', { # This will cause gyp to set soname # Must correspond with UV_VERSION_MAJOR - # in include/uv-version.h + # in include/uv/version.h 'product_extension': 'so.1', }], ], diff --git a/deps/v8/gypfiles/standalone.gypi b/deps/v8/gypfiles/standalone.gypi index ec47f1c0abc2be..178f0f82564308 100644 --- a/deps/v8/gypfiles/standalone.gypi +++ b/deps/v8/gypfiles/standalone.gypi @@ -93,16 +93,16 @@ ['OS=="linux" and use_sysroot==1', { 'conditions': [ ['target_arch=="arm"', { - 'sysroot%': ' GetFunctionName(); + Local GetScriptName(); + int GetScriptLine(); + int GetScriptColumn(); + /** + * NOTE (mmarchini): We can't allocate objects in the heap when we collect + * existing code, and both the code type and the comment are not stored in the + * heap, so we return those as const char*. + */ + CodeEventType GetCodeType(); + const char* GetComment(); + + static const char* GetCodeEventTypeName(CodeEventType code_event_type); +}; + +/** + * Interface to listen to code creation events. + */ +class V8_EXPORT CodeEventHandler { + public: + /** + * Creates a new listener for the |isolate|. The isolate must be initialized. + * The listener object must be disposed after use by calling |Dispose| method. + * Multiple listeners can be created for the same isolate. + */ + explicit CodeEventHandler(Isolate* isolate); + virtual ~CodeEventHandler(); + + virtual void Handle(CodeEvent* code_event) = 0; + + void Enable(); + void Disable(); + + private: + CodeEventHandler(); + CodeEventHandler(const CodeEventHandler&); + CodeEventHandler& operator=(const CodeEventHandler&); + void* internal_listener_; +}; } // namespace v8 diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index e9a5ec69ec4a71..8a0dfca02b9dcf 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -10211,6 +10211,74 @@ void CpuProfiler::SetIdle(bool is_idle) { isolate->SetIdle(is_idle); } +uintptr_t CodeEvent::GetCodeStartAddress() { + return reinterpret_cast(this)->code_start_address; +} + +size_t CodeEvent::GetCodeSize() { + return reinterpret_cast(this)->code_size; +} + +Local CodeEvent::GetFunctionName() { + return ToApiHandle( + reinterpret_cast(this)->function_name); +} + +Local CodeEvent::GetScriptName() { + return ToApiHandle( + reinterpret_cast(this)->script_name); +} + +int CodeEvent::GetScriptLine() { + return reinterpret_cast(this)->script_line; +} + +int CodeEvent::GetScriptColumn() { + return reinterpret_cast(this)->script_column; +} + +CodeEventType CodeEvent::GetCodeType() { + return reinterpret_cast(this)->code_type; +} + +const char* CodeEvent::GetComment() { + return reinterpret_cast(this)->comment; +} + +const char* CodeEvent::GetCodeEventTypeName(CodeEventType code_event_type) { + switch (code_event_type) { + case kUnknownType: + return "Unknown"; +#define V(Name) \ + case k##Name##Type: \ + return #Name; + CODE_EVENTS_LIST(V) +#undef V + } + // The execution should never pass here + UNREACHABLE(); + // NOTE(mmarchini): Workaround to fix a compiler failure on GCC 4.9 + return "Unknown"; +} + +CodeEventHandler::CodeEventHandler(Isolate* isolate) { + internal_listener_ = + new i::ExternalCodeEventListener(reinterpret_cast(isolate)); +} + +CodeEventHandler::~CodeEventHandler() { + delete reinterpret_cast(internal_listener_); +} + +void CodeEventHandler::Enable() { + reinterpret_cast(internal_listener_) + ->StartListening(this); +} + +void CodeEventHandler::Disable() { + reinterpret_cast(internal_listener_) + ->StopListening(); +} static i::HeapGraphEdge* ToInternal(const HeapGraphEdge* edge) { return const_cast( diff --git a/deps/v8/src/code-events.h b/deps/v8/src/code-events.h index 439cb54dca6b6d..caed5160f47a24 100644 --- a/deps/v8/src/code-events.h +++ b/deps/v8/src/code-events.h @@ -24,32 +24,38 @@ class WasmCode; using WasmName = Vector; } // namespace wasm -#define LOG_EVENTS_AND_TAGS_LIST(V) \ - V(CODE_CREATION_EVENT, "code-creation") \ - V(CODE_DISABLE_OPT_EVENT, "code-disable-optimization") \ - V(CODE_MOVE_EVENT, "code-move") \ - V(CODE_DELETE_EVENT, "code-delete") \ - V(CODE_MOVING_GC, "code-moving-gc") \ - V(SHARED_FUNC_MOVE_EVENT, "sfi-move") \ - V(SNAPSHOT_CODE_NAME_EVENT, "snapshot-code-name") \ - V(TICK_EVENT, "tick") \ - V(BUILTIN_TAG, "Builtin") \ - V(CALLBACK_TAG, "Callback") \ - V(EVAL_TAG, "Eval") \ - V(FUNCTION_TAG, "Function") \ - V(INTERPRETED_FUNCTION_TAG, "InterpretedFunction") \ - V(HANDLER_TAG, "Handler") \ - V(BYTECODE_HANDLER_TAG, "BytecodeHandler") \ - V(LAZY_COMPILE_TAG, "LazyCompile") \ - V(REG_EXP_TAG, "RegExp") \ - V(SCRIPT_TAG, "Script") \ - V(STUB_TAG, "Stub") \ - V(NATIVE_FUNCTION_TAG, "Function") \ - V(NATIVE_LAZY_COMPILE_TAG, "LazyCompile") \ - V(NATIVE_SCRIPT_TAG, "Script") +#define LOG_EVENTS_LIST(V) \ + V(CODE_CREATION_EVENT, code-creation) \ + V(CODE_DISABLE_OPT_EVENT, code-disable-optimization) \ + V(CODE_MOVE_EVENT, code-move) \ + V(CODE_DELETE_EVENT, code-delete) \ + V(CODE_MOVING_GC, code-moving-gc) \ + V(SHARED_FUNC_MOVE_EVENT, sfi-move) \ + V(SNAPSHOT_CODE_NAME_EVENT, snapshot-code-name) \ + V(TICK_EVENT, tick) + +#define TAGS_LIST(V) \ + V(BUILTIN_TAG, Builtin) \ + V(CALLBACK_TAG, Callback) \ + V(EVAL_TAG, Eval) \ + V(FUNCTION_TAG, Function) \ + V(INTERPRETED_FUNCTION_TAG, InterpretedFunction) \ + V(HANDLER_TAG, Handler) \ + V(BYTECODE_HANDLER_TAG, BytecodeHandler) \ + V(LAZY_COMPILE_TAG, LazyCompile) \ + V(REG_EXP_TAG, RegExp) \ + V(SCRIPT_TAG, Script) \ + V(STUB_TAG, Stub) \ + V(NATIVE_FUNCTION_TAG, Function) \ + V(NATIVE_LAZY_COMPILE_TAG, LazyCompile) \ + V(NATIVE_SCRIPT_TAG, Script) // Note that 'NATIVE_' cases for functions and scripts are mapped onto // original tags when writing to the log. +#define LOG_EVENTS_AND_TAGS_LIST(V) \ + LOG_EVENTS_LIST(V) \ + TAGS_LIST(V) + #define PROFILE(the_isolate, Call) (the_isolate)->code_event_dispatcher()->Call; class CodeEventListener { @@ -85,6 +91,8 @@ class CodeEventListener { enum DeoptKind { kSoft, kLazy, kEager }; virtual void CodeDeoptEvent(Code* code, DeoptKind kind, Address pc, int fp_to_sp_delta) = 0; + + virtual bool is_listening_to_code_events() { return false; } }; class CodeEventDispatcher { @@ -101,6 +109,14 @@ class CodeEventDispatcher { base::LockGuard guard(&mutex_); listeners_.erase(listener); } + bool IsListeningToCodeEvents() { + for (auto it : listeners_) { + if (it->is_listening_to_code_events()) { + return true; + } + } + return false; + } #define CODE_EVENT_DISPATCH(code) \ base::LockGuard guard(&mutex_); \ diff --git a/deps/v8/src/compiler.cc b/deps/v8/src/compiler.cc index 1b3a154f52e558..d63f03d358e3db 100644 --- a/deps/v8/src/compiler.cc +++ b/deps/v8/src/compiler.cc @@ -84,8 +84,9 @@ void LogFunctionCompilation(CodeEventListener::LogEventsAndTags tag, // Log the code generation. If source information is available include // script name and line number. Check explicitly whether logging is // enabled as finding the line number is not free. - if (!isolate->logger()->is_logging_code_events() && - !isolate->is_profiling() && !FLAG_log_function_events) { + if (!isolate->logger()->is_listening_to_code_events() && + !isolate->is_profiling() && !FLAG_log_function_events && + !isolate->code_event_dispatcher()->IsListeningToCodeEvents()) { return; } diff --git a/deps/v8/src/compiler/wasm-compiler.cc b/deps/v8/src/compiler/wasm-compiler.cc index 61c5c152ba9fce..85bedd3c53c862 100644 --- a/deps/v8/src/compiler/wasm-compiler.cc +++ b/deps/v8/src/compiler/wasm-compiler.cc @@ -4625,7 +4625,8 @@ Node* WasmGraphBuilder::AtomicOp(wasm::WasmOpcode opcode, Node* const* inputs, namespace { bool must_record_function_compilation(Isolate* isolate) { - return isolate->logger()->is_logging_code_events() || isolate->is_profiling(); + return isolate->logger()->is_listening_to_code_events() || + isolate->is_profiling(); } PRINTF_FORMAT(4, 5) diff --git a/deps/v8/src/heap/mark-compact.cc b/deps/v8/src/heap/mark-compact.cc index eedc942835fc53..7784c3e3f67396 100644 --- a/deps/v8/src/heap/mark-compact.cc +++ b/deps/v8/src/heap/mark-compact.cc @@ -2458,7 +2458,7 @@ void MarkCompactCollectorBase::CreateAndExecuteEvacuationTasks( const bool profiling = heap()->isolate()->is_profiling() || - heap()->isolate()->logger()->is_logging_code_events() || + heap()->isolate()->logger()->is_listening_to_code_events() || heap()->isolate()->heap_profiler()->is_tracking_object_moves() || heap()->has_heap_object_allocation_tracker(); ProfilingMigrationObserver profiling_observer(heap()); diff --git a/deps/v8/src/isolate.cc b/deps/v8/src/isolate.cc index 2c4e22726d7301..7ef0214f4a6462 100644 --- a/deps/v8/src/isolate.cc +++ b/deps/v8/src/isolate.cc @@ -2883,7 +2883,7 @@ void CreateOffHeapTrampolines(Isolate* isolate) { // thus collected by the GC. builtins->set_builtin(i, *trampoline); - if (isolate->logger()->is_logging_code_events() || + if (isolate->logger()->is_listening_to_code_events() || isolate->is_profiling()) { isolate->logger()->LogCodeObject(*trampoline); } diff --git a/deps/v8/src/isolate.h b/deps/v8/src/isolate.h index 82d33033737c36..99d8f530f0b148 100644 --- a/deps/v8/src/isolate.h +++ b/deps/v8/src/isolate.h @@ -56,6 +56,7 @@ class BuiltinsConstantsTableBuilder; class CallInterfaceDescriptorData; class CancelableTaskManager; class CodeEventDispatcher; +class ExternalCodeEventListener; class CodeGenerator; class CodeRange; class CodeStubDescriptor; diff --git a/deps/v8/src/log.cc b/deps/v8/src/log.cc index 8f4543feb1971c..99fe64723dfddd 100644 --- a/deps/v8/src/log.cc +++ b/deps/v8/src/log.cc @@ -40,11 +40,37 @@ namespace v8 { namespace internal { -#define DECLARE_EVENT(ignore1, name) name, +#define DECLARE_EVENT(ignore1, name) #name, static const char* kLogEventsNames[CodeEventListener::NUMBER_OF_LOG_EVENTS] = { LOG_EVENTS_AND_TAGS_LIST(DECLARE_EVENT)}; #undef DECLARE_EVENT +static v8::CodeEventType GetCodeEventTypeForTag( + CodeEventListener::LogEventsAndTags tag) { + switch (tag) { + case CodeEventListener::NUMBER_OF_LOG_EVENTS: +#define V(Event, _) case CodeEventListener::Event: + LOG_EVENTS_LIST(V) +#undef V + return v8::CodeEventType::kUnknownType; +#define V(From, To) \ + case CodeEventListener::From: \ + return v8::CodeEventType::k##To##Type; + TAGS_LIST(V) +#undef V + } + // The execution should never pass here + UNREACHABLE(); + // NOTE(mmarchini): Workaround to fix a compiler failure on GCC 4.9 + return v8::CodeEventType::kUnknownType; +} +#define CALL_CODE_EVENT_HANDLER(Call) \ + if (listener_) { \ + listener_->Call; \ + } else { \ + PROFILE(isolate_, Call); \ + } + static const char* ComputeMarker(SharedFunctionInfo* shared, AbstractCode* code) { switch (code->kind()) { @@ -305,6 +331,7 @@ void PerfBasicLogger::LogRecordedBuffer(AbstractCode* code, SharedFunctionInfo*, const char* name, int length) { if (FLAG_perf_basic_prof_only_functions && (code->kind() != AbstractCode::INTERPRETED_FUNCTION && + code->kind() != AbstractCode::BUILTIN && code->kind() != AbstractCode::OPTIMIZED_FUNCTION)) { return; } @@ -320,9 +347,147 @@ void PerfBasicLogger::LogRecordedBuffer(const wasm::WasmCode* code, code->instructions().length(), name, length); } -// Low-level logging support. -#define LL_LOG(Call) if (ll_logger_) ll_logger_->Call; +// External CodeEventListener +ExternalCodeEventListener::ExternalCodeEventListener(Isolate* isolate) + : is_listening_(false), isolate_(isolate), code_event_handler_(nullptr) {} + +ExternalCodeEventListener::~ExternalCodeEventListener() { + if (is_listening_) { + StopListening(); + } +} + +void ExternalCodeEventListener::LogExistingCode() { + HandleScope scope(isolate_); + ExistingCodeLogger logger(isolate_, this); + logger.LogCodeObjects(); + logger.LogBytecodeHandlers(); + logger.LogCompiledFunctions(); +} + +void ExternalCodeEventListener::StartListening( + CodeEventHandler* code_event_handler) { + if (is_listening_ || code_event_handler == nullptr) { + return; + } + code_event_handler_ = code_event_handler; + is_listening_ = isolate_->code_event_dispatcher()->AddListener(this); + if (is_listening_) { + LogExistingCode(); + } +} +void ExternalCodeEventListener::StopListening() { + if (!is_listening_) { + return; + } + + isolate_->code_event_dispatcher()->RemoveListener(this); + is_listening_ = false; +} + +void ExternalCodeEventListener::CodeCreateEvent( + CodeEventListener::LogEventsAndTags tag, AbstractCode* code, + const char* comment) { + CodeEvent code_event; + code_event.code_start_address = + reinterpret_cast(code->InstructionStart()); + code_event.code_size = static_cast(code->InstructionSize()); + code_event.function_name = isolate_->factory()->empty_string(); + code_event.script_name = isolate_->factory()->empty_string(); + code_event.script_line = 0; + code_event.script_column = 0; + code_event.code_type = GetCodeEventTypeForTag(tag); + code_event.comment = comment; + + code_event_handler_->Handle(reinterpret_cast(&code_event)); +} + +void ExternalCodeEventListener::CodeCreateEvent( + CodeEventListener::LogEventsAndTags tag, AbstractCode* code, Name* name) { + Handle name_string = + Name::ToFunctionName(Handle(name, isolate_)).ToHandleChecked(); + + CodeEvent code_event; + code_event.code_start_address = + reinterpret_cast(code->InstructionStart()); + code_event.code_size = static_cast(code->InstructionSize()); + code_event.function_name = name_string; + code_event.script_name = isolate_->factory()->empty_string(); + code_event.script_line = 0; + code_event.script_column = 0; + code_event.code_type = GetCodeEventTypeForTag(tag); + code_event.comment = ""; + + code_event_handler_->Handle(reinterpret_cast(&code_event)); +} + +void ExternalCodeEventListener::CodeCreateEvent( + CodeEventListener::LogEventsAndTags tag, AbstractCode* code, + SharedFunctionInfo* shared, Name* name) { + Handle name_string = + Name::ToFunctionName(Handle(name, isolate_)).ToHandleChecked(); + + CodeEvent code_event; + code_event.code_start_address = + reinterpret_cast(code->InstructionStart()); + code_event.code_size = static_cast(code->InstructionSize()); + code_event.function_name = name_string; + code_event.script_name = isolate_->factory()->empty_string(); + code_event.script_line = 0; + code_event.script_column = 0; + code_event.code_type = GetCodeEventTypeForTag(tag); + code_event.comment = ""; + + code_event_handler_->Handle(reinterpret_cast(&code_event)); +} + +void ExternalCodeEventListener::CodeCreateEvent( + CodeEventListener::LogEventsAndTags tag, AbstractCode* code, + SharedFunctionInfo* shared, Name* source, int line, int column) { + Handle name_string = + Name::ToFunctionName(Handle(shared->Name(), isolate_)) + .ToHandleChecked(); + Handle source_string = + Name::ToFunctionName(Handle(source, isolate_)).ToHandleChecked(); + + CodeEvent code_event; + code_event.code_start_address = + reinterpret_cast(code->InstructionStart()); + code_event.code_size = static_cast(code->InstructionSize()); + code_event.function_name = name_string; + code_event.script_name = source_string; + code_event.script_line = line; + code_event.script_column = column; + code_event.code_type = GetCodeEventTypeForTag(tag); + code_event.comment = ""; + + code_event_handler_->Handle(reinterpret_cast(&code_event)); +} + +void ExternalCodeEventListener::CodeCreateEvent(LogEventsAndTags tag, + const wasm::WasmCode* code, + wasm::WasmName name) { + // TODO(mmarchini): handle later +} + +void ExternalCodeEventListener::RegExpCodeCreateEvent(AbstractCode* code, + String* source) { + CodeEvent code_event; + code_event.code_start_address = + reinterpret_cast(code->InstructionStart()); + code_event.code_size = static_cast(code->InstructionSize()); + code_event.function_name = Handle(source, isolate_); + code_event.script_name = isolate_->factory()->empty_string(); + code_event.script_line = 0; + code_event.script_column = 0; + code_event.code_type = GetCodeEventTypeForTag(CodeEventListener::REG_EXP_TAG); + code_event.comment = ""; + + code_event_handler_->Handle(reinterpret_cast(&code_event)); +} + +// Low-level logging support. class LowLevelLogger : public CodeEventLogger { public: explicit LowLevelLogger(const char* file_name); @@ -809,7 +974,8 @@ Logger::Logger(Isolate* isolate) perf_jit_logger_(nullptr), ll_logger_(nullptr), jit_logger_(nullptr), - is_initialized_(false) {} + is_initialized_(false), + existing_code_logger_(isolate) {} Logger::~Logger() { delete log_; @@ -1078,7 +1244,7 @@ void AppendCodeCreateHeader(Log::MessageBuilder& msg, void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, AbstractCode* code, const char* comment) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); AppendCodeCreateHeader(msg, tag, code, &timer_); @@ -1088,7 +1254,7 @@ void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, AbstractCode* code, Name* name) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); AppendCodeCreateHeader(msg, tag, code, &timer_); @@ -1099,7 +1265,7 @@ void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, AbstractCode* code, SharedFunctionInfo* shared, Name* name) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; if (code == AbstractCode::cast( isolate_->builtins()->builtin(Builtins::kCompileLazy))) { @@ -1115,7 +1281,7 @@ void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, const wasm::WasmCode* code, wasm::WasmName name) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); AppendCodeCreateHeader(msg, tag, AbstractCode::Kind::WASM_FUNCTION, @@ -1143,7 +1309,7 @@ void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, AbstractCode* code, SharedFunctionInfo* shared, Name* source, int line, int column) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); @@ -1259,7 +1425,7 @@ void Logger::CodeCreateEvent(CodeEventListener::LogEventsAndTags tag, void Logger::CodeDisableOptEvent(AbstractCode* code, SharedFunctionInfo* shared) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); msg << kLogEventsNames[CodeEventListener::CODE_DISABLE_OPT_EVENT] << kNext @@ -1270,13 +1436,13 @@ void Logger::CodeDisableOptEvent(AbstractCode* code, void Logger::CodeMovingGCEvent() { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!log_->IsEnabled() || !FLAG_ll_prof) return; base::OS::SignalCodeMovingGC(); } void Logger::RegExpCodeCreateEvent(AbstractCode* code, String* source) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; if (!FLAG_log_code || !log_->IsEnabled()) return; Log::MessageBuilder msg(log_); AppendCodeCreateHeader(msg, CodeEventListener::REG_EXP_TAG, code, &timer_); @@ -1285,7 +1451,7 @@ void Logger::RegExpCodeCreateEvent(AbstractCode* code, String* source) { } void Logger::CodeMoveEvent(AbstractCode* from, Address to) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; MoveEventInternal(CodeEventListener::CODE_MOVE_EVENT, from->address(), to); } @@ -1334,7 +1500,7 @@ void Logger::CodeNameEvent(Address addr, int pos, const char* code_name) { void Logger::SharedFunctionInfoMoveEvent(Address from, Address to) { - if (!is_logging_code_events()) return; + if (!is_listening_to_code_events()) return; MoveEventInternal(CodeEventListener::SHARED_FUNC_MOVE_EVENT, from, to); } @@ -1624,170 +1790,28 @@ static int EnumerateWasmModules(Heap* heap, } void Logger::LogCodeObject(Object* object) { - AbstractCode* code_object = AbstractCode::cast(object); - CodeEventListener::LogEventsAndTags tag = CodeEventListener::STUB_TAG; - const char* description = "Unknown code from the snapshot"; - switch (code_object->kind()) { - case AbstractCode::INTERPRETED_FUNCTION: - case AbstractCode::OPTIMIZED_FUNCTION: - return; // We log this later using LogCompiledFunctions. - case AbstractCode::BYTECODE_HANDLER: - return; // We log it later by walking the dispatch table. - case AbstractCode::STUB: - description = - CodeStub::MajorName(CodeStub::GetMajorKey(code_object->GetCode())); - if (description == nullptr) description = "A stub from the snapshot"; - tag = CodeEventListener::STUB_TAG; - break; - case AbstractCode::REGEXP: - description = "Regular expression code"; - tag = CodeEventListener::REG_EXP_TAG; - break; - case AbstractCode::BUILTIN: - description = - isolate_->builtins()->name(code_object->GetCode()->builtin_index()); - tag = CodeEventListener::BUILTIN_TAG; - break; - case AbstractCode::WASM_FUNCTION: - description = "A Wasm function"; - tag = CodeEventListener::FUNCTION_TAG; - break; - case AbstractCode::JS_TO_WASM_FUNCTION: - description = "A JavaScript to Wasm adapter"; - tag = CodeEventListener::STUB_TAG; - break; - case AbstractCode::WASM_TO_JS_FUNCTION: - description = "A Wasm to JavaScript adapter"; - tag = CodeEventListener::STUB_TAG; - break; - case AbstractCode::WASM_INTERPRETER_ENTRY: - description = "A Wasm to Interpreter adapter"; - tag = CodeEventListener::STUB_TAG; - break; - case AbstractCode::C_WASM_ENTRY: - description = "A C to Wasm entry stub"; - tag = CodeEventListener::STUB_TAG; - break; - case AbstractCode::NUMBER_OF_KINDS: - UNIMPLEMENTED(); - } - PROFILE(isolate_, CodeCreateEvent(tag, code_object, description)); + existing_code_logger_.LogCodeObject(object); } -void Logger::LogCodeObjects() { - Heap* heap = isolate_->heap(); - HeapIterator iterator(heap); - DisallowHeapAllocation no_gc; - for (HeapObject* obj = iterator.next(); obj != nullptr; - obj = iterator.next()) { - if (obj->IsCode()) LogCodeObject(obj); - if (obj->IsBytecodeArray()) LogCodeObject(obj); - } -} +void Logger::LogCodeObjects() { existing_code_logger_.LogCodeObjects(); } void Logger::LogBytecodeHandler(interpreter::Bytecode bytecode, interpreter::OperandScale operand_scale, Code* code) { - std::string bytecode_name = - interpreter::Bytecodes::ToString(bytecode, operand_scale); - PROFILE(isolate_, - CodeCreateEvent(CodeEventListener::BYTECODE_HANDLER_TAG, - AbstractCode::cast(code), bytecode_name.c_str())); + existing_code_logger_.LogBytecodeHandler(bytecode, operand_scale, code); } void Logger::LogBytecodeHandlers() { - const interpreter::OperandScale kOperandScales[] = { -#define VALUE(Name, _) interpreter::OperandScale::k##Name, - OPERAND_SCALE_LIST(VALUE) -#undef VALUE - }; - - const int last_index = static_cast(interpreter::Bytecode::kLast); - interpreter::Interpreter* interpreter = isolate_->interpreter(); - for (auto operand_scale : kOperandScales) { - for (int index = 0; index <= last_index; ++index) { - interpreter::Bytecode bytecode = interpreter::Bytecodes::FromByte(index); - if (interpreter::Bytecodes::BytecodeHasHandler(bytecode, operand_scale)) { - Code* code = interpreter->GetBytecodeHandler(bytecode, operand_scale); - if (isolate_->heap()->IsDeserializeLazyHandler(code)) continue; - LogBytecodeHandler(bytecode, operand_scale, code); - } - } - } + existing_code_logger_.LogBytecodeHandlers(); } void Logger::LogExistingFunction(Handle shared, Handle code) { - if (shared->script()->IsScript()) { - Handle - -``` - -## Included Observable Operators ## - -### `Observable Instance Methods` -- [`aggregate`](../../doc/api/core/operators/reduce.md) -- [`all`](../../doc/api/core/operators/every.md) -- [`any`](../../doc/api/core/operators/some.md) -- [`average`](../../doc/api/core/operators/average.md) -- [`includes`](../../doc/api/core/operators/includes.md) -- [`count`](../../doc/api/core/operators/count.md) -- [`elementAt`](../../doc/api/core/operators/elementat.md) -- [`elementAtOrDefault`](../../doc/api/core/operators/elementatordefault.md) -- [`every`](../../doc/api/core/operators/every.md) -- [`find`](../../doc/api/core/operators/find.md) -- [`findIndex`](../../doc/api/core/operators/findindex.md) -- [`first`](../../doc/api/core/operators/first.md) -- [`firstOrDefault`](../../doc/api/core/operators/firstordefault.md) -- [`indexOf`](../../doc/api/core/operators/indexof.md) -- [`isEmpty`](../../doc/api/core/operators/isempty.md) -- [`last`](../../doc/api/core/operators/last.md) -- [`lastOrDefault`](../../doc/api/core/operators/lastordefault.md) -- [`max`](../../doc/api/core/operators/max.md) -- [`maxBy`](../../doc/api/core/operators/maxby.md) -- [`min`](../../doc/api/core/operators/min.md) -- [`minBy`](../../doc/api/core/operators/minby.md) -- [`reduce`](../../doc/api/core/operators/reduce.md) -- [`sequenceEqual`](../../doc/api/core/operators/sequenceequal.md) -- [`single`](../../doc/api/core/operators/single.md) -- [`singleOrDefault`](../../doc/api/core/operators/singleordefault.md) -- [`some`](../../doc/api/core/operators/some.md) -- [`sum`](../../doc/api/core/operators/sum.md) -- [`toMap`](../../doc/api/core/operators/tomap.md) -- [`toSet`](../../doc/api/core/operators/toset.md) - -## Contributing ## - -There are lots of ways to contribute to the project, and we appreciate our [contributors](https://github.com/Reactive-Extensions/RxJS/wiki/Contributors). If you wish to contribute, check out our [style guide]((https://github.com/Reactive-Extensions/RxJS/tree/master/doc/contributing)). - -You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submit bugs and help us verify fixes as they are checked in, as well as submit code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the Rx Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source. - -## License ## - -Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. -Microsoft Open Technologies would like to thank its contributors, a list -of whom are at https://github.com/Reactive-Extensions/RxJS/wiki/Contributors. - -Licensed under the Apache License, Version 2.0 (the "License"); you -may not use this file except in compliance with the License. You may -obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied. See the License for the specific language governing permissions -and limitations under the License. diff --git a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js deleted file mode 100644 index 7deba2201737db..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.js +++ /dev/null @@ -1,1365 +0,0 @@ -// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information. - -;(function (factory) { - var objectTypes = { - 'function': true, - 'object': true - }; - - function checkGlobal(value) { - return (value && value.Object === Object) ? value : null; - } - - var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null; - var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null; - var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global); - var freeSelf = checkGlobal(objectTypes[typeof self] && self); - var freeWindow = checkGlobal(objectTypes[typeof window] && window); - var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null; - var thisGlobal = checkGlobal(objectTypes[typeof this] && this); - var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')(); - - // Because of build optimizers - if (typeof define === 'function' && define.amd) { - define(['./rx.lite'], function (Rx, exports) { - return factory(root, exports, Rx); - }); - } else if (typeof module === 'object' && module && module.exports === freeExports) { - module.exports = factory(root, module.exports, require('rx-lite')); - } else { - root.Rx = factory(root, {}, root.Rx); - } -}.call(this, function (root, exp, Rx, undefined) { - - // References - var Observable = Rx.Observable, - observableProto = Observable.prototype, - BinaryDisposable = Rx.BinaryDisposable, - AnonymousObservable = Rx.AnonymousObservable, - AbstractObserver = Rx.internals.AbstractObserver, - disposableEmpty = Rx.Disposable.empty, - helpers = Rx.helpers, - defaultComparer = helpers.defaultComparer, - identity = helpers.identity, - defaultSubComparer = helpers.defaultSubComparer, - isFunction = helpers.isFunction, - isPromise = helpers.isPromise, - isArrayLike = helpers.isArrayLike, - isIterable = helpers.isIterable, - inherits = Rx.internals.inherits, - observableFromPromise = Observable.fromPromise, - observableFrom = Observable.from, - bindCallback = Rx.internals.bindCallback, - EmptyError = Rx.EmptyError, - ObservableBase = Rx.ObservableBase, - ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError; - - var errorObj = {e: {}}; - - function tryCatcherGen(tryCatchTarget) { - return function tryCatcher() { - try { - return tryCatchTarget.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } - }; - } - - var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) { - if (!isFunction(fn)) { throw new TypeError('fn must be a function'); } - return tryCatcherGen(fn); - }; - - function thrower(e) { - throw e; - } - - var ExtremaByObservable = (function (__super__) { - inherits(ExtremaByObservable, __super__); - function ExtremaByObservable(source, k, c) { - this.source = source; - this._k = k; - this._c = c; - __super__.call(this); - } - - ExtremaByObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new ExtremaByObserver(o, this._k, this._c)); - }; - - return ExtremaByObservable; - }(ObservableBase)); - - var ExtremaByObserver = (function (__super__) { - inherits(ExtremaByObserver, __super__); - function ExtremaByObserver(o, k, c) { - this._o = o; - this._k = k; - this._c = c; - this._v = null; - this._hv = false; - this._l = []; - __super__.call(this); - } - - ExtremaByObserver.prototype.next = function (x) { - var key = tryCatch(this._k)(x); - if (key === errorObj) { return this._o.onError(key.e); } - var comparison = 0; - if (!this._hv) { - this._hv = true; - this._v = key; - } else { - comparison = tryCatch(this._c)(key, this._v); - if (comparison === errorObj) { return this._o.onError(comparison.e); } - } - if (comparison > 0) { - this._v = key; - this._l = []; - } - if (comparison >= 0) { this._l.push(x); } - }; - - ExtremaByObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ExtremaByObserver.prototype.completed = function () { - this._o.onNext(this._l); - this._o.onCompleted(); - }; - - return ExtremaByObserver; - }(AbstractObserver)); - - function firstOnly(x) { - if (x.length === 0) { throw new EmptyError(); } - return x[0]; - } - - var ReduceObservable = (function(__super__) { - inherits(ReduceObservable, __super__); - function ReduceObservable(source, accumulator, hasSeed, seed) { - this.source = source; - this.accumulator = accumulator; - this.hasSeed = hasSeed; - this.seed = seed; - __super__.call(this); - } - - ReduceObservable.prototype.subscribeCore = function(observer) { - return this.source.subscribe(new ReduceObserver(observer,this)); - }; - - return ReduceObservable; - }(ObservableBase)); - - var ReduceObserver = (function (__super__) { - inherits(ReduceObserver, __super__); - function ReduceObserver(o, parent) { - this._o = o; - this._p = parent; - this._fn = parent.accumulator; - this._hs = parent.hasSeed; - this._s = parent.seed; - this._ha = false; - this._a = null; - this._hv = false; - this._i = 0; - __super__.call(this); - } - - ReduceObserver.prototype.next = function (x) { - !this._hv && (this._hv = true); - if (this._ha) { - this._a = tryCatch(this._fn)(this._a, x, this._i, this._p); - } else { - this._a = this._hs ? tryCatch(this._fn)(this._s, x, this._i, this._p) : x; - this._ha = true; - } - if (this._a === errorObj) { return this._o.onError(this._a.e); } - this._i++; - }; - - ReduceObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ReduceObserver.prototype.completed = function () { - this._hv && this._o.onNext(this._a); - !this._hv && this._hs && this._o.onNext(this._s); - !this._hv && !this._hs && this._o.onError(new EmptyError()); - this._o.onCompleted(); - }; - - return ReduceObserver; - }(AbstractObserver)); - - /** - * Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value. - * For aggregation behavior with incremental intermediate results, see Observable.scan. - * @param {Function} accumulator An accumulator function to be invoked on each element. - * @param {Any} [seed] The initial accumulator value. - * @returns {Observable} An observable sequence containing a single element with the final accumulator value. - */ - observableProto.reduce = function () { - var hasSeed = false, seed, accumulator = arguments[0]; - if (arguments.length === 2) { - hasSeed = true; - seed = arguments[1]; - } - return new ReduceObservable(this, accumulator, hasSeed, seed); - }; - - var SomeObservable = (function (__super__) { - inherits(SomeObservable, __super__); - function SomeObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - SomeObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SomeObserver(o, this._fn, this.source)); - }; - - return SomeObservable; - }(ObservableBase)); - - var SomeObserver = (function (__super__) { - inherits(SomeObserver, __super__); - - function SomeObserver(o, fn, s) { - this._o = o; - this._fn = fn; - this._s = s; - this._i = 0; - __super__.call(this); - } - - SomeObserver.prototype.next = function (x) { - var result = tryCatch(this._fn)(x, this._i++, this._s); - if (result === errorObj) { return this._o.onError(result.e); } - if (Boolean(result)) { - this._o.onNext(true); - this._o.onCompleted(); - } - }; - SomeObserver.prototype.error = function (e) { this._o.onError(e); }; - SomeObserver.prototype.completed = function () { - this._o.onNext(false); - this._o.onCompleted(); - }; - - return SomeObserver; - }(AbstractObserver)); - - /** - * Determines whether any element of an observable sequence satisfies a condition if present, else if any items are in the sequence. - * @param {Function} [predicate] A function to test each element for a condition. - * @returns {Observable} An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate if given, else if any items are in the sequence. - */ - observableProto.some = function (predicate, thisArg) { - var fn = bindCallback(predicate, thisArg, 3); - return new SomeObservable(this, fn); - }; - - var IsEmptyObservable = (function (__super__) { - inherits(IsEmptyObservable, __super__); - function IsEmptyObservable(source) { - this.source = source; - __super__.call(this); - } - - IsEmptyObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new IsEmptyObserver(o)); - }; - - return IsEmptyObservable; - }(ObservableBase)); - - var IsEmptyObserver = (function(__super__) { - inherits(IsEmptyObserver, __super__); - function IsEmptyObserver(o) { - this._o = o; - __super__.call(this); - } - - IsEmptyObserver.prototype.next = function () { - this._o.onNext(false); - this._o.onCompleted(); - }; - IsEmptyObserver.prototype.error = function (e) { this._o.onError(e); }; - IsEmptyObserver.prototype.completed = function () { - this._o.onNext(true); - this._o.onCompleted(); - }; - - return IsEmptyObserver; - }(AbstractObserver)); - - /** - * Determines whether an observable sequence is empty. - * @returns {Observable} An observable sequence containing a single element determining whether the source sequence is empty. - */ - observableProto.isEmpty = function () { - return new IsEmptyObservable(this); - }; - - var EveryObservable = (function (__super__) { - inherits(EveryObservable, __super__); - function EveryObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - EveryObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new EveryObserver(o, this._fn, this.source)); - }; - - return EveryObservable; - }(ObservableBase)); - - var EveryObserver = (function (__super__) { - inherits(EveryObserver, __super__); - - function EveryObserver(o, fn, s) { - this._o = o; - this._fn = fn; - this._s = s; - this._i = 0; - __super__.call(this); - } - - EveryObserver.prototype.next = function (x) { - var result = tryCatch(this._fn)(x, this._i++, this._s); - if (result === errorObj) { return this._o.onError(result.e); } - if (!Boolean(result)) { - this._o.onNext(false); - this._o.onCompleted(); - } - }; - EveryObserver.prototype.error = function (e) { this._o.onError(e); }; - EveryObserver.prototype.completed = function () { - this._o.onNext(true); - this._o.onCompleted(); - }; - - return EveryObserver; - }(AbstractObserver)); - - /** - * Determines whether all elements of an observable sequence satisfy a condition. - * @param {Function} [predicate] A function to test each element for a condition. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. - */ - observableProto.every = function (predicate, thisArg) { - var fn = bindCallback(predicate, thisArg, 3); - return new EveryObservable(this, fn); - }; - - var IncludesObservable = (function (__super__) { - inherits(IncludesObservable, __super__); - function IncludesObservable(source, elem, idx) { - var n = +idx || 0; - Math.abs(n) === Infinity && (n = 0); - - this.source = source; - this._elem = elem; - this._n = n; - __super__.call(this); - } - - IncludesObservable.prototype.subscribeCore = function (o) { - if (this._n < 0) { - o.onNext(false); - o.onCompleted(); - return disposableEmpty; - } - - return this.source.subscribe(new IncludesObserver(o, this._elem, this._n)); - }; - - return IncludesObservable; - }(ObservableBase)); - - var IncludesObserver = (function (__super__) { - inherits(IncludesObserver, __super__); - function IncludesObserver(o, elem, n) { - this._o = o; - this._elem = elem; - this._n = n; - this._i = 0; - __super__.call(this); - } - - function comparer(a, b) { - return (a === 0 && b === 0) || (a === b || (isNaN(a) && isNaN(b))); - } - - IncludesObserver.prototype.next = function (x) { - if (this._i++ >= this._n && comparer(x, this._elem)) { - this._o.onNext(true); - this._o.onCompleted(); - } - }; - IncludesObserver.prototype.error = function (e) { this._o.onError(e); }; - IncludesObserver.prototype.completed = function () { this._o.onNext(false); this._o.onCompleted(); }; - - return IncludesObserver; - }(AbstractObserver)); - - /** - * Determines whether an observable sequence includes a specified element with an optional equality comparer. - * @param searchElement The value to locate in the source sequence. - * @param {Number} [fromIndex] An equality comparer to compare elements. - * @returns {Observable} An observable sequence containing a single element determining whether the source sequence includes an element that has the specified value from the given index. - */ - observableProto.includes = function (searchElement, fromIndex) { - return new IncludesObservable(this, searchElement, fromIndex); - }; - - var CountObservable = (function (__super__) { - inherits(CountObservable, __super__); - function CountObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - CountObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new CountObserver(o, this._fn, this.source)); - }; - - return CountObservable; - }(ObservableBase)); - - var CountObserver = (function (__super__) { - inherits(CountObserver, __super__); - - function CountObserver(o, fn, s) { - this._o = o; - this._fn = fn; - this._s = s; - this._i = 0; - this._c = 0; - __super__.call(this); - } - - CountObserver.prototype.next = function (x) { - if (this._fn) { - var result = tryCatch(this._fn)(x, this._i++, this._s); - if (result === errorObj) { return this._o.onError(result.e); } - Boolean(result) && (this._c++); - } else { - this._c++; - } - }; - CountObserver.prototype.error = function (e) { this._o.onError(e); }; - CountObserver.prototype.completed = function () { - this._o.onNext(this._c); - this._o.onCompleted(); - }; - - return CountObserver; - }(AbstractObserver)); - - /** - * Returns an observable sequence containing a value that represents how many elements in the specified observable sequence satisfy a condition if provided, else the count of items. - * @example - * res = source.count(); - * res = source.count(function (x) { return x > 3; }); - * @param {Function} [predicate]A function to test each element for a condition. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function if provided, else the count of items in the sequence. - */ - observableProto.count = function (predicate, thisArg) { - var fn = bindCallback(predicate, thisArg, 3); - return new CountObservable(this, fn); - }; - - var IndexOfObservable = (function (__super__) { - inherits(IndexOfObservable, __super__); - function IndexOfObservable(source, e, n) { - this.source = source; - this._e = e; - this._n = n; - __super__.call(this); - } - - IndexOfObservable.prototype.subscribeCore = function (o) { - if (this._n < 0) { - o.onNext(-1); - o.onCompleted(); - return disposableEmpty; - } - - return this.source.subscribe(new IndexOfObserver(o, this._e, this._n)); - }; - - return IndexOfObservable; - }(ObservableBase)); - - var IndexOfObserver = (function (__super__) { - inherits(IndexOfObserver, __super__); - function IndexOfObserver(o, e, n) { - this._o = o; - this._e = e; - this._n = n; - this._i = 0; - __super__.call(this); - } - - IndexOfObserver.prototype.next = function (x) { - if (this._i >= this._n && x === this._e) { - this._o.onNext(this._i); - this._o.onCompleted(); - } - this._i++; - }; - IndexOfObserver.prototype.error = function (e) { this._o.onError(e); }; - IndexOfObserver.prototype.completed = function () { this._o.onNext(-1); this._o.onCompleted(); }; - - return IndexOfObserver; - }(AbstractObserver)); - - /** - * Returns the first index at which a given element can be found in the observable sequence, or -1 if it is not present. - * @param {Any} searchElement Element to locate in the array. - * @param {Number} [fromIndex] The index to start the search. If not specified, defaults to 0. - * @returns {Observable} And observable sequence containing the first index at which a given element can be found in the observable sequence, or -1 if it is not present. - */ - observableProto.indexOf = function(searchElement, fromIndex) { - var n = +fromIndex || 0; - Math.abs(n) === Infinity && (n = 0); - return new IndexOfObservable(this, searchElement, n); - }; - - var SumObservable = (function (__super__) { - inherits(SumObservable, __super__); - function SumObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - SumObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SumObserver(o, this._fn, this.source)); - }; - - return SumObservable; - }(ObservableBase)); - - var SumObserver = (function (__super__) { - inherits(SumObserver, __super__); - - function SumObserver(o, fn, s) { - this._o = o; - this._fn = fn; - this._s = s; - this._i = 0; - this._c = 0; - __super__.call(this); - } - - SumObserver.prototype.next = function (x) { - if (this._fn) { - var result = tryCatch(this._fn)(x, this._i++, this._s); - if (result === errorObj) { return this._o.onError(result.e); } - this._c += result; - } else { - this._c += x; - } - }; - SumObserver.prototype.error = function (e) { this._o.onError(e); }; - SumObserver.prototype.completed = function () { - this._o.onNext(this._c); - this._o.onCompleted(); - }; - - return SumObserver; - }(AbstractObserver)); - - /** - * Computes the sum of a sequence of values that are obtained by invoking an optional transform function on each element of the input sequence, else if not specified computes the sum on each item in the sequence. - * @param {Function} [selector] A transform function to apply to each element. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence containing a single element with the sum of the values in the source sequence. - */ - observableProto.sum = function (keySelector, thisArg) { - var fn = bindCallback(keySelector, thisArg, 3); - return new SumObservable(this, fn); - }; - - /** - * Returns the elements in an observable sequence with the minimum key value according to the specified comparer. - * @example - * var res = source.minBy(function (x) { return x.value; }); - * var res = source.minBy(function (x) { return x.value; }, function (x, y) { return x - y; }); - * @param {Function} keySelector Key selector function. - * @param {Function} [comparer] Comparer used to compare key values. - * @returns {Observable} An observable sequence containing a list of zero or more elements that have a minimum key value. - */ - observableProto.minBy = function (keySelector, comparer) { - comparer || (comparer = defaultSubComparer); - return new ExtremaByObservable(this, keySelector, function (x, y) { return comparer(x, y) * -1; }); - }; - - /** - * Returns the minimum element in an observable sequence according to the optional comparer else a default greater than less than check. - * @example - * var res = source.min(); - * var res = source.min(function (x, y) { return x.value - y.value; }); - * @param {Function} [comparer] Comparer used to compare elements. - * @returns {Observable} An observable sequence containing a single element with the minimum element in the source sequence. - */ - observableProto.min = function (comparer) { - return this.minBy(identity, comparer).map(firstOnly); - }; - - /** - * Returns the elements in an observable sequence with the maximum key value according to the specified comparer. - * @example - * var res = source.maxBy(function (x) { return x.value; }); - * var res = source.maxBy(function (x) { return x.value; }, function (x, y) { return x - y;; }); - * @param {Function} keySelector Key selector function. - * @param {Function} [comparer] Comparer used to compare key values. - * @returns {Observable} An observable sequence containing a list of zero or more elements that have a maximum key value. - */ - observableProto.maxBy = function (keySelector, comparer) { - comparer || (comparer = defaultSubComparer); - return new ExtremaByObservable(this, keySelector, comparer); - }; - - /** - * Returns the maximum value in an observable sequence according to the specified comparer. - * @example - * var res = source.max(); - * var res = source.max(function (x, y) { return x.value - y.value; }); - * @param {Function} [comparer] Comparer used to compare elements. - * @returns {Observable} An observable sequence containing a single element with the maximum element in the source sequence. - */ - observableProto.max = function (comparer) { - return this.maxBy(identity, comparer).map(firstOnly); - }; - - var AverageObservable = (function (__super__) { - inherits(AverageObservable, __super__); - function AverageObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - AverageObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new AverageObserver(o, this._fn, this.source)); - }; - - return AverageObservable; - }(ObservableBase)); - - var AverageObserver = (function(__super__) { - inherits(AverageObserver, __super__); - function AverageObserver(o, fn, s) { - this._o = o; - this._fn = fn; - this._s = s; - this._c = 0; - this._t = 0; - __super__.call(this); - } - - AverageObserver.prototype.next = function (x) { - if(this._fn) { - var r = tryCatch(this._fn)(x, this._c++, this._s); - if (r === errorObj) { return this._o.onError(r.e); } - this._t += r; - } else { - this._c++; - this._t += x; - } - }; - AverageObserver.prototype.error = function (e) { this._o.onError(e); }; - AverageObserver.prototype.completed = function () { - if (this._c === 0) { return this._o.onError(new EmptyError()); } - this._o.onNext(this._t / this._c); - this._o.onCompleted(); - }; - - return AverageObserver; - }(AbstractObserver)); - - /** - * Computes the average of an observable sequence of values that are in the sequence or obtained by invoking a transform function on each element of the input sequence if present. - * @param {Function} [selector] A transform function to apply to each element. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence containing a single element with the average of the sequence of values. - */ - observableProto.average = function (keySelector, thisArg) { - var source = this, fn; - if (isFunction(keySelector)) { - fn = bindCallback(keySelector, thisArg, 3); - } - return new AverageObservable(source, fn); - }; - - /** - * Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. - * - * @example - * var res = res = source.sequenceEqual([1,2,3]); - * var res = res = source.sequenceEqual([{ value: 42 }], function (x, y) { return x.value === y.value; }); - * 3 - res = source.sequenceEqual(Rx.Observable.returnValue(42)); - * 4 - res = source.sequenceEqual(Rx.Observable.returnValue({ value: 42 }), function (x, y) { return x.value === y.value; }); - * @param {Observable} second Second observable sequence or array to compare. - * @param {Function} [comparer] Comparer used to compare elements of both sequences. - * @returns {Observable} An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer. - */ - observableProto.sequenceEqual = function (second, comparer) { - var first = this; - comparer || (comparer = defaultComparer); - return new AnonymousObservable(function (o) { - var donel = false, doner = false, ql = [], qr = []; - var subscription1 = first.subscribe(function (x) { - if (qr.length > 0) { - var v = qr.shift(); - var equal = tryCatch(comparer)(v, x); - if (equal === errorObj) { return o.onError(equal.e); } - if (!equal) { - o.onNext(false); - o.onCompleted(); - } - } else if (doner) { - o.onNext(false); - o.onCompleted(); - } else { - ql.push(x); - } - }, function(e) { o.onError(e); }, function () { - donel = true; - if (ql.length === 0) { - if (qr.length > 0) { - o.onNext(false); - o.onCompleted(); - } else if (doner) { - o.onNext(true); - o.onCompleted(); - } - } - }); - - (isArrayLike(second) || isIterable(second)) && (second = observableFrom(second)); - isPromise(second) && (second = observableFromPromise(second)); - var subscription2 = second.subscribe(function (x) { - if (ql.length > 0) { - var v = ql.shift(); - var equal = tryCatch(comparer)(v, x); - if (equal === errorObj) { return o.onError(equal.e); } - if (!equal) { - o.onNext(false); - o.onCompleted(); - } - } else if (donel) { - o.onNext(false); - o.onCompleted(); - } else { - qr.push(x); - } - }, function(e) { o.onError(e); }, function () { - doner = true; - if (qr.length === 0) { - if (ql.length > 0) { - o.onNext(false); - o.onCompleted(); - } else if (donel) { - o.onNext(true); - o.onCompleted(); - } - } - }); - return new BinaryDisposable(subscription1, subscription2); - }, first); - }; - - var ElementAtObservable = (function (__super__) { - inherits(ElementAtObservable, __super__); - function ElementAtObservable(source, i, d) { - this.source = source; - this._i = i; - this._d = d; - __super__.call(this); - } - - ElementAtObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new ElementAtObserver(o, this._i, this._d)); - }; - - return ElementAtObservable; - }(ObservableBase)); - - var ElementAtObserver = (function (__super__) { - inherits(ElementAtObserver, __super__); - - function ElementAtObserver(o, i, d) { - this._o = o; - this._i = i; - this._d = d; - __super__.call(this); - } - - ElementAtObserver.prototype.next = function (x) { - if (this._i-- === 0) { - this._o.onNext(x); - this._o.onCompleted(); - } - }; - ElementAtObserver.prototype.error = function (e) { this._o.onError(e); }; - ElementAtObserver.prototype.completed = function () { - if (this._d === undefined) { - this._o.onError(new ArgumentOutOfRangeError()); - } else { - this._o.onNext(this._d); - this._o.onCompleted(); - } - }; - - return ElementAtObserver; - }(AbstractObserver)); - - /** - * Returns the element at a specified index in a sequence or default value if not found. - * @param {Number} index The zero-based index of the element to retrieve. - * @param {Any} [defaultValue] The default value to use if elementAt does not find a value. - * @returns {Observable} An observable sequence that produces the element at the specified position in the source sequence. - */ - observableProto.elementAt = function (index, defaultValue) { - if (index < 0) { throw new ArgumentOutOfRangeError(); } - return new ElementAtObservable(this, index, defaultValue); - }; - - var SingleObserver = (function(__super__) { - inherits(SingleObserver, __super__); - function SingleObserver(o, obj, s) { - this._o = o; - this._obj = obj; - this._s = s; - this._i = 0; - this._hv = false; - this._v = null; - __super__.call(this); - } - - SingleObserver.prototype.next = function (x) { - var shouldYield = false; - if (this._obj.predicate) { - var res = tryCatch(this._obj.predicate)(x, this._i++, this._s); - if (res === errorObj) { return this._o.onError(res.e); } - Boolean(res) && (shouldYield = true); - } else if (!this._obj.predicate) { - shouldYield = true; - } - if (shouldYield) { - if (this._hv) { - return this._o.onError(new Error('Sequence contains more than one matching element')); - } - this._hv = true; - this._v = x; - } - }; - SingleObserver.prototype.error = function (e) { this._o.onError(e); }; - SingleObserver.prototype.completed = function () { - if (this._hv) { - this._o.onNext(this._v); - this._o.onCompleted(); - } - else if (this._obj.defaultValue === undefined) { - this._o.onError(new EmptyError()); - } else { - this._o.onNext(this._obj.defaultValue); - this._o.onCompleted(); - } - }; - - return SingleObserver; - }(AbstractObserver)); - - - /** - * Returns the only element of an observable sequence that satisfies the condition in the optional predicate, and reports an exception if there is not exactly one element in the observable sequence. - * @returns {Observable} Sequence containing the single element in the observable sequence that satisfies the condition in the predicate. - */ - observableProto.single = function (predicate, thisArg) { - var obj = {}, source = this; - if (typeof arguments[0] === 'object') { - obj = arguments[0]; - } else { - obj = { - predicate: arguments[0], - thisArg: arguments[1], - defaultValue: arguments[2] - }; - } - if (isFunction (obj.predicate)) { - var fn = obj.predicate; - obj.predicate = bindCallback(fn, obj.thisArg, 3); - } - return new AnonymousObservable(function (o) { - return source.subscribe(new SingleObserver(o, obj, source)); - }, source); - }; - - var FirstObservable = (function (__super__) { - inherits(FirstObservable, __super__); - function FirstObservable(source, obj) { - this.source = source; - this._obj = obj; - __super__.call(this); - } - - FirstObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new FirstObserver(o, this._obj, this.source)); - }; - - return FirstObservable; - }(ObservableBase)); - - var FirstObserver = (function(__super__) { - inherits(FirstObserver, __super__); - function FirstObserver(o, obj, s) { - this._o = o; - this._obj = obj; - this._s = s; - this._i = 0; - __super__.call(this); - } - - FirstObserver.prototype.next = function (x) { - if (this._obj.predicate) { - var res = tryCatch(this._obj.predicate)(x, this._i++, this._s); - if (res === errorObj) { return this._o.onError(res.e); } - if (Boolean(res)) { - this._o.onNext(x); - this._o.onCompleted(); - } - } else if (!this._obj.predicate) { - this._o.onNext(x); - this._o.onCompleted(); - } - }; - FirstObserver.prototype.error = function (e) { this._o.onError(e); }; - FirstObserver.prototype.completed = function () { - if (this._obj.defaultValue === undefined) { - this._o.onError(new EmptyError()); - } else { - this._o.onNext(this._obj.defaultValue); - this._o.onCompleted(); - } - }; - - return FirstObserver; - }(AbstractObserver)); - - /** - * Returns the first element of an observable sequence that satisfies the condition in the predicate if present else the first item in the sequence. - * @returns {Observable} Sequence containing the first element in the observable sequence that satisfies the condition in the predicate if provided, else the first item in the sequence. - */ - observableProto.first = function () { - var obj = {}, source = this; - if (typeof arguments[0] === 'object') { - obj = arguments[0]; - } else { - obj = { - predicate: arguments[0], - thisArg: arguments[1], - defaultValue: arguments[2] - }; - } - if (isFunction (obj.predicate)) { - var fn = obj.predicate; - obj.predicate = bindCallback(fn, obj.thisArg, 3); - } - return new FirstObservable(this, obj); - }; - - var LastObservable = (function (__super__) { - inherits(LastObservable, __super__); - function LastObservable(source, obj) { - this.source = source; - this._obj = obj; - __super__.call(this); - } - - LastObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new LastObserver(o, this._obj, this.source)); - }; - - return LastObservable; - }(ObservableBase)); - - var LastObserver = (function(__super__) { - inherits(LastObserver, __super__); - function LastObserver(o, obj, s) { - this._o = o; - this._obj = obj; - this._s = s; - this._i = 0; - this._hv = false; - this._v = null; - __super__.call(this); - } - - LastObserver.prototype.next = function (x) { - var shouldYield = false; - if (this._obj.predicate) { - var res = tryCatch(this._obj.predicate)(x, this._i++, this._s); - if (res === errorObj) { return this._o.onError(res.e); } - Boolean(res) && (shouldYield = true); - } else if (!this._obj.predicate) { - shouldYield = true; - } - if (shouldYield) { - this._hv = true; - this._v = x; - } - }; - LastObserver.prototype.error = function (e) { this._o.onError(e); }; - LastObserver.prototype.completed = function () { - if (this._hv) { - this._o.onNext(this._v); - this._o.onCompleted(); - } - else if (this._obj.defaultValue === undefined) { - this._o.onError(new EmptyError()); - } else { - this._o.onNext(this._obj.defaultValue); - this._o.onCompleted(); - } - }; - - return LastObserver; - }(AbstractObserver)); - - /** - * Returns the last element of an observable sequence that satisfies the condition in the predicate if specified, else the last element. - * @returns {Observable} Sequence containing the last element in the observable sequence that satisfies the condition in the predicate. - */ - observableProto.last = function () { - var obj = {}, source = this; - if (typeof arguments[0] === 'object') { - obj = arguments[0]; - } else { - obj = { - predicate: arguments[0], - thisArg: arguments[1], - defaultValue: arguments[2] - }; - } - if (isFunction (obj.predicate)) { - var fn = obj.predicate; - obj.predicate = bindCallback(fn, obj.thisArg, 3); - } - return new LastObservable(this, obj); - }; - - var FindValueObserver = (function(__super__) { - inherits(FindValueObserver, __super__); - function FindValueObserver(observer, source, callback, yieldIndex) { - this._o = observer; - this._s = source; - this._cb = callback; - this._y = yieldIndex; - this._i = 0; - __super__.call(this); - } - - FindValueObserver.prototype.next = function (x) { - var shouldRun = tryCatch(this._cb)(x, this._i, this._s); - if (shouldRun === errorObj) { return this._o.onError(shouldRun.e); } - if (shouldRun) { - this._o.onNext(this._y ? this._i : x); - this._o.onCompleted(); - } else { - this._i++; - } - }; - - FindValueObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - FindValueObserver.prototype.completed = function () { - this._y && this._o.onNext(-1); - this._o.onCompleted(); - }; - - return FindValueObserver; - }(AbstractObserver)); - - function findValue (source, predicate, thisArg, yieldIndex) { - var callback = bindCallback(predicate, thisArg, 3); - return new AnonymousObservable(function (o) { - return source.subscribe(new FindValueObserver(o, source, callback, yieldIndex)); - }, source); - } - - /** - * Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Observable sequence. - * @param {Function} predicate The predicate that defines the conditions of the element to search for. - * @param {Any} [thisArg] Object to use as `this` when executing the predicate. - * @returns {Observable} An Observable sequence with the first element that matches the conditions defined by the specified predicate, if found; otherwise, undefined. - */ - observableProto.find = function (predicate, thisArg) { - return findValue(this, predicate, thisArg, false); - }; - - /** - * Searches for an element that matches the conditions defined by the specified predicate, and returns - * an Observable sequence with the zero-based index of the first occurrence within the entire Observable sequence. - * @param {Function} predicate The predicate that defines the conditions of the element to search for. - * @param {Any} [thisArg] Object to use as `this` when executing the predicate. - * @returns {Observable} An Observable sequence with the zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, –1. - */ - observableProto.findIndex = function (predicate, thisArg) { - return findValue(this, predicate, thisArg, true); - }; - - var ToSetObservable = (function (__super__) { - inherits(ToSetObservable, __super__); - function ToSetObservable(source) { - this.source = source; - __super__.call(this); - } - - ToSetObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new ToSetObserver(o)); - }; - - return ToSetObservable; - }(ObservableBase)); - - var ToSetObserver = (function (__super__) { - inherits(ToSetObserver, __super__); - function ToSetObserver(o) { - this._o = o; - this._s = new root.Set(); - __super__.call(this); - } - - ToSetObserver.prototype.next = function (x) { - this._s.add(x); - }; - - ToSetObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ToSetObserver.prototype.completed = function () { - this._o.onNext(this._s); - this._o.onCompleted(); - }; - - return ToSetObserver; - }(AbstractObserver)); - - /** - * Converts the observable sequence to a Set if it exists. - * @returns {Observable} An observable sequence with a single value of a Set containing the values from the observable sequence. - */ - observableProto.toSet = function () { - if (typeof root.Set === 'undefined') { throw new TypeError(); } - return new ToSetObservable(this); - }; - - var ToMapObservable = (function (__super__) { - inherits(ToMapObservable, __super__); - function ToMapObservable(source, k, e) { - this.source = source; - this._k = k; - this._e = e; - __super__.call(this); - } - - ToMapObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new ToMapObserver(o, this._k, this._e)); - }; - - return ToMapObservable; - }(ObservableBase)); - - var ToMapObserver = (function (__super__) { - inherits(ToMapObserver, __super__); - function ToMapObserver(o, k, e) { - this._o = o; - this._k = k; - this._e = e; - this._m = new root.Map(); - __super__.call(this); - } - - ToMapObserver.prototype.next = function (x) { - var key = tryCatch(this._k)(x); - if (key === errorObj) { return this._o.onError(key.e); } - var elem = x; - if (this._e) { - elem = tryCatch(this._e)(x); - if (elem === errorObj) { return this._o.onError(elem.e); } - } - - this._m.set(key, elem); - }; - - ToMapObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ToMapObserver.prototype.completed = function () { - this._o.onNext(this._m); - this._o.onCompleted(); - }; - - return ToMapObserver; - }(AbstractObserver)); - - /** - * Converts the observable sequence to a Map if it exists. - * @param {Function} keySelector A function which produces the key for the Map. - * @param {Function} [elementSelector] An optional function which produces the element for the Map. If not present, defaults to the value from the observable sequence. - * @returns {Observable} An observable sequence with a single value of a Map containing the values from the observable sequence. - */ - observableProto.toMap = function (keySelector, elementSelector) { - if (typeof root.Map === 'undefined') { throw new TypeError(); } - return new ToMapObservable(this, keySelector, elementSelector); - }; - - var SliceObservable = (function (__super__) { - inherits(SliceObservable, __super__); - function SliceObservable(source, b, e) { - this.source = source; - this._b = b; - this._e = e; - __super__.call(this); - } - - SliceObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SliceObserver(o, this._b, this._e)); - }; - - return SliceObservable; - }(ObservableBase)); - - var SliceObserver = (function (__super__) { - inherits(SliceObserver, __super__); - - function SliceObserver(o, b, e) { - this._o = o; - this._b = b; - this._e = e; - this._i = 0; - __super__.call(this); - } - - SliceObserver.prototype.next = function (x) { - if (this._i >= this._b) { - if (this._e === this._i) { - this._o.onCompleted(); - } else { - this._o.onNext(x); - } - } - this._i++; - }; - SliceObserver.prototype.error = function (e) { this._o.onError(e); }; - SliceObserver.prototype.completed = function () { this._o.onCompleted(); }; - - return SliceObserver; - }(AbstractObserver)); - - /* - * The slice() method returns a shallow copy of a portion of an Observable into a new Observable object. - * Unlike the array version, this does not support negative numbers for being or end. - * @param {Number} [begin] Zero-based index at which to begin extraction. If omitted, this will default to zero. - * @param {Number} [end] Zero-based index at which to end extraction. slice extracts up to but not including end. - * If omitted, this will emit the rest of the Observable object. - * @returns {Observable} A shallow copy of a portion of an Observable into a new Observable object. - */ - observableProto.slice = function (begin, end) { - var start = begin || 0; - if (start < 0) { throw new Rx.ArgumentOutOfRangeError(); } - if (typeof end === 'number' && end < start) { - throw new Rx.ArgumentOutOfRangeError(); - } - return new SliceObservable(this, start, end); - }; - - var LastIndexOfObservable = (function (__super__) { - inherits(LastIndexOfObservable, __super__); - function LastIndexOfObservable(source, e, n) { - this.source = source; - this._e = e; - this._n = n; - __super__.call(this); - } - - LastIndexOfObservable.prototype.subscribeCore = function (o) { - if (this._n < 0) { - o.onNext(-1); - o.onCompleted(); - return disposableEmpty; - } - - return this.source.subscribe(new LastIndexOfObserver(o, this._e, this._n)); - }; - - return LastIndexOfObservable; - }(ObservableBase)); - - var LastIndexOfObserver = (function (__super__) { - inherits(LastIndexOfObserver, __super__); - function LastIndexOfObserver(o, e, n) { - this._o = o; - this._e = e; - this._n = n; - this._v = 0; - this._hv = false; - this._i = 0; - __super__.call(this); - } - - LastIndexOfObserver.prototype.next = function (x) { - if (this._i >= this._n && x === this._e) { - this._hv = true; - this._v = this._i; - } - this._i++; - }; - LastIndexOfObserver.prototype.error = function (e) { this._o.onError(e); }; - LastIndexOfObserver.prototype.completed = function () { - if (this._hv) { - this._o.onNext(this._v); - } else { - this._o.onNext(-1); - } - this._o.onCompleted(); - }; - - return LastIndexOfObserver; - }(AbstractObserver)); - - /** - * Returns the last index at which a given element can be found in the observable sequence, or -1 if it is not present. - * @param {Any} searchElement Element to locate in the array. - * @param {Number} [fromIndex] The index to start the search. If not specified, defaults to 0. - * @returns {Observable} And observable sequence containing the last index at which a given element can be found in the observable sequence, or -1 if it is not present. - */ - observableProto.lastIndexOf = function(searchElement, fromIndex) { - var n = +fromIndex || 0; - Math.abs(n) === Infinity && (n = 0); - return new LastIndexOfObservable(this, searchElement, n); - }; - - return Rx; -})); diff --git a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map deleted file mode 100644 index 11fbf10e4b76d4..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rx.lite.aggregates.min.js","sources":["rx.lite.aggregates.js"],"names":["factory","checkGlobal","value","Object","objectTypes","function","object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","define","amd","Rx","require","call","exp","undefined","tryCatcherGen","tryCatchTarget","apply","arguments","e","errorObj","firstOnly","x","length","EmptyError","findValue","source","predicate","thisArg","yieldIndex","callback","bindCallback","AnonymousObservable","o","subscribe","FindValueObserver","Observable","observableProto","prototype","BinaryDisposable","AbstractObserver","internals","disposableEmpty","Disposable","empty","helpers","defaultComparer","identity","defaultSubComparer","isFunction","isPromise","isArrayLike","isIterable","inherits","observableFromPromise","fromPromise","observableFrom","from","ObservableBase","ArgumentOutOfRangeError","tryCatch","fn","TypeError","ExtremaByObservable","__super__","k","c","_k","_c","subscribeCore","ExtremaByObserver","_o","_v","_hv","_l","next","key","onError","comparison","push","error","completed","onNext","onCompleted","ReduceObservable","accumulator","hasSeed","seed","observer","ReduceObserver","parent","_p","_fn","_hs","_s","_ha","_a","_i","reduce","SomeObservable","SomeObserver","s","result","Boolean","some","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","every","IncludesObservable","elem","idx","n","Math","abs","Infinity","_elem","_n","IncludesObserver","comparer","a","b","isNaN","includes","searchElement","fromIndex","CountObservable","CountObserver","count","IndexOfObservable","_e","IndexOfObserver","indexOf","SumObservable","SumObserver","sum","keySelector","minBy","y","min","map","maxBy","max","AverageObservable","AverageObserver","_t","r","average","sequenceEqual","second","first","donel","doner","ql","qr","subscription1","v","shift","equal","subscription2","ElementAtObservable","i","d","_d","ElementAtObserver","elementAt","index","defaultValue","SingleObserver","obj","_obj","shouldYield","res","Error","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","_cb","_y","shouldRun","find","findIndex","ToSetObservable","ToSetObserver","Set","add","toSet","ToMapObservable","ToMapObserver","_m","Map","set","toMap","elementSelector","SliceObservable","_b","SliceObserver","slice","begin","end","start","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf"],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js b/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js deleted file mode 100644 index 649e28972d3a61..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite-aggregates/rx.lite.aggregates.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}var c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType?exports:null,e=c[typeof module]&&module&&!module.nodeType?module:null,f=b(d&&e&&"object"==typeof global&&global),g=b(c[typeof self]&&self),h=b(c[typeof window]&&window),i=(e&&e.exports===d?d:null,b(c[typeof this]&&this)),j=f||h!==(i&&i.window)&&h||g||i||Function("return this")();"function"==typeof define&&define.amd?define(["./rx.lite"],function(b,c){return a(j,c,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(j,module.exports,require("rx-lite")):j.Rx=a(j,{},j.Rx)}).call(this,function(a,b,c,d){function e(a){return function(){try{return a.apply(this,arguments)}catch(b){return C.e=b,C}}}function f(a){if(0===a.length)throw new z;return a[0]}function g(a,b,c,d){var e=y(b,c,3);return new k(function(b){return a.subscribe(new da(b,a,e,d))},a)}var h=c.Observable,i=h.prototype,j=c.BinaryDisposable,k=c.AnonymousObservable,l=c.internals.AbstractObserver,m=c.Disposable.empty,n=c.helpers,o=n.defaultComparer,p=n.identity,q=n.defaultSubComparer,r=n.isFunction,s=n.isPromise,t=n.isArrayLike,u=n.isIterable,v=c.internals.inherits,w=h.fromPromise,x=h.from,y=c.internals.bindCallback,z=c.EmptyError,A=c.ObservableBase,B=c.ArgumentOutOfRangeError,C={e:{}},D=c.internals.tryCatch=function(a){if(!r(a))throw new TypeError("fn must be a function");return e(a)},E=function(a){function b(b,c,d){this.source=b,this._k=c,this._c=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new F(a,this._k,this._c))},b}(A),F=function(a){function b(b,c,d){this._o=b,this._k=c,this._c=d,this._v=null,this._hv=!1,this._l=[],a.call(this)}return v(b,a),b.prototype.next=function(a){var b=D(this._k)(a);if(b===C)return this._o.onError(b.e);var c=0;if(this._hv){if(c=D(this._c)(b,this._v),c===C)return this._o.onError(c.e)}else this._hv=!0,this._v=b;c>0&&(this._v=b,this._l=[]),c>=0&&this._l.push(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._l),this._o.onCompleted()},b}(l),G=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new H(a,this))},b}(A),H=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=D(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?D(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===C?this._o.onError(this._a.e):void this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv&&this._o.onNext(this._a),!this._hv&&this._hs&&this._o.onNext(this._s),!this._hv&&!this._hs&&this._o.onError(new z),this._o.onCompleted()},b}(l);i.reduce=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new G(this,c,b,a)};var I=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new J(a,this._fn,this.source))},b}(A),J=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){var b=D(this._fn)(a,this._i++,this._s);return b===C?this._o.onError(b.e):void(Boolean(b)&&(this._o.onNext(!0),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(l);i.some=function(a,b){var c=y(a,b,3);return new I(this,c)};var K=function(a){function b(b){this.source=b,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a))},b}(A),L=function(a){function b(b){this._o=b,a.call(this)}return v(b,a),b.prototype.next=function(){this._o.onNext(!1),this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(l);i.isEmpty=function(){return new K(this)};var M=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this._fn,this.source))},b}(A),N=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){var b=D(this._fn)(a,this._i++,this._s);return b===C?this._o.onError(b.e):void(Boolean(b)||(this._o.onNext(!1),this._o.onCompleted()))},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},b}(l);i.every=function(a,b){var c=y(a,b,3);return new M(this,c)};var O=function(a){function b(b,c,d){var e=+d||0;Math.abs(e)===1/0&&(e=0),this.source=b,this._elem=c,this._n=e,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(!1),a.onCompleted(),m):this.source.subscribe(new P(a,this._elem,this._n))},b}(A),P=function(a){function b(b,c,d){this._o=b,this._elem=c,this._n=d,this._i=0,a.call(this)}function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}return v(b,a),b.prototype.next=function(a){this._i++>=this._n&&c(a,this._elem)&&(this._o.onNext(!0),this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},b}(l);i.includes=function(a,b){return new O(this,a,b)};var Q=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new R(a,this._fn,this.source))},b}(A),R=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return v(b,a),b.prototype.next=function(a){if(this._fn){var b=D(this._fn)(a,this._i++,this._s);if(b===C)return this._o.onError(b.e);Boolean(b)&&this._c++}else this._c++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(l);i.count=function(a,b){var c=y(a,b,3);return new Q(this,c)};var S=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),m):this.source.subscribe(new T(a,this._e,this._n))},b}(A),T=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._o.onNext(this._i),this._o.onCompleted()),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(-1),this._o.onCompleted()},b}(l);i.indexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new S(this,a,c)};var U=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new V(a,this._fn,this.source))},b}(A),V=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._i=0,this._c=0,a.call(this)}return v(b,a),b.prototype.next=function(a){if(this._fn){var b=D(this._fn)(a,this._i++,this._s);if(b===C)return this._o.onError(b.e);this._c+=b}else this._c+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},b}(l);i.sum=function(a,b){var c=y(a,b,3);return new U(this,c)},i.minBy=function(a,b){return b||(b=q),new E(this,a,function(a,c){return-1*b(a,c)})},i.min=function(a){return this.minBy(p,a).map(f)},i.maxBy=function(a,b){return b||(b=q),new E(this,a,b)},i.max=function(a){return this.maxBy(p,a).map(f)};var W=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new X(a,this._fn,this.source))},b}(A),X=function(a){function b(b,c,d){this._o=b,this._fn=c,this._s=d,this._c=0,this._t=0,a.call(this)}return v(b,a),b.prototype.next=function(a){if(this._fn){var b=D(this._fn)(a,this._c++,this._s);if(b===C)return this._o.onError(b.e);this._t+=b}else this._c++,this._t+=a},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){return 0===this._c?this._o.onError(new z):(this._o.onNext(this._t/this._c),void this._o.onCompleted())},b}(l);i.average=function(a,b){var c,d=this;return r(a)&&(c=y(a,b,3)),new W(d,c)},i.sequenceEqual=function(a,b){var c=this;return b||(b=o),new k(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){if(h.length>0){var c=h.shift(),e=D(b)(c,a);if(e===C)return d.onError(e.e);e||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(t(a)||u(a))&&(a=x(a)),s(a)&&(a=w(a));var k=a.subscribe(function(a){if(g.length>0){var c=g.shift(),f=D(b)(c,a);if(f===C)return d.onError(f.e);f||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new j(i,k)},c)};var Y=function(a){function b(b,c,d){this.source=b,this._i=c,this._d=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Z(a,this._i,this._d))},b}(A),Z=function(a){function b(b,c,d){this._o=b,this._i=c,this._d=d,a.call(this)}return v(b,a),b.prototype.next=function(a){0===this._i--&&(this._o.onNext(a),this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._d===d?this._o.onError(new B):(this._o.onNext(this._d),this._o.onCompleted())},b}(l);i.elementAt=function(a,b){if(0>a)throw new B;return new Y(this,a,b)};var $=function(a){function b(b,c,d){this._o=b,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,a.call(this)}return v(b,a),b.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=D(this._obj.predicate)(a,this._i++,this._s);if(c===C)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);if(b){if(this._hv)return this._o.onError(new Error("Sequence contains more than one matching element"));this._hv=!0,this._v=a}},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===d?this._o.onError(new z):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},b}(l);i.single=function(a,b){var c={},d=this;if(c="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},r(c.predicate)){var e=c.predicate;c.predicate=y(e,c.thisArg,3)}return new k(function(a){return d.subscribe(new $(a,c,d))},d)};var _=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new aa(a,this._obj,this.source))},b}(A),aa=function(a){function b(b,c,d){this._o=b,this._obj=c,this._s=d,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){if(this._obj.predicate){var b=D(this._obj.predicate)(a,this._i++,this._s);if(b===C)return this._o.onError(b.e);Boolean(b)&&(this._o.onNext(a),this._o.onCompleted())}else this._obj.predicate||(this._o.onNext(a),this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._obj.defaultValue===d?this._o.onError(new z):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},b}(l);i.first=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},r(a.predicate)){var b=a.predicate;a.predicate=y(b,a.thisArg,3)}return new _(this,a)};var ba=function(a){function b(b,c){this.source=b,this._obj=c,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ca(a,this._obj,this.source))},b}(A),ca=function(a){function b(b,c,d){this._o=b,this._obj=c,this._s=d,this._i=0,this._hv=!1,this._v=null,a.call(this)}return v(b,a),b.prototype.next=function(a){var b=!1;if(this._obj.predicate){var c=D(this._obj.predicate)(a,this._i++,this._s);if(c===C)return this._o.onError(c.e);Boolean(c)&&(b=!0)}else this._obj.predicate||(b=!0);b&&(this._hv=!0,this._v=a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===d?this._o.onError(new z):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},b}(l);i.last=function(){var a={};if(a="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]},r(a.predicate)){var b=a.predicate;a.predicate=y(b,a.thisArg,3)}return new ba(this,a)};var da=function(a){function b(b,c,d,e){this._o=b,this._s=c,this._cb=d,this._y=e,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){var b=D(this._cb)(a,this._i,this._s);return b===C?this._o.onError(b.e):void(b?(this._o.onNext(this._y?this._i:a),this._o.onCompleted()):this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._y&&this._o.onNext(-1),this._o.onCompleted()},b}(l);i.find=function(a,b){return g(this,a,b,!1)},i.findIndex=function(a,b){return g(this,a,b,!0)};var ea=function(a){function b(b){this.source=b,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new fa(a))},b}(A),fa=function(b){function c(c){this._o=c,this._s=new a.Set,b.call(this)}return v(c,b),c.prototype.next=function(a){this._s.add(a)},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onNext(this._s),this._o.onCompleted()},c}(l);i.toSet=function(){if("undefined"==typeof a.Set)throw new TypeError;return new ea(this)};var ga=function(a){function b(b,c,d){this.source=b,this._k=c,this._e=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ha(a,this._k,this._e))},b}(A),ha=function(b){function c(c,d,e){this._o=c,this._k=d,this._e=e,this._m=new a.Map,b.call(this)}return v(c,b),c.prototype.next=function(a){var b=D(this._k)(a);if(b===C)return this._o.onError(b.e);var c=a;return this._e&&(c=D(this._e)(a),c===C)?this._o.onError(c.e):void this._m.set(b,c)},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onNext(this._m),this._o.onCompleted()},c}(l);i.toMap=function(b,c){if("undefined"==typeof a.Map)throw new TypeError;return new ga(this,b,c)};var ia=function(a){function b(b,c,d){this.source=b,this._b=c,this._e=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new ja(a,this._b,this._e))},b}(A),ja=function(a){function b(b,c,d){this._o=b,this._b=c,this._e=d,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){this._i>=this._b&&(this._e===this._i?this._o.onCompleted():this._o.onNext(a)),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(l);i.slice=function(a,b){var d=a||0;if(0>d)throw new c.ArgumentOutOfRangeError;if("number"==typeof b&&d>b)throw new c.ArgumentOutOfRangeError;return new ia(this,d,b)};var ka=function(a){function b(b,c,d){this.source=b,this._e=c,this._n=d,a.call(this)}return v(b,a),b.prototype.subscribeCore=function(a){return this._n<0?(a.onNext(-1),a.onCompleted(),m):this.source.subscribe(new la(a,this._e,this._n))},b}(A),la=function(a){function b(b,c,d){this._o=b,this._e=c,this._n=d,this._v=0,this._hv=!1,this._i=0,a.call(this)}return v(b,a),b.prototype.next=function(a){this._i>=this._n&&a===this._e&&(this._hv=!0,this._v=this._i),this._i++},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._hv?this._o.onNext(this._v):this._o.onNext(-1),this._o.onCompleted()},b}(l);return i.lastIndexOf=function(a,b){var c=+b||0;return Math.abs(c)===1/0&&(c=0),new ka(this,a,c)},c}); -//# sourceMappingURL=rx.lite.aggregates.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rx-lite/package.json b/tools/node_modules/eslint/node_modules/rx-lite/package.json deleted file mode 100644 index dc9feadb00cca0..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_from": "rx-lite@^4.0.8", - "_id": "rx-lite@4.0.8", - "_inBundle": false, - "_integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "_location": "/eslint/rx-lite", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "rx-lite@^4.0.8", - "name": "rx-lite", - "escapedName": "rx-lite", - "rawSpec": "^4.0.8", - "saveSpec": null, - "fetchSpec": "^4.0.8" - }, - "_requiredBy": [ - "/eslint/inquirer", - "/eslint/rx-lite-aggregates" - ], - "_resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "_shasum": "0b1e11af8bc44836f04a6407e92da42467b79444", - "_spec": "rx-lite@^4.0.8", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer", - "author": { - "name": "Cloud Programmability Team", - "url": "https://github.com/Reactive-Extensions/RxJS/blob/master/authors.txt" - }, - "browser": { - "index.js": "rx.lite.js" - }, - "bugs": { - "url": "https://github.com/Reactive-Extensions/RxJS/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Lightweight library for composing asynchronous and event-based operations in JavaScript", - "devDependencies": {}, - "homepage": "https://github.com/Reactive-Extensions/RxJS", - "jam": { - "main": "rx.lite.js" - }, - "keywords": [ - "React", - "Reactive", - "Events", - "Rx", - "RxJS" - ], - "licenses": [ - { - "type": "Apache License, Version 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - } - ], - "main": "rx.lite.js", - "name": "rx-lite", - "repository": { - "type": "git", - "url": "git+https://github.com/Reactive-Extensions/RxJS.git" - }, - "title": "Reactive Extensions for JavaScript (RxJS) Lite", - "version": "4.0.8" -} diff --git a/tools/node_modules/eslint/node_modules/rx-lite/readme.md b/tools/node_modules/eslint/node_modules/rx-lite/readme.md deleted file mode 100644 index 441154574870dc..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite/readme.md +++ /dev/null @@ -1,173 +0,0 @@ -# RxJS Lite Module # - -The Reactive Extensions for JavaScript Lite version is a lightweight version of the Reactive Extensions for JavaScript which covers most of the day to day operators you might use all in a single library. Functionality such as bridging to events, promises, callbacks, Node.js-style callbacks, time-based operations and more are built right in. This comes with `rx.lite.js` which is for use in modern development environments such as > IE9 and server-side environments such as Node.js. - -## Getting Started - -There are a number of ways to get started with RxJS. - -### Installing with [NPM](https://npmjs.org/) - -```bash` -$ npm install rx-lite -$ npm install -g rx-lite -``` - -### Using with Node.js and Ringo.js - -```js -var Rx = require('rx-lite'); -``` - -### In a Browser: - -```html - - -``` - -## Included Observable Operators ## - -### `Observable Methods` -- [`catch | catchException`](../../doc/api/core/operators/catch.md) -- [`concat`](../../doc/api/core/operators/concat.md) -- [`create | createWithDisposable`](../../doc/api/core/operators/create.md) -- [`defer`](../../doc/api/core/operators/defer.md) -- [`empty`](../../doc/api/core/operators/empty.md) -- [`from`](../../doc/api/core/operators/from.md) -- [`fromArray`](../../doc/api/core/operators/fromarray.md) -- [`fromCallback`](../../doc/api/core/operators/fromcallback.md) -- [`fromEvent`](../../doc/api/core/operators/fromevent.md) -- [`fromEventPattern`](../../doc/api/core/operators/fromeventpattern.md) -- [`fromNodeCallback`](../../doc/api/core/operators/fromnodecallback.md) -- [`fromPromise`](../../doc/api/core/operators/frompromise.md) -- [`interval`](../../doc/api/core/operators/interval.md) -- [`just`](../../doc/api/core/operators/return.md) -- [`merge`](../../doc/api/core/operators/merge.md) -- [`mergeDelayError`](../../doc/api/core/operators/mergedelayerror.md) -- [`never`](../../doc/api/core/operators/never.md) -- [`of`](../../doc/api/core/operators/of.md) -- [`ofWithScheduler`](../../doc/api/core/operators/ofwithscheduler.md) -- [`range`](../../doc/api/core/operators/range.md) -- [`repeat`](../../doc/api/core/operators/repeat.md) -- [`return | returnValue`](../../doc/api/core/operators/return.md) -- [`throw | throwError | throwException`](../../doc/api/core/operators/throw.md) -- [`timer`](../../doc/api/core/operators/timer.md) -- [`zip`](../../doc/api/core/operators/zip.md) -- [`zipArray`](../../doc/api/core/operators/ziparray.md) - -### `Observable Instance Methods` -- [`asObservable`](../../doc/api/core/operators/asobservable.md) -- [`catch | catchException`](../../doc/api/core/operators/catchproto.md) -- [`combineLatest`](../../doc/api/core/operators/combinelatest.md) -- [`concat`](../../doc/api/core/operators/concatproto.md) -- [`concatMap`](../../doc/api/core/operators/concatmap.md) -- [`connect`](../../doc/api/core/operators/connect.md) -- [`debounce`](../../doc/api/core/operators/debounce.md) -- [`defaultIfEmpty`](../../doc/api/core/operators/defaultifempty.md) -- [`delay`](../../doc/api/core/operators/delay.md) -- [`dematerialize`](../../doc/api/core/operators/dematerialize.md) -- [`distinctUntilChanged`](../../doc/api/core/operators/distinctuntilchanged.md) -- [`do | doAction`](../../doc/api/core/operators/do.md) -- [`doOnNext`](../../doc/api/core/operators/doonnext.md) -- [`doOnError`](../../doc/api/core/operators/doonerror.md) -- [`doOnCompleted`](../../doc/api/core/operators/dooncompleted.md) -- [`filter`](../../doc/api/core/operators/where.md) -- [`finally | finallyAction`](../../doc/api/core/operators/finally.md) -- [`flatMap`](../../doc/api/core/operators/selectmany.md) -- [`flatMapLatest`](../../doc/api/core/operators/flatmaplatest.md) -- [`ignoreElements`](../../doc/api/core/operators/ignoreelements.md) -- [`map`](../../doc/api/core/operators/select.md) -- [`merge`](../../doc/api/core/operators/mergeproto.md) -- [`mergeObservable | mergeAll`](../../doc/api/core/operators/mergeall.md) -- [`multicast`](../../doc/api/core/operators/multicast.md) -- [`publish`](../../doc/api/core/operators/publish.md) -- [`publishLast`](../../doc/api/core/operators/publishlast.md) -- [`publishValue`](../../doc/api/core/operators/publishvalue.md) -- [`refCount`](../../doc/api/core/operators/refcount.md) -- [`repeat`](../../doc/api/core/operators/repeat.md) -- [`replay`](../../doc/api/core/operators/replay.md) -- [`retry`](../../doc/api/core/operators/retry.md) -- [`retryWhen`](../../doc/api/core/operators/retrywhen.md) -- [`sample`](../../doc/api/core/operators/sample.md) -- [`scan`](../../doc/api/core/operators/scan.md) -- [`select`](../../doc/api/core/operators/select.md) -- [`selectConcat`](../../doc/api/core/operators/concatmap.md) -- [`selectMany`](../../doc/api/core/operators/selectmany.md) -- [`selectSwitch`](../../doc/api/core/operators/flatmaplatest.md) -- [`singleInstance`](../../doc/api/core/operators/singleinstance.md) -- [`skip`](../../doc/api/core/operators/skip.md) -- [`skipLast`](../../doc/api/core/operators/skiplast.md) -- [`skipUntil`](../../doc/api/core/operators/skipuntil.md) -- [`skipWhile`](../../doc/api/core/operators/skipwhile.md) -- [`startWith`](../../doc/api/core/operators/startwith.md) -- [`subscribe | forEach`](../../doc/api/core/operators/subscribe.md) -- [`subscribeOnNext`](../../doc/api/core/operators/subscribeonnext.md) -- [`subscribeOnError`](../../doc/api/core/operators/subscribeonerror.md) -- [`subscribeOnCompleted`](../../doc/api/core/operators/subscribeoncompleted.md) -- [`switch | switchLatest`](../../doc/api/core/operators/switch.md) -- [`take`](../../doc/api/core/operators/take.md) -- [`takeLast`](../../doc/api/core/operators/takelast.md) -- [`takeUntil`](../../doc/api/core/operators/takeuntil.md) -- [`takeWhile`](../../doc/api/core/operators/takewhile.md) -- [`tap`](../../doc/api/core/operators/do.md) -- [`tapOnNext`](../../doc/api/core/operators/doonnext.md) -- [`tapOnError`](../../doc/api/core/operators/doonerror.md) -- [`tapOnCompleted`](../../doc/api/core/operators/dooncompleted.md) -- [`throttle`](../../doc/api/core/operators/throttle.md) -- [`timeout`](../../doc/api/core/operators/timeout.md) -- [`timestamp`](../../doc/api/core/operators/timestamp.md) -- [`toArray`](../../doc/api/core/operators/toarray.md) -- [`transduce`](../../doc/api/core/operators/transduce.md) -- [`where`](../../doc/api/core/operators/where.md) -- [`withLatestFrom`](../../doc/api/core/operators/withlatestfrom.md) -- [`zip`](../../doc/api/core/operators/zipproto.md) - -## Included Classes ## - -### Core Objects -- [`Rx.Observer`](../../doc/api/core/observer.md) -- [`Rx.Notification`](../../doc/api/core/notification.md) - -### Subjects - -- [`Rx.AsyncSubject`](../../doc/api/subjects/asyncsubject.md) -- [`Rx.BehaviorSubject`](../../doc/api/subjects/behaviorsubject.md) -- [`Rx.ReplaySubject`](../../doc/api/subjects/replaysubject.md) -- [`Rx.Subject`](../../doc/api/subjects/subject.md) - -### Schedulers - -- [`Rx.Scheduler`](../../doc/api/schedulers/scheduler.md) - -### Disposables - -- [`Rx.CompositeDisposable`](../../doc/api/disposables/compositedisposable.md) -- [`Rx.Disposable`](../../doc/api/disposables/disposable.md) -- [`Rx.RefCountDisposable`](../../doc/api/disposables/refcountdisposable.md) -- [`Rx.SerialDisposable`](../../doc/api/disposables/serialdisposable.md) -- [`Rx.SingleAssignmentDisposable`](../../doc/api/disposables/singleassignmentdisposable.md) - -## Contributing ## - -There are lots of ways to contribute to the project, and we appreciate our [contributors](https://github.com/Reactive-Extensions/RxJS/wiki/Contributors). If you wish to contribute, check out our [style guide]((https://github.com/Reactive-Extensions/RxJS/tree/master/doc/contributing)). - -You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submit bugs and help us verify fixes as they are checked in, as well as submit code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the Rx Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source. - -## License ## - -Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. -Microsoft Open Technologies would like to thank its contributors, a list -of whom are at https://github.com/Reactive-Extensions/RxJS/wiki/Contributors. - -Licensed under the Apache License, Version 2.0 (the "License"); you -may not use this file except in compliance with the License. You may -obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied. See the License for the specific language governing permissions -and limitations under the License. diff --git a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.js b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.js deleted file mode 100644 index 0603c30e2f551c..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.js +++ /dev/null @@ -1,7054 +0,0 @@ -// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information. - -;(function (undefined) { - - var objectTypes = { - 'function': true, - 'object': true - }; - - function checkGlobal(value) { - return (value && value.Object === Object) ? value : null; - } - - var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null; - var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null; - var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global); - var freeSelf = checkGlobal(objectTypes[typeof self] && self); - var freeWindow = checkGlobal(objectTypes[typeof window] && window); - var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null; - var thisGlobal = checkGlobal(objectTypes[typeof this] && this); - var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')(); - - var Rx = { - internals: {}, - config: { - Promise: root.Promise - }, - helpers: { } - }; - - // Defaults - var noop = Rx.helpers.noop = function () { }, - identity = Rx.helpers.identity = function (x) { return x; }, - defaultNow = Rx.helpers.defaultNow = Date.now, - defaultComparer = Rx.helpers.defaultComparer = function (x, y) { return isEqual(x, y); }, - defaultSubComparer = Rx.helpers.defaultSubComparer = function (x, y) { return x > y ? 1 : (x < y ? -1 : 0); }, - defaultKeySerializer = Rx.helpers.defaultKeySerializer = function (x) { return x.toString(); }, - defaultError = Rx.helpers.defaultError = function (err) { throw err; }, - isPromise = Rx.helpers.isPromise = function (p) { return !!p && typeof p.subscribe !== 'function' && typeof p.then === 'function'; }, - isFunction = Rx.helpers.isFunction = (function () { - - var isFn = function (value) { - return typeof value == 'function' || false; - }; - - // fallback for older versions of Chrome and Safari - if (isFn(/x/)) { - isFn = function(value) { - return typeof value == 'function' && toString.call(value) == '[object Function]'; - }; - } - - return isFn; - }()); - - function cloneArray(arr) { - var len = arr.length, a = new Array(len); - for(var i = 0; i < len; i++) { a[i] = arr[i]; } - return a; - } - - var errorObj = {e: {}}; - - function tryCatcherGen(tryCatchTarget) { - return function tryCatcher() { - try { - return tryCatchTarget.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } - }; - } - - var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) { - if (!isFunction(fn)) { throw new TypeError('fn must be a function'); } - return tryCatcherGen(fn); - }; - - function thrower(e) { - throw e; - } - - Rx.config.longStackSupport = false; - var hasStacks = false, stacks = tryCatch(function () { throw new Error(); })(); - hasStacks = !!stacks.e && !!stacks.e.stack; - - // All code after this point will be filtered from stack traces reported by RxJS - var rStartingLine = captureLine(), rFileName; - - var STACK_JUMP_SEPARATOR = 'From previous event:'; - - function makeStackTraceLong(error, observable) { - // If possible, transform the error stack trace by removing Node and RxJS - // cruft, then concatenating with the stack trace of `observable`. - if (hasStacks && - observable.stack && - typeof error === 'object' && - error !== null && - error.stack && - error.stack.indexOf(STACK_JUMP_SEPARATOR) === -1 - ) { - var stacks = []; - for (var o = observable; !!o; o = o.source) { - if (o.stack) { - stacks.unshift(o.stack); - } - } - stacks.unshift(error.stack); - - var concatedStacks = stacks.join('\n' + STACK_JUMP_SEPARATOR + '\n'); - error.stack = filterStackString(concatedStacks); - } - } - - function filterStackString(stackString) { - var lines = stackString.split('\n'), desiredLines = []; - for (var i = 0, len = lines.length; i < len; i++) { - var line = lines[i]; - - if (!isInternalFrame(line) && !isNodeFrame(line) && line) { - desiredLines.push(line); - } - } - return desiredLines.join('\n'); - } - - function isInternalFrame(stackLine) { - var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine); - if (!fileNameAndLineNumber) { - return false; - } - var fileName = fileNameAndLineNumber[0], lineNumber = fileNameAndLineNumber[1]; - - return fileName === rFileName && - lineNumber >= rStartingLine && - lineNumber <= rEndingLine; - } - - function isNodeFrame(stackLine) { - return stackLine.indexOf('(module.js:') !== -1 || - stackLine.indexOf('(node.js:') !== -1; - } - - function captureLine() { - if (!hasStacks) { return; } - - try { - throw new Error(); - } catch (e) { - var lines = e.stack.split('\n'); - var firstLine = lines[0].indexOf('@') > 0 ? lines[1] : lines[2]; - var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine); - if (!fileNameAndLineNumber) { return; } - - rFileName = fileNameAndLineNumber[0]; - return fileNameAndLineNumber[1]; - } - } - - function getFileNameAndLineNumber(stackLine) { - // Named functions: 'at functionName (filename:lineNumber:columnNumber)' - var attempt1 = /at .+ \((.+):(\d+):(?:\d+)\)$/.exec(stackLine); - if (attempt1) { return [attempt1[1], Number(attempt1[2])]; } - - // Anonymous functions: 'at filename:lineNumber:columnNumber' - var attempt2 = /at ([^ ]+):(\d+):(?:\d+)$/.exec(stackLine); - if (attempt2) { return [attempt2[1], Number(attempt2[2])]; } - - // Firefox style: 'function@filename:lineNumber or @filename:lineNumber' - var attempt3 = /.*@(.+):(\d+)$/.exec(stackLine); - if (attempt3) { return [attempt3[1], Number(attempt3[2])]; } - } - - var EmptyError = Rx.EmptyError = function() { - this.message = 'Sequence contains no elements.'; - Error.call(this); - }; - EmptyError.prototype = Object.create(Error.prototype); - EmptyError.prototype.name = 'EmptyError'; - - var ObjectDisposedError = Rx.ObjectDisposedError = function() { - this.message = 'Object has been disposed'; - Error.call(this); - }; - ObjectDisposedError.prototype = Object.create(Error.prototype); - ObjectDisposedError.prototype.name = 'ObjectDisposedError'; - - var ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError = function () { - this.message = 'Argument out of range'; - Error.call(this); - }; - ArgumentOutOfRangeError.prototype = Object.create(Error.prototype); - ArgumentOutOfRangeError.prototype.name = 'ArgumentOutOfRangeError'; - - var NotSupportedError = Rx.NotSupportedError = function (message) { - this.message = message || 'This operation is not supported'; - Error.call(this); - }; - NotSupportedError.prototype = Object.create(Error.prototype); - NotSupportedError.prototype.name = 'NotSupportedError'; - - var NotImplementedError = Rx.NotImplementedError = function (message) { - this.message = message || 'This operation is not implemented'; - Error.call(this); - }; - NotImplementedError.prototype = Object.create(Error.prototype); - NotImplementedError.prototype.name = 'NotImplementedError'; - - var notImplemented = Rx.helpers.notImplemented = function () { - throw new NotImplementedError(); - }; - - var notSupported = Rx.helpers.notSupported = function () { - throw new NotSupportedError(); - }; - - // Shim in iterator support - var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) || - '_es6shim_iterator_'; - // Bug for mozilla version - if (root.Set && typeof new root.Set()['@@iterator'] === 'function') { - $iterator$ = '@@iterator'; - } - - var doneEnumerator = Rx.doneEnumerator = { done: true, value: undefined }; - - var isIterable = Rx.helpers.isIterable = function (o) { - return o && o[$iterator$] !== undefined; - }; - - var isArrayLike = Rx.helpers.isArrayLike = function (o) { - return o && o.length !== undefined; - }; - - Rx.helpers.iterator = $iterator$; - - var bindCallback = Rx.internals.bindCallback = function (func, thisArg, argCount) { - if (typeof thisArg === 'undefined') { return func; } - switch(argCount) { - case 0: - return function() { - return func.call(thisArg) - }; - case 1: - return function(arg) { - return func.call(thisArg, arg); - }; - case 2: - return function(value, index) { - return func.call(thisArg, value, index); - }; - case 3: - return function(value, index, collection) { - return func.call(thisArg, value, index, collection); - }; - } - - return function() { - return func.apply(thisArg, arguments); - }; - }; - - /** Used to determine if values are of the language type Object */ - var dontEnums = ['toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor'], - dontEnumsLength = dontEnums.length; - -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dateTag] = typedArrayTags[errorTag] = -typedArrayTags[funcTag] = typedArrayTags[mapTag] = -typedArrayTags[numberTag] = typedArrayTags[objectTag] = -typedArrayTags[regexpTag] = typedArrayTags[setTag] = -typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; - -var objectProto = Object.prototype, - hasOwnProperty = objectProto.hasOwnProperty, - objToString = objectProto.toString, - MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; - -var keys = Object.keys || (function() { - var hasOwnProperty = Object.prototype.hasOwnProperty, - hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString'), - dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ], - dontEnumsLength = dontEnums.length; - - return function(obj) { - if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) { - throw new TypeError('Object.keys called on non-object'); - } - - var result = [], prop, i; - - for (prop in obj) { - if (hasOwnProperty.call(obj, prop)) { - result.push(prop); - } - } - - if (hasDontEnumBug) { - for (i = 0; i < dontEnumsLength; i++) { - if (hasOwnProperty.call(obj, dontEnums[i])) { - result.push(dontEnums[i]); - } - } - } - return result; - }; - }()); - -function equalObjects(object, other, equalFunc, isLoose, stackA, stackB) { - var objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength !== othLength && !isLoose) { - return false; - } - var index = objLength, key; - while (index--) { - key = objProps[index]; - if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - var skipCtor = isLoose; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key], - result; - - if (!(result === undefined ? equalFunc(objValue, othValue, isLoose, stackA, stackB) : result)) { - return false; - } - skipCtor || (skipCtor = key === 'constructor'); - } - if (!skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - if (objCtor !== othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor === 'function' && objCtor instanceof objCtor && - typeof othCtor === 'function' && othCtor instanceof othCtor)) { - return false; - } - } - return true; -} - -function equalByTag(object, other, tag) { - switch (tag) { - case boolTag: - case dateTag: - return +object === +other; - - case errorTag: - return object.name === other.name && object.message === other.message; - - case numberTag: - return (object !== +object) ? - other !== +other : - object === +other; - - case regexpTag: - case stringTag: - return object === (other + ''); - } - return false; -} - -var isObject = Rx.internals.isObject = function(value) { - var type = typeof value; - return !!value && (type === 'object' || type === 'function'); -}; - -function isObjectLike(value) { - return !!value && typeof value === 'object'; -} - -function isLength(value) { - return typeof value === 'number' && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER; -} - -var isHostObject = (function() { - try { - Object({ 'toString': 0 } + ''); - } catch(e) { - return function() { return false; }; - } - return function(value) { - return typeof value.toString !== 'function' && typeof (value + '') === 'string'; - }; -}()); - -function isTypedArray(value) { - return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)]; -} - -var isArray = Array.isArray || function(value) { - return isObjectLike(value) && isLength(value.length) && objToString.call(value) === arrayTag; -}; - -function arraySome (array, predicate) { - var index = -1, - length = array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} - -function equalArrays(array, other, equalFunc, isLoose, stackA, stackB) { - var index = -1, - arrLength = array.length, - othLength = other.length; - - if (arrLength !== othLength && !(isLoose && othLength > arrLength)) { - return false; - } - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index], - result; - - if (result !== undefined) { - if (result) { - continue; - } - return false; - } - // Recursively compare arrays (susceptible to call stack limits). - if (isLoose) { - if (!arraySome(other, function(othValue) { - return arrValue === othValue || equalFunc(arrValue, othValue, isLoose, stackA, stackB); - })) { - return false; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, isLoose, stackA, stackB))) { - return false; - } - } - return true; -} - -function baseIsEqualDeep(object, other, equalFunc, isLoose, stackA, stackB) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = arrayTag, - othTag = arrayTag; - - if (!objIsArr) { - objTag = objToString.call(object); - if (objTag === argsTag) { - objTag = objectTag; - } else if (objTag !== objectTag) { - objIsArr = isTypedArray(object); - } - } - if (!othIsArr) { - othTag = objToString.call(other); - if (othTag === argsTag) { - othTag = objectTag; - } - } - var objIsObj = objTag === objectTag && !isHostObject(object), - othIsObj = othTag === objectTag && !isHostObject(other), - isSameTag = objTag === othTag; - - if (isSameTag && !(objIsArr || objIsObj)) { - return equalByTag(object, other, objTag); - } - if (!isLoose) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, isLoose, stackA, stackB); - } - } - if (!isSameTag) { - return false; - } - // Assume cyclic values are equal. - // For more information on detecting circular references see https://es5.github.io/#JO. - stackA || (stackA = []); - stackB || (stackB = []); - - var length = stackA.length; - while (length--) { - if (stackA[length] === object) { - return stackB[length] === other; - } - } - // Add `object` and `other` to the stack of traversed objects. - stackA.push(object); - stackB.push(other); - - var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, isLoose, stackA, stackB); - - stackA.pop(); - stackB.pop(); - - return result; -} - -function baseIsEqual(value, other, isLoose, stackA, stackB) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, baseIsEqual, isLoose, stackA, stackB); -} - -var isEqual = Rx.internals.isEqual = function (value, other) { - return baseIsEqual(value, other); -}; - - var hasProp = {}.hasOwnProperty, - slice = Array.prototype.slice; - - var inherits = Rx.internals.inherits = function (child, parent) { - function __() { this.constructor = child; } - __.prototype = parent.prototype; - child.prototype = new __(); - }; - - var addProperties = Rx.internals.addProperties = function (obj) { - for(var sources = [], i = 1, len = arguments.length; i < len; i++) { sources.push(arguments[i]); } - for (var idx = 0, ln = sources.length; idx < ln; idx++) { - var source = sources[idx]; - for (var prop in source) { - obj[prop] = source[prop]; - } - } - }; - - // Rx Utils - var addRef = Rx.internals.addRef = function (xs, r) { - return new AnonymousObservable(function (observer) { - return new BinaryDisposable(r.getDisposable(), xs.subscribe(observer)); - }); - }; - - function arrayInitialize(count, factory) { - var a = new Array(count); - for (var i = 0; i < count; i++) { - a[i] = factory(); - } - return a; - } - - /** - * Represents a group of disposable resources that are disposed together. - * @constructor - */ - var CompositeDisposable = Rx.CompositeDisposable = function () { - var args = [], i, len; - if (Array.isArray(arguments[0])) { - args = arguments[0]; - } else { - len = arguments.length; - args = new Array(len); - for(i = 0; i < len; i++) { args[i] = arguments[i]; } - } - this.disposables = args; - this.isDisposed = false; - this.length = args.length; - }; - - var CompositeDisposablePrototype = CompositeDisposable.prototype; - - /** - * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. - * @param {Mixed} item Disposable to add. - */ - CompositeDisposablePrototype.add = function (item) { - if (this.isDisposed) { - item.dispose(); - } else { - this.disposables.push(item); - this.length++; - } - }; - - /** - * Removes and disposes the first occurrence of a disposable from the CompositeDisposable. - * @param {Mixed} item Disposable to remove. - * @returns {Boolean} true if found; false otherwise. - */ - CompositeDisposablePrototype.remove = function (item) { - var shouldDispose = false; - if (!this.isDisposed) { - var idx = this.disposables.indexOf(item); - if (idx !== -1) { - shouldDispose = true; - this.disposables.splice(idx, 1); - this.length--; - item.dispose(); - } - } - return shouldDispose; - }; - - /** - * Disposes all disposables in the group and removes them from the group. - */ - CompositeDisposablePrototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - var len = this.disposables.length, currentDisposables = new Array(len); - for(var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; } - this.disposables = []; - this.length = 0; - - for (i = 0; i < len; i++) { - currentDisposables[i].dispose(); - } - } - }; - - /** - * Provides a set of static methods for creating Disposables. - * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once. - */ - var Disposable = Rx.Disposable = function (action) { - this.isDisposed = false; - this.action = action || noop; - }; - - /** Performs the task of cleaning up resources. */ - Disposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.action(); - this.isDisposed = true; - } - }; - - /** - * Creates a disposable object that invokes the specified action when disposed. - * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once. - * @return {Disposable} The disposable object that runs the given action upon disposal. - */ - var disposableCreate = Disposable.create = function (action) { return new Disposable(action); }; - - /** - * Gets the disposable that does nothing when disposed. - */ - var disposableEmpty = Disposable.empty = { dispose: noop }; - - /** - * Validates whether the given object is a disposable - * @param {Object} Object to test whether it has a dispose method - * @returns {Boolean} true if a disposable object, else false. - */ - var isDisposable = Disposable.isDisposable = function (d) { - return d && isFunction(d.dispose); - }; - - var checkDisposed = Disposable.checkDisposed = function (disposable) { - if (disposable.isDisposed) { throw new ObjectDisposedError(); } - }; - - var disposableFixup = Disposable._fixup = function (result) { - return isDisposable(result) ? result : disposableEmpty; - }; - - // Single assignment - var SingleAssignmentDisposable = Rx.SingleAssignmentDisposable = function () { - this.isDisposed = false; - this.current = null; - }; - SingleAssignmentDisposable.prototype.getDisposable = function () { - return this.current; - }; - SingleAssignmentDisposable.prototype.setDisposable = function (value) { - if (this.current) { throw new Error('Disposable has already been assigned'); } - var shouldDispose = this.isDisposed; - !shouldDispose && (this.current = value); - shouldDispose && value && value.dispose(); - }; - SingleAssignmentDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - var old = this.current; - this.current = null; - old && old.dispose(); - } - }; - - // Multiple assignment disposable - var SerialDisposable = Rx.SerialDisposable = function () { - this.isDisposed = false; - this.current = null; - }; - SerialDisposable.prototype.getDisposable = function () { - return this.current; - }; - SerialDisposable.prototype.setDisposable = function (value) { - var shouldDispose = this.isDisposed; - if (!shouldDispose) { - var old = this.current; - this.current = value; - } - old && old.dispose(); - shouldDispose && value && value.dispose(); - }; - SerialDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - var old = this.current; - this.current = null; - } - old && old.dispose(); - }; - - var BinaryDisposable = Rx.BinaryDisposable = function (first, second) { - this._first = first; - this._second = second; - this.isDisposed = false; - }; - - BinaryDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - var old1 = this._first; - this._first = null; - old1 && old1.dispose(); - var old2 = this._second; - this._second = null; - old2 && old2.dispose(); - } - }; - - var NAryDisposable = Rx.NAryDisposable = function (disposables) { - this._disposables = disposables; - this.isDisposed = false; - }; - - NAryDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - for (var i = 0, len = this._disposables.length; i < len; i++) { - this._disposables[i].dispose(); - } - this._disposables.length = 0; - } - }; - - /** - * Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed. - */ - var RefCountDisposable = Rx.RefCountDisposable = (function () { - - function InnerDisposable(disposable) { - this.disposable = disposable; - this.disposable.count++; - this.isInnerDisposed = false; - } - - InnerDisposable.prototype.dispose = function () { - if (!this.disposable.isDisposed && !this.isInnerDisposed) { - this.isInnerDisposed = true; - this.disposable.count--; - if (this.disposable.count === 0 && this.disposable.isPrimaryDisposed) { - this.disposable.isDisposed = true; - this.disposable.underlyingDisposable.dispose(); - } - } - }; - - /** - * Initializes a new instance of the RefCountDisposable with the specified disposable. - * @constructor - * @param {Disposable} disposable Underlying disposable. - */ - function RefCountDisposable(disposable) { - this.underlyingDisposable = disposable; - this.isDisposed = false; - this.isPrimaryDisposed = false; - this.count = 0; - } - - /** - * Disposes the underlying disposable only when all dependent disposables have been disposed - */ - RefCountDisposable.prototype.dispose = function () { - if (!this.isDisposed && !this.isPrimaryDisposed) { - this.isPrimaryDisposed = true; - if (this.count === 0) { - this.isDisposed = true; - this.underlyingDisposable.dispose(); - } - } - }; - - /** - * Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. - * @returns {Disposable} A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. - */ - RefCountDisposable.prototype.getDisposable = function () { - return this.isDisposed ? disposableEmpty : new InnerDisposable(this); - }; - - return RefCountDisposable; - })(); - - var ScheduledItem = Rx.internals.ScheduledItem = function (scheduler, state, action, dueTime, comparer) { - this.scheduler = scheduler; - this.state = state; - this.action = action; - this.dueTime = dueTime; - this.comparer = comparer || defaultSubComparer; - this.disposable = new SingleAssignmentDisposable(); - }; - - ScheduledItem.prototype.invoke = function () { - this.disposable.setDisposable(this.invokeCore()); - }; - - ScheduledItem.prototype.compareTo = function (other) { - return this.comparer(this.dueTime, other.dueTime); - }; - - ScheduledItem.prototype.isCancelled = function () { - return this.disposable.isDisposed; - }; - - ScheduledItem.prototype.invokeCore = function () { - return disposableFixup(this.action(this.scheduler, this.state)); - }; - - /** Provides a set of static properties to access commonly used schedulers. */ - var Scheduler = Rx.Scheduler = (function () { - - function Scheduler() { } - - /** Determines whether the given object is a scheduler */ - Scheduler.isScheduler = function (s) { - return s instanceof Scheduler; - }; - - var schedulerProto = Scheduler.prototype; - - /** - * Schedules an action to be executed. - * @param state State passed to the action to be executed. - * @param {Function} action Action to be executed. - * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort). - */ - schedulerProto.schedule = function (state, action) { - throw new NotImplementedError(); - }; - - /** - * Schedules an action to be executed after dueTime. - * @param state State passed to the action to be executed. - * @param {Function} action Action to be executed. - * @param {Number} dueTime Relative time after which to execute the action. - * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort). - */ - schedulerProto.scheduleFuture = function (state, dueTime, action) { - var dt = dueTime; - dt instanceof Date && (dt = dt - this.now()); - dt = Scheduler.normalize(dt); - - if (dt === 0) { return this.schedule(state, action); } - - return this._scheduleFuture(state, dt, action); - }; - - schedulerProto._scheduleFuture = function (state, dueTime, action) { - throw new NotImplementedError(); - }; - - /** Gets the current time according to the local machine's system clock. */ - Scheduler.now = defaultNow; - - /** Gets the current time according to the local machine's system clock. */ - Scheduler.prototype.now = defaultNow; - - /** - * Normalizes the specified TimeSpan value to a positive value. - * @param {Number} timeSpan The time span value to normalize. - * @returns {Number} The specified TimeSpan value if it is zero or positive; otherwise, 0 - */ - Scheduler.normalize = function (timeSpan) { - timeSpan < 0 && (timeSpan = 0); - return timeSpan; - }; - - return Scheduler; - }()); - - var normalizeTime = Scheduler.normalize, isScheduler = Scheduler.isScheduler; - - (function (schedulerProto) { - - function invokeRecImmediate(scheduler, pair) { - var state = pair[0], action = pair[1], group = new CompositeDisposable(); - action(state, innerAction); - return group; - - function innerAction(state2) { - var isAdded = false, isDone = false; - - var d = scheduler.schedule(state2, scheduleWork); - if (!isDone) { - group.add(d); - isAdded = true; - } - - function scheduleWork(_, state3) { - if (isAdded) { - group.remove(d); - } else { - isDone = true; - } - action(state3, innerAction); - return disposableEmpty; - } - } - } - - function invokeRecDate(scheduler, pair) { - var state = pair[0], action = pair[1], group = new CompositeDisposable(); - action(state, innerAction); - return group; - - function innerAction(state2, dueTime1) { - var isAdded = false, isDone = false; - - var d = scheduler.scheduleFuture(state2, dueTime1, scheduleWork); - if (!isDone) { - group.add(d); - isAdded = true; - } - - function scheduleWork(_, state3) { - if (isAdded) { - group.remove(d); - } else { - isDone = true; - } - action(state3, innerAction); - return disposableEmpty; - } - } - } - - /** - * Schedules an action to be executed recursively. - * @param {Mixed} state State passed to the action to be executed. - * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state. - * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort). - */ - schedulerProto.scheduleRecursive = function (state, action) { - return this.schedule([state, action], invokeRecImmediate); - }; - - /** - * Schedules an action to be executed recursively after a specified relative or absolute due time. - * @param {Mixed} state State passed to the action to be executed. - * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state. - * @param {Number | Date} dueTime Relative or absolute time after which to execute the action for the first time. - * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort). - */ - schedulerProto.scheduleRecursiveFuture = function (state, dueTime, action) { - return this.scheduleFuture([state, action], dueTime, invokeRecDate); - }; - - }(Scheduler.prototype)); - - (function (schedulerProto) { - - /** - * Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval for the base implementation. - * @param {Mixed} state Initial state passed to the action upon the first iteration. - * @param {Number} period Period for running the work periodically. - * @param {Function} action Action to be executed, potentially updating the state. - * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort). - */ - schedulerProto.schedulePeriodic = function(state, period, action) { - if (typeof root.setInterval === 'undefined') { throw new NotSupportedError(); } - period = normalizeTime(period); - var s = state, id = root.setInterval(function () { s = action(s); }, period); - return disposableCreate(function () { root.clearInterval(id); }); - }; - - }(Scheduler.prototype)); - - /** Gets a scheduler that schedules work immediately on the current thread. */ - var ImmediateScheduler = (function (__super__) { - inherits(ImmediateScheduler, __super__); - function ImmediateScheduler() { - __super__.call(this); - } - - ImmediateScheduler.prototype.schedule = function (state, action) { - return disposableFixup(action(this, state)); - }; - - return ImmediateScheduler; - }(Scheduler)); - - var immediateScheduler = Scheduler.immediate = new ImmediateScheduler(); - - /** - * Gets a scheduler that schedules work as soon as possible on the current thread. - */ - var CurrentThreadScheduler = (function (__super__) { - var queue; - - function runTrampoline () { - while (queue.length > 0) { - var item = queue.dequeue(); - !item.isCancelled() && item.invoke(); - } - } - - inherits(CurrentThreadScheduler, __super__); - function CurrentThreadScheduler() { - __super__.call(this); - } - - CurrentThreadScheduler.prototype.schedule = function (state, action) { - var si = new ScheduledItem(this, state, action, this.now()); - - if (!queue) { - queue = new PriorityQueue(4); - queue.enqueue(si); - - var result = tryCatch(runTrampoline)(); - queue = null; - if (result === errorObj) { thrower(result.e); } - } else { - queue.enqueue(si); - } - return si.disposable; - }; - - CurrentThreadScheduler.prototype.scheduleRequired = function () { return !queue; }; - - return CurrentThreadScheduler; - }(Scheduler)); - - var currentThreadScheduler = Scheduler.currentThread = new CurrentThreadScheduler(); - - var SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive = (function () { - function createTick(self) { - return function tick(command, recurse) { - recurse(0, self._period); - var state = tryCatch(self._action)(self._state); - if (state === errorObj) { - self._cancel.dispose(); - thrower(state.e); - } - self._state = state; - }; - } - - function SchedulePeriodicRecursive(scheduler, state, period, action) { - this._scheduler = scheduler; - this._state = state; - this._period = period; - this._action = action; - } - - SchedulePeriodicRecursive.prototype.start = function () { - var d = new SingleAssignmentDisposable(); - this._cancel = d; - d.setDisposable(this._scheduler.scheduleRecursiveFuture(0, this._period, createTick(this))); - - return d; - }; - - return SchedulePeriodicRecursive; - }()); - - var scheduleMethod, clearMethod; - - var localTimer = (function () { - var localSetTimeout, localClearTimeout = noop; - if (!!root.setTimeout) { - localSetTimeout = root.setTimeout; - localClearTimeout = root.clearTimeout; - } else if (!!root.WScript) { - localSetTimeout = function (fn, time) { - root.WScript.Sleep(time); - fn(); - }; - } else { - throw new NotSupportedError(); - } - - return { - setTimeout: localSetTimeout, - clearTimeout: localClearTimeout - }; - }()); - var localSetTimeout = localTimer.setTimeout, - localClearTimeout = localTimer.clearTimeout; - - (function () { - - var nextHandle = 1, tasksByHandle = {}, currentlyRunning = false; - - clearMethod = function (handle) { - delete tasksByHandle[handle]; - }; - - function runTask(handle) { - if (currentlyRunning) { - localSetTimeout(function () { runTask(handle); }, 0); - } else { - var task = tasksByHandle[handle]; - if (task) { - currentlyRunning = true; - var result = tryCatch(task)(); - clearMethod(handle); - currentlyRunning = false; - if (result === errorObj) { thrower(result.e); } - } - } - } - - var reNative = new RegExp('^' + - String(toString) - .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') - .replace(/toString| for [^\]]+/g, '.*?') + '$' - ); - - var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' && - !reNative.test(setImmediate) && setImmediate; - - function postMessageSupported () { - // Ensure not in a worker - if (!root.postMessage || root.importScripts) { return false; } - var isAsync = false, oldHandler = root.onmessage; - // Test for async - root.onmessage = function () { isAsync = true; }; - root.postMessage('', '*'); - root.onmessage = oldHandler; - - return isAsync; - } - - // Use in order, setImmediate, nextTick, postMessage, MessageChannel, script readystatechanged, setTimeout - if (isFunction(setImmediate)) { - scheduleMethod = function (action) { - var id = nextHandle++; - tasksByHandle[id] = action; - setImmediate(function () { runTask(id); }); - - return id; - }; - } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') { - scheduleMethod = function (action) { - var id = nextHandle++; - tasksByHandle[id] = action; - process.nextTick(function () { runTask(id); }); - - return id; - }; - } else if (postMessageSupported()) { - var MSG_PREFIX = 'ms.rx.schedule' + Math.random(); - - var onGlobalPostMessage = function (event) { - // Only if we're a match to avoid any other global events - if (typeof event.data === 'string' && event.data.substring(0, MSG_PREFIX.length) === MSG_PREFIX) { - runTask(event.data.substring(MSG_PREFIX.length)); - } - }; - - root.addEventListener('message', onGlobalPostMessage, false); - - scheduleMethod = function (action) { - var id = nextHandle++; - tasksByHandle[id] = action; - root.postMessage(MSG_PREFIX + id, '*'); - return id; - }; - } else if (!!root.MessageChannel) { - var channel = new root.MessageChannel(); - - channel.port1.onmessage = function (e) { runTask(e.data); }; - - scheduleMethod = function (action) { - var id = nextHandle++; - tasksByHandle[id] = action; - channel.port2.postMessage(id); - return id; - }; - } else if ('document' in root && 'onreadystatechange' in root.document.createElement('script')) { - - scheduleMethod = function (action) { - var scriptElement = root.document.createElement('script'); - var id = nextHandle++; - tasksByHandle[id] = action; - - scriptElement.onreadystatechange = function () { - runTask(id); - scriptElement.onreadystatechange = null; - scriptElement.parentNode.removeChild(scriptElement); - scriptElement = null; - }; - root.document.documentElement.appendChild(scriptElement); - return id; - }; - - } else { - scheduleMethod = function (action) { - var id = nextHandle++; - tasksByHandle[id] = action; - localSetTimeout(function () { - runTask(id); - }, 0); - - return id; - }; - } - }()); - - /** - * Gets a scheduler that schedules work via a timed callback based upon platform. - */ - var DefaultScheduler = (function (__super__) { - inherits(DefaultScheduler, __super__); - function DefaultScheduler() { - __super__.call(this); - } - - function scheduleAction(disposable, action, scheduler, state) { - return function schedule() { - disposable.setDisposable(Disposable._fixup(action(scheduler, state))); - }; - } - - function ClearDisposable(id) { - this._id = id; - this.isDisposed = false; - } - - ClearDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - clearMethod(this._id); - } - }; - - function LocalClearDisposable(id) { - this._id = id; - this.isDisposed = false; - } - - LocalClearDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - localClearTimeout(this._id); - } - }; - - DefaultScheduler.prototype.schedule = function (state, action) { - var disposable = new SingleAssignmentDisposable(), - id = scheduleMethod(scheduleAction(disposable, action, this, state)); - return new BinaryDisposable(disposable, new ClearDisposable(id)); - }; - - DefaultScheduler.prototype._scheduleFuture = function (state, dueTime, action) { - if (dueTime === 0) { return this.schedule(state, action); } - var disposable = new SingleAssignmentDisposable(), - id = localSetTimeout(scheduleAction(disposable, action, this, state), dueTime); - return new BinaryDisposable(disposable, new LocalClearDisposable(id)); - }; - - return DefaultScheduler; - }(Scheduler)); - - var defaultScheduler = Scheduler['default'] = Scheduler.async = new DefaultScheduler(); - - function IndexedItem(id, value) { - this.id = id; - this.value = value; - } - - IndexedItem.prototype.compareTo = function (other) { - var c = this.value.compareTo(other.value); - c === 0 && (c = this.id - other.id); - return c; - }; - - var PriorityQueue = Rx.internals.PriorityQueue = function (capacity) { - this.items = new Array(capacity); - this.length = 0; - }; - - var priorityProto = PriorityQueue.prototype; - priorityProto.isHigherPriority = function (left, right) { - return this.items[left].compareTo(this.items[right]) < 0; - }; - - priorityProto.percolate = function (index) { - if (index >= this.length || index < 0) { return; } - var parent = index - 1 >> 1; - if (parent < 0 || parent === index) { return; } - if (this.isHigherPriority(index, parent)) { - var temp = this.items[index]; - this.items[index] = this.items[parent]; - this.items[parent] = temp; - this.percolate(parent); - } - }; - - priorityProto.heapify = function (index) { - +index || (index = 0); - if (index >= this.length || index < 0) { return; } - var left = 2 * index + 1, - right = 2 * index + 2, - first = index; - if (left < this.length && this.isHigherPriority(left, first)) { - first = left; - } - if (right < this.length && this.isHigherPriority(right, first)) { - first = right; - } - if (first !== index) { - var temp = this.items[index]; - this.items[index] = this.items[first]; - this.items[first] = temp; - this.heapify(first); - } - }; - - priorityProto.peek = function () { return this.items[0].value; }; - - priorityProto.removeAt = function (index) { - this.items[index] = this.items[--this.length]; - this.items[this.length] = undefined; - this.heapify(); - }; - - priorityProto.dequeue = function () { - var result = this.peek(); - this.removeAt(0); - return result; - }; - - priorityProto.enqueue = function (item) { - var index = this.length++; - this.items[index] = new IndexedItem(PriorityQueue.count++, item); - this.percolate(index); - }; - - priorityProto.remove = function (item) { - for (var i = 0; i < this.length; i++) { - if (this.items[i].value === item) { - this.removeAt(i); - return true; - } - } - return false; - }; - PriorityQueue.count = 0; - - /** - * Represents a notification to an observer. - */ - var Notification = Rx.Notification = (function () { - function Notification() { - - } - - Notification.prototype._accept = function (onNext, onError, onCompleted) { - throw new NotImplementedError(); - }; - - Notification.prototype._acceptObserver = function (onNext, onError, onCompleted) { - throw new NotImplementedError(); - }; - - /** - * Invokes the delegate corresponding to the notification or the observer's method corresponding to the notification and returns the produced result. - * @param {Function | Observer} observerOrOnNext Function to invoke for an OnNext notification or Observer to invoke the notification on.. - * @param {Function} onError Function to invoke for an OnError notification. - * @param {Function} onCompleted Function to invoke for an OnCompleted notification. - * @returns {Any} Result produced by the observation. - */ - Notification.prototype.accept = function (observerOrOnNext, onError, onCompleted) { - return observerOrOnNext && typeof observerOrOnNext === 'object' ? - this._acceptObserver(observerOrOnNext) : - this._accept(observerOrOnNext, onError, onCompleted); - }; - - /** - * Returns an observable sequence with a single notification. - * - * @memberOf Notifications - * @param {Scheduler} [scheduler] Scheduler to send out the notification calls on. - * @returns {Observable} The observable sequence that surfaces the behavior of the notification upon subscription. - */ - Notification.prototype.toObservable = function (scheduler) { - var self = this; - isScheduler(scheduler) || (scheduler = immediateScheduler); - return new AnonymousObservable(function (o) { - return scheduler.schedule(self, function (_, notification) { - notification._acceptObserver(o); - notification.kind === 'N' && o.onCompleted(); - }); - }); - }; - - return Notification; - })(); - - var OnNextNotification = (function (__super__) { - inherits(OnNextNotification, __super__); - function OnNextNotification(value) { - this.value = value; - this.kind = 'N'; - } - - OnNextNotification.prototype._accept = function (onNext) { - return onNext(this.value); - }; - - OnNextNotification.prototype._acceptObserver = function (o) { - return o.onNext(this.value); - }; - - OnNextNotification.prototype.toString = function () { - return 'OnNext(' + this.value + ')'; - }; - - return OnNextNotification; - }(Notification)); - - var OnErrorNotification = (function (__super__) { - inherits(OnErrorNotification, __super__); - function OnErrorNotification(error) { - this.error = error; - this.kind = 'E'; - } - - OnErrorNotification.prototype._accept = function (onNext, onError) { - return onError(this.error); - }; - - OnErrorNotification.prototype._acceptObserver = function (o) { - return o.onError(this.error); - }; - - OnErrorNotification.prototype.toString = function () { - return 'OnError(' + this.error + ')'; - }; - - return OnErrorNotification; - }(Notification)); - - var OnCompletedNotification = (function (__super__) { - inherits(OnCompletedNotification, __super__); - function OnCompletedNotification() { - this.kind = 'C'; - } - - OnCompletedNotification.prototype._accept = function (onNext, onError, onCompleted) { - return onCompleted(); - }; - - OnCompletedNotification.prototype._acceptObserver = function (o) { - return o.onCompleted(); - }; - - OnCompletedNotification.prototype.toString = function () { - return 'OnCompleted()'; - }; - - return OnCompletedNotification; - }(Notification)); - - /** - * Creates an object that represents an OnNext notification to an observer. - * @param {Any} value The value contained in the notification. - * @returns {Notification} The OnNext notification containing the value. - */ - var notificationCreateOnNext = Notification.createOnNext = function (value) { - return new OnNextNotification(value); - }; - - /** - * Creates an object that represents an OnError notification to an observer. - * @param {Any} error The exception contained in the notification. - * @returns {Notification} The OnError notification containing the exception. - */ - var notificationCreateOnError = Notification.createOnError = function (error) { - return new OnErrorNotification(error); - }; - - /** - * Creates an object that represents an OnCompleted notification to an observer. - * @returns {Notification} The OnCompleted notification. - */ - var notificationCreateOnCompleted = Notification.createOnCompleted = function () { - return new OnCompletedNotification(); - }; - - /** - * Supports push-style iteration over an observable sequence. - */ - var Observer = Rx.Observer = function () { }; - - /** - * Creates an observer from the specified OnNext, along with optional OnError, and OnCompleted actions. - * @param {Function} [onNext] Observer's OnNext action implementation. - * @param {Function} [onError] Observer's OnError action implementation. - * @param {Function} [onCompleted] Observer's OnCompleted action implementation. - * @returns {Observer} The observer object implemented using the given actions. - */ - var observerCreate = Observer.create = function (onNext, onError, onCompleted) { - onNext || (onNext = noop); - onError || (onError = defaultError); - onCompleted || (onCompleted = noop); - return new AnonymousObserver(onNext, onError, onCompleted); - }; - - /** - * Abstract base class for implementations of the Observer class. - * This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages. - */ - var AbstractObserver = Rx.internals.AbstractObserver = (function (__super__) { - inherits(AbstractObserver, __super__); - - /** - * Creates a new observer in a non-stopped state. - */ - function AbstractObserver() { - this.isStopped = false; - } - - // Must be implemented by other observers - AbstractObserver.prototype.next = notImplemented; - AbstractObserver.prototype.error = notImplemented; - AbstractObserver.prototype.completed = notImplemented; - - /** - * Notifies the observer of a new element in the sequence. - * @param {Any} value Next element in the sequence. - */ - AbstractObserver.prototype.onNext = function (value) { - !this.isStopped && this.next(value); - }; - - /** - * Notifies the observer that an exception has occurred. - * @param {Any} error The error that has occurred. - */ - AbstractObserver.prototype.onError = function (error) { - if (!this.isStopped) { - this.isStopped = true; - this.error(error); - } - }; - - /** - * Notifies the observer of the end of the sequence. - */ - AbstractObserver.prototype.onCompleted = function () { - if (!this.isStopped) { - this.isStopped = true; - this.completed(); - } - }; - - /** - * Disposes the observer, causing it to transition to the stopped state. - */ - AbstractObserver.prototype.dispose = function () { this.isStopped = true; }; - - AbstractObserver.prototype.fail = function (e) { - if (!this.isStopped) { - this.isStopped = true; - this.error(e); - return true; - } - - return false; - }; - - return AbstractObserver; - }(Observer)); - - /** - * Class to create an Observer instance from delegate-based implementations of the on* methods. - */ - var AnonymousObserver = Rx.AnonymousObserver = (function (__super__) { - inherits(AnonymousObserver, __super__); - - /** - * Creates an observer from the specified OnNext, OnError, and OnCompleted actions. - * @param {Any} onNext Observer's OnNext action implementation. - * @param {Any} onError Observer's OnError action implementation. - * @param {Any} onCompleted Observer's OnCompleted action implementation. - */ - function AnonymousObserver(onNext, onError, onCompleted) { - __super__.call(this); - this._onNext = onNext; - this._onError = onError; - this._onCompleted = onCompleted; - } - - /** - * Calls the onNext action. - * @param {Any} value Next element in the sequence. - */ - AnonymousObserver.prototype.next = function (value) { - this._onNext(value); - }; - - /** - * Calls the onError action. - * @param {Any} error The error that has occurred. - */ - AnonymousObserver.prototype.error = function (error) { - this._onError(error); - }; - - /** - * Calls the onCompleted action. - */ - AnonymousObserver.prototype.completed = function () { - this._onCompleted(); - }; - - return AnonymousObserver; - }(AbstractObserver)); - - var observableProto; - - /** - * Represents a push-style collection. - */ - var Observable = Rx.Observable = (function () { - - function makeSubscribe(self, subscribe) { - return function (o) { - var oldOnError = o.onError; - o.onError = function (e) { - makeStackTraceLong(e, self); - oldOnError.call(o, e); - }; - - return subscribe.call(self, o); - }; - } - - function Observable() { - if (Rx.config.longStackSupport && hasStacks) { - var oldSubscribe = this._subscribe; - var e = tryCatch(thrower)(new Error()).e; - this.stack = e.stack.substring(e.stack.indexOf('\n') + 1); - this._subscribe = makeSubscribe(this, oldSubscribe); - } - } - - observableProto = Observable.prototype; - - /** - * Determines whether the given object is an Observable - * @param {Any} An object to determine whether it is an Observable - * @returns {Boolean} true if an Observable, else false. - */ - Observable.isObservable = function (o) { - return o && isFunction(o.subscribe); - }; - - /** - * Subscribes an o to the observable sequence. - * @param {Mixed} [oOrOnNext] The object that is to receive notifications or an action to invoke for each element in the observable sequence. - * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence. - * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence. - * @returns {Diposable} A disposable handling the subscriptions and unsubscriptions. - */ - observableProto.subscribe = observableProto.forEach = function (oOrOnNext, onError, onCompleted) { - return this._subscribe(typeof oOrOnNext === 'object' ? - oOrOnNext : - observerCreate(oOrOnNext, onError, onCompleted)); - }; - - /** - * Subscribes to the next value in the sequence with an optional "this" argument. - * @param {Function} onNext The function to invoke on each element in the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions. - */ - observableProto.subscribeOnNext = function (onNext, thisArg) { - return this._subscribe(observerCreate(typeof thisArg !== 'undefined' ? function(x) { onNext.call(thisArg, x); } : onNext)); - }; - - /** - * Subscribes to an exceptional condition in the sequence with an optional "this" argument. - * @param {Function} onError The function to invoke upon exceptional termination of the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions. - */ - observableProto.subscribeOnError = function (onError, thisArg) { - return this._subscribe(observerCreate(null, typeof thisArg !== 'undefined' ? function(e) { onError.call(thisArg, e); } : onError)); - }; - - /** - * Subscribes to the next value in the sequence with an optional "this" argument. - * @param {Function} onCompleted The function to invoke upon graceful termination of the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions. - */ - observableProto.subscribeOnCompleted = function (onCompleted, thisArg) { - return this._subscribe(observerCreate(null, null, typeof thisArg !== 'undefined' ? function() { onCompleted.call(thisArg); } : onCompleted)); - }; - - return Observable; - })(); - - var ScheduledObserver = Rx.internals.ScheduledObserver = (function (__super__) { - inherits(ScheduledObserver, __super__); - - function ScheduledObserver(scheduler, observer) { - __super__.call(this); - this.scheduler = scheduler; - this.observer = observer; - this.isAcquired = false; - this.hasFaulted = false; - this.queue = []; - this.disposable = new SerialDisposable(); - } - - function enqueueNext(observer, x) { return function () { observer.onNext(x); }; } - function enqueueError(observer, e) { return function () { observer.onError(e); }; } - function enqueueCompleted(observer) { return function () { observer.onCompleted(); }; } - - ScheduledObserver.prototype.next = function (x) { - this.queue.push(enqueueNext(this.observer, x)); - }; - - ScheduledObserver.prototype.error = function (e) { - this.queue.push(enqueueError(this.observer, e)); - }; - - ScheduledObserver.prototype.completed = function () { - this.queue.push(enqueueCompleted(this.observer)); - }; - - - function scheduleMethod(state, recurse) { - var work; - if (state.queue.length > 0) { - work = state.queue.shift(); - } else { - state.isAcquired = false; - return; - } - var res = tryCatch(work)(); - if (res === errorObj) { - state.queue = []; - state.hasFaulted = true; - return thrower(res.e); - } - recurse(state); - } - - ScheduledObserver.prototype.ensureActive = function () { - var isOwner = false; - if (!this.hasFaulted && this.queue.length > 0) { - isOwner = !this.isAcquired; - this.isAcquired = true; - } - isOwner && - this.disposable.setDisposable(this.scheduler.scheduleRecursive(this, scheduleMethod)); - }; - - ScheduledObserver.prototype.dispose = function () { - __super__.prototype.dispose.call(this); - this.disposable.dispose(); - }; - - return ScheduledObserver; - }(AbstractObserver)); - - var ObservableBase = Rx.ObservableBase = (function (__super__) { - inherits(ObservableBase, __super__); - - function fixSubscriber(subscriber) { - return subscriber && isFunction(subscriber.dispose) ? subscriber : - isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty; - } - - function setDisposable(s, state) { - var ado = state[0], self = state[1]; - var sub = tryCatch(self.subscribeCore).call(self, ado); - if (sub === errorObj && !ado.fail(errorObj.e)) { thrower(errorObj.e); } - ado.setDisposable(fixSubscriber(sub)); - } - - function ObservableBase() { - __super__.call(this); - } - - ObservableBase.prototype._subscribe = function (o) { - var ado = new AutoDetachObserver(o), state = [ado, this]; - - if (currentThreadScheduler.scheduleRequired()) { - currentThreadScheduler.schedule(state, setDisposable); - } else { - setDisposable(null, state); - } - return ado; - }; - - ObservableBase.prototype.subscribeCore = notImplemented; - - return ObservableBase; - }(Observable)); - -var FlatMapObservable = Rx.FlatMapObservable = (function(__super__) { - - inherits(FlatMapObservable, __super__); - - function FlatMapObservable(source, selector, resultSelector, thisArg) { - this.resultSelector = isFunction(resultSelector) ? resultSelector : null; - this.selector = bindCallback(isFunction(selector) ? selector : function() { return selector; }, thisArg, 3); - this.source = source; - __super__.call(this); - } - - FlatMapObservable.prototype.subscribeCore = function(o) { - return this.source.subscribe(new InnerObserver(o, this.selector, this.resultSelector, this)); - }; - - inherits(InnerObserver, AbstractObserver); - function InnerObserver(observer, selector, resultSelector, source) { - this.i = 0; - this.selector = selector; - this.resultSelector = resultSelector; - this.source = source; - this.o = observer; - AbstractObserver.call(this); - } - - InnerObserver.prototype._wrapResult = function(result, x, i) { - return this.resultSelector ? - result.map(function(y, i2) { return this.resultSelector(x, y, i, i2); }, this) : - result; - }; - - InnerObserver.prototype.next = function(x) { - var i = this.i++; - var result = tryCatch(this.selector)(x, i, this.source); - if (result === errorObj) { return this.o.onError(result.e); } - - isPromise(result) && (result = observableFromPromise(result)); - (isArrayLike(result) || isIterable(result)) && (result = Observable.from(result)); - this.o.onNext(this._wrapResult(result, x, i)); - }; - - InnerObserver.prototype.error = function(e) { this.o.onError(e); }; - - InnerObserver.prototype.completed = function() { this.o.onCompleted(); }; - - return FlatMapObservable; - -}(ObservableBase)); - - var Enumerable = Rx.internals.Enumerable = function () { }; - - function IsDisposedDisposable(state) { - this._s = state; - this.isDisposed = false; - } - - IsDisposedDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - this.isDisposed = true; - this._s.isDisposed = true; - } - }; - - var ConcatEnumerableObservable = (function(__super__) { - inherits(ConcatEnumerableObservable, __super__); - function ConcatEnumerableObservable(sources) { - this.sources = sources; - __super__.call(this); - } - - function scheduleMethod(state, recurse) { - if (state.isDisposed) { return; } - var currentItem = tryCatch(state.e.next).call(state.e); - if (currentItem === errorObj) { return state.o.onError(currentItem.e); } - if (currentItem.done) { return state.o.onCompleted(); } - - // Check if promise - var currentValue = currentItem.value; - isPromise(currentValue) && (currentValue = observableFromPromise(currentValue)); - - var d = new SingleAssignmentDisposable(); - state.subscription.setDisposable(d); - d.setDisposable(currentValue.subscribe(new InnerObserver(state, recurse))); - } - - ConcatEnumerableObservable.prototype.subscribeCore = function (o) { - var subscription = new SerialDisposable(); - var state = { - isDisposed: false, - o: o, - subscription: subscription, - e: this.sources[$iterator$]() - }; - - var cancelable = currentThreadScheduler.scheduleRecursive(state, scheduleMethod); - return new NAryDisposable([subscription, cancelable, new IsDisposedDisposable(state)]); - }; - - function InnerObserver(state, recurse) { - this._state = state; - this._recurse = recurse; - AbstractObserver.call(this); - } - - inherits(InnerObserver, AbstractObserver); - - InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); }; - InnerObserver.prototype.error = function (e) { this._state.o.onError(e); }; - InnerObserver.prototype.completed = function () { this._recurse(this._state); }; - - return ConcatEnumerableObservable; - }(ObservableBase)); - - Enumerable.prototype.concat = function () { - return new ConcatEnumerableObservable(this); - }; - - var CatchErrorObservable = (function(__super__) { - function CatchErrorObservable(sources) { - this.sources = sources; - __super__.call(this); - } - - inherits(CatchErrorObservable, __super__); - - function scheduleMethod(state, recurse) { - if (state.isDisposed) { return; } - var currentItem = tryCatch(state.e.next).call(state.e); - if (currentItem === errorObj) { return state.o.onError(currentItem.e); } - if (currentItem.done) { return state.lastError !== null ? state.o.onError(state.lastError) : state.o.onCompleted(); } - - var currentValue = currentItem.value; - isPromise(currentValue) && (currentValue = observableFromPromise(currentValue)); - - var d = new SingleAssignmentDisposable(); - state.subscription.setDisposable(d); - d.setDisposable(currentValue.subscribe(new InnerObserver(state, recurse))); - } - - CatchErrorObservable.prototype.subscribeCore = function (o) { - var subscription = new SerialDisposable(); - var state = { - isDisposed: false, - e: this.sources[$iterator$](), - subscription: subscription, - lastError: null, - o: o - }; - - var cancelable = currentThreadScheduler.scheduleRecursive(state, scheduleMethod); - return new NAryDisposable([subscription, cancelable, new IsDisposedDisposable(state)]); - }; - - function InnerObserver(state, recurse) { - this._state = state; - this._recurse = recurse; - AbstractObserver.call(this); - } - - inherits(InnerObserver, AbstractObserver); - - InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); }; - InnerObserver.prototype.error = function (e) { this._state.lastError = e; this._recurse(this._state); }; - InnerObserver.prototype.completed = function () { this._state.o.onCompleted(); }; - - return CatchErrorObservable; - }(ObservableBase)); - - Enumerable.prototype.catchError = function () { - return new CatchErrorObservable(this); - }; - - var RepeatEnumerable = (function (__super__) { - inherits(RepeatEnumerable, __super__); - function RepeatEnumerable(v, c) { - this.v = v; - this.c = c == null ? -1 : c; - } - - RepeatEnumerable.prototype[$iterator$] = function () { - return new RepeatEnumerator(this); - }; - - function RepeatEnumerator(p) { - this.v = p.v; - this.l = p.c; - } - - RepeatEnumerator.prototype.next = function () { - if (this.l === 0) { return doneEnumerator; } - if (this.l > 0) { this.l--; } - return { done: false, value: this.v }; - }; - - return RepeatEnumerable; - }(Enumerable)); - - var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) { - return new RepeatEnumerable(value, repeatCount); - }; - - var OfEnumerable = (function(__super__) { - inherits(OfEnumerable, __super__); - function OfEnumerable(s, fn, thisArg) { - this.s = s; - this.fn = fn ? bindCallback(fn, thisArg, 3) : null; - } - OfEnumerable.prototype[$iterator$] = function () { - return new OfEnumerator(this); - }; - - function OfEnumerator(p) { - this.i = -1; - this.s = p.s; - this.l = this.s.length; - this.fn = p.fn; - } - - OfEnumerator.prototype.next = function () { - return ++this.i < this.l ? - { done: false, value: !this.fn ? this.s[this.i] : this.fn(this.s[this.i], this.i, this.s) } : - doneEnumerator; - }; - - return OfEnumerable; - }(Enumerable)); - - var enumerableOf = Enumerable.of = function (source, selector, thisArg) { - return new OfEnumerable(source, selector, thisArg); - }; - - var ToArrayObservable = (function(__super__) { - inherits(ToArrayObservable, __super__); - function ToArrayObservable(source) { - this.source = source; - __super__.call(this); - } - - ToArrayObservable.prototype.subscribeCore = function(o) { - return this.source.subscribe(new InnerObserver(o)); - }; - - inherits(InnerObserver, AbstractObserver); - function InnerObserver(o) { - this.o = o; - this.a = []; - AbstractObserver.call(this); - } - - InnerObserver.prototype.next = function (x) { this.a.push(x); }; - InnerObserver.prototype.error = function (e) { this.o.onError(e); }; - InnerObserver.prototype.completed = function () { this.o.onNext(this.a); this.o.onCompleted(); }; - - return ToArrayObservable; - }(ObservableBase)); - - /** - * Creates an array from an observable sequence. - * @returns {Observable} An observable sequence containing a single element with a list containing all the elements of the source sequence. - */ - observableProto.toArray = function () { - return new ToArrayObservable(this); - }; - - /** - * Creates an observable sequence from a specified subscribe method implementation. - * @example - * var res = Rx.Observable.create(function (observer) { return function () { } ); - * var res = Rx.Observable.create(function (observer) { return Rx.Disposable.empty; } ); - * var res = Rx.Observable.create(function (observer) { } ); - * @param {Function} subscribe Implementation of the resulting observable sequence's subscribe method, returning a function that will be wrapped in a Disposable. - * @returns {Observable} The observable sequence with the specified implementation for the Subscribe method. - */ - Observable.create = function (subscribe, parent) { - return new AnonymousObservable(subscribe, parent); - }; - - var Defer = (function(__super__) { - inherits(Defer, __super__); - function Defer(factory) { - this._f = factory; - __super__.call(this); - } - - Defer.prototype.subscribeCore = function (o) { - var result = tryCatch(this._f)(); - if (result === errorObj) { return observableThrow(result.e).subscribe(o);} - isPromise(result) && (result = observableFromPromise(result)); - return result.subscribe(o); - }; - - return Defer; - }(ObservableBase)); - - /** - * Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes. - * - * @example - * var res = Rx.Observable.defer(function () { return Rx.Observable.fromArray([1,2,3]); }); - * @param {Function} observableFactory Observable factory function to invoke for each observer that subscribes to the resulting sequence or Promise. - * @returns {Observable} An observable sequence whose observers trigger an invocation of the given observable factory function. - */ - var observableDefer = Observable.defer = function (observableFactory) { - return new Defer(observableFactory); - }; - - var EmptyObservable = (function(__super__) { - inherits(EmptyObservable, __super__); - function EmptyObservable(scheduler) { - this.scheduler = scheduler; - __super__.call(this); - } - - EmptyObservable.prototype.subscribeCore = function (observer) { - var sink = new EmptySink(observer, this.scheduler); - return sink.run(); - }; - - function EmptySink(observer, scheduler) { - this.observer = observer; - this.scheduler = scheduler; - } - - function scheduleItem(s, state) { - state.onCompleted(); - return disposableEmpty; - } - - EmptySink.prototype.run = function () { - var state = this.observer; - return this.scheduler === immediateScheduler ? - scheduleItem(null, state) : - this.scheduler.schedule(state, scheduleItem); - }; - - return EmptyObservable; - }(ObservableBase)); - - var EMPTY_OBSERVABLE = new EmptyObservable(immediateScheduler); - - /** - * Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message. - * - * @example - * var res = Rx.Observable.empty(); - * var res = Rx.Observable.empty(Rx.Scheduler.timeout); - * @param {Scheduler} [scheduler] Scheduler to send the termination call on. - * @returns {Observable} An observable sequence with no elements. - */ - var observableEmpty = Observable.empty = function (scheduler) { - isScheduler(scheduler) || (scheduler = immediateScheduler); - return scheduler === immediateScheduler ? EMPTY_OBSERVABLE : new EmptyObservable(scheduler); - }; - - var FromObservable = (function(__super__) { - inherits(FromObservable, __super__); - function FromObservable(iterable, fn, scheduler) { - this._iterable = iterable; - this._fn = fn; - this._scheduler = scheduler; - __super__.call(this); - } - - function createScheduleMethod(o, it, fn) { - return function loopRecursive(i, recurse) { - var next = tryCatch(it.next).call(it); - if (next === errorObj) { return o.onError(next.e); } - if (next.done) { return o.onCompleted(); } - - var result = next.value; - - if (isFunction(fn)) { - result = tryCatch(fn)(result, i); - if (result === errorObj) { return o.onError(result.e); } - } - - o.onNext(result); - recurse(i + 1); - }; - } - - FromObservable.prototype.subscribeCore = function (o) { - var list = Object(this._iterable), - it = getIterable(list); - - return this._scheduler.scheduleRecursive(0, createScheduleMethod(o, it, this._fn)); - }; - - return FromObservable; - }(ObservableBase)); - - var maxSafeInteger = Math.pow(2, 53) - 1; - - function StringIterable(s) { - this._s = s; - } - - StringIterable.prototype[$iterator$] = function () { - return new StringIterator(this._s); - }; - - function StringIterator(s) { - this._s = s; - this._l = s.length; - this._i = 0; - } - - StringIterator.prototype[$iterator$] = function () { - return this; - }; - - StringIterator.prototype.next = function () { - return this._i < this._l ? { done: false, value: this._s.charAt(this._i++) } : doneEnumerator; - }; - - function ArrayIterable(a) { - this._a = a; - } - - ArrayIterable.prototype[$iterator$] = function () { - return new ArrayIterator(this._a); - }; - - function ArrayIterator(a) { - this._a = a; - this._l = toLength(a); - this._i = 0; - } - - ArrayIterator.prototype[$iterator$] = function () { - return this; - }; - - ArrayIterator.prototype.next = function () { - return this._i < this._l ? { done: false, value: this._a[this._i++] } : doneEnumerator; - }; - - function numberIsFinite(value) { - return typeof value === 'number' && root.isFinite(value); - } - - function isNan(n) { - return n !== n; - } - - function getIterable(o) { - var i = o[$iterator$], it; - if (!i && typeof o === 'string') { - it = new StringIterable(o); - return it[$iterator$](); - } - if (!i && o.length !== undefined) { - it = new ArrayIterable(o); - return it[$iterator$](); - } - if (!i) { throw new TypeError('Object is not iterable'); } - return o[$iterator$](); - } - - function sign(value) { - var number = +value; - if (number === 0) { return number; } - if (isNaN(number)) { return number; } - return number < 0 ? -1 : 1; - } - - function toLength(o) { - var len = +o.length; - if (isNaN(len)) { return 0; } - if (len === 0 || !numberIsFinite(len)) { return len; } - len = sign(len) * Math.floor(Math.abs(len)); - if (len <= 0) { return 0; } - if (len > maxSafeInteger) { return maxSafeInteger; } - return len; - } - - /** - * This method creates a new Observable sequence from an array-like or iterable object. - * @param {Any} arrayLike An array-like or iterable object to convert to an Observable sequence. - * @param {Function} [mapFn] Map function to call on every element of the array. - * @param {Any} [thisArg] The context to use calling the mapFn if provided. - * @param {Scheduler} [scheduler] Optional scheduler to use for scheduling. If not provided, defaults to Scheduler.currentThread. - */ - var observableFrom = Observable.from = function (iterable, mapFn, thisArg, scheduler) { - if (iterable == null) { - throw new Error('iterable cannot be null.') - } - if (mapFn && !isFunction(mapFn)) { - throw new Error('mapFn when provided must be a function'); - } - if (mapFn) { - var mapper = bindCallback(mapFn, thisArg, 2); - } - isScheduler(scheduler) || (scheduler = currentThreadScheduler); - return new FromObservable(iterable, mapper, scheduler); - } - - var FromArrayObservable = (function(__super__) { - inherits(FromArrayObservable, __super__); - function FromArrayObservable(args, scheduler) { - this._args = args; - this._scheduler = scheduler; - __super__.call(this); - } - - function scheduleMethod(o, args) { - var len = args.length; - return function loopRecursive (i, recurse) { - if (i < len) { - o.onNext(args[i]); - recurse(i + 1); - } else { - o.onCompleted(); - } - }; - } - - FromArrayObservable.prototype.subscribeCore = function (o) { - return this._scheduler.scheduleRecursive(0, scheduleMethod(o, this._args)); - }; - - return FromArrayObservable; - }(ObservableBase)); - - /** - * Converts an array to an observable sequence, using an optional scheduler to enumerate the array. - * @deprecated use Observable.from or Observable.of - * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on. - * @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence. - */ - var observableFromArray = Observable.fromArray = function (array, scheduler) { - isScheduler(scheduler) || (scheduler = currentThreadScheduler); - return new FromArrayObservable(array, scheduler) - }; - - var NeverObservable = (function(__super__) { - inherits(NeverObservable, __super__); - function NeverObservable() { - __super__.call(this); - } - - NeverObservable.prototype.subscribeCore = function (observer) { - return disposableEmpty; - }; - - return NeverObservable; - }(ObservableBase)); - - var NEVER_OBSERVABLE = new NeverObservable(); - - /** - * Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins). - * @returns {Observable} An observable sequence whose observers will never get called. - */ - var observableNever = Observable.never = function () { - return NEVER_OBSERVABLE; - }; - - function observableOf (scheduler, array) { - isScheduler(scheduler) || (scheduler = currentThreadScheduler); - return new FromArrayObservable(array, scheduler); - } - - /** - * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments. - * @returns {Observable} The observable sequence whose elements are pulled from the given arguments. - */ - Observable.of = function () { - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - return new FromArrayObservable(args, currentThreadScheduler); - }; - - /** - * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments. - * @param {Scheduler} scheduler A scheduler to use for scheduling the arguments. - * @returns {Observable} The observable sequence whose elements are pulled from the given arguments. - */ - Observable.ofWithScheduler = function (scheduler) { - var len = arguments.length, args = new Array(len - 1); - for(var i = 1; i < len; i++) { args[i - 1] = arguments[i]; } - return new FromArrayObservable(args, scheduler); - }; - - var PairsObservable = (function(__super__) { - inherits(PairsObservable, __super__); - function PairsObservable(o, scheduler) { - this._o = o; - this._keys = Object.keys(o); - this._scheduler = scheduler; - __super__.call(this); - } - - function scheduleMethod(o, obj, keys) { - return function loopRecursive(i, recurse) { - if (i < keys.length) { - var key = keys[i]; - o.onNext([key, obj[key]]); - recurse(i + 1); - } else { - o.onCompleted(); - } - }; - } - - PairsObservable.prototype.subscribeCore = function (o) { - return this._scheduler.scheduleRecursive(0, scheduleMethod(o, this._o, this._keys)); - }; - - return PairsObservable; - }(ObservableBase)); - - /** - * Convert an object into an observable sequence of [key, value] pairs. - * @param {Object} obj The object to inspect. - * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on. - * @returns {Observable} An observable sequence of [key, value] pairs from the object. - */ - Observable.pairs = function (obj, scheduler) { - scheduler || (scheduler = currentThreadScheduler); - return new PairsObservable(obj, scheduler); - }; - - var RangeObservable = (function(__super__) { - inherits(RangeObservable, __super__); - function RangeObservable(start, count, scheduler) { - this.start = start; - this.rangeCount = count; - this.scheduler = scheduler; - __super__.call(this); - } - - function loopRecursive(start, count, o) { - return function loop (i, recurse) { - if (i < count) { - o.onNext(start + i); - recurse(i + 1); - } else { - o.onCompleted(); - } - }; - } - - RangeObservable.prototype.subscribeCore = function (o) { - return this.scheduler.scheduleRecursive( - 0, - loopRecursive(this.start, this.rangeCount, o) - ); - }; - - return RangeObservable; - }(ObservableBase)); - - /** - * Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages. - * @param {Number} start The value of the first integer in the sequence. - * @param {Number} count The number of sequential integers to generate. - * @param {Scheduler} [scheduler] Scheduler to run the generator loop on. If not specified, defaults to Scheduler.currentThread. - * @returns {Observable} An observable sequence that contains a range of sequential integral numbers. - */ - Observable.range = function (start, count, scheduler) { - isScheduler(scheduler) || (scheduler = currentThreadScheduler); - return new RangeObservable(start, count, scheduler); - }; - - var RepeatObservable = (function(__super__) { - inherits(RepeatObservable, __super__); - function RepeatObservable(value, repeatCount, scheduler) { - this.value = value; - this.repeatCount = repeatCount == null ? -1 : repeatCount; - this.scheduler = scheduler; - __super__.call(this); - } - - RepeatObservable.prototype.subscribeCore = function (observer) { - var sink = new RepeatSink(observer, this); - return sink.run(); - }; - - return RepeatObservable; - }(ObservableBase)); - - function RepeatSink(observer, parent) { - this.observer = observer; - this.parent = parent; - } - - RepeatSink.prototype.run = function () { - var observer = this.observer, value = this.parent.value; - function loopRecursive(i, recurse) { - if (i === -1 || i > 0) { - observer.onNext(value); - i > 0 && i--; - } - if (i === 0) { return observer.onCompleted(); } - recurse(i); - } - - return this.parent.scheduler.scheduleRecursive(this.parent.repeatCount, loopRecursive); - }; - - /** - * Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages. - * @param {Mixed} value Element to repeat. - * @param {Number} repeatCount [Optiona] Number of times to repeat the element. If not specified, repeats indefinitely. - * @param {Scheduler} scheduler Scheduler to run the producer loop on. If not specified, defaults to Scheduler.immediate. - * @returns {Observable} An observable sequence that repeats the given element the specified number of times. - */ - Observable.repeat = function (value, repeatCount, scheduler) { - isScheduler(scheduler) || (scheduler = currentThreadScheduler); - return new RepeatObservable(value, repeatCount, scheduler); - }; - - var JustObservable = (function(__super__) { - inherits(JustObservable, __super__); - function JustObservable(value, scheduler) { - this._value = value; - this._scheduler = scheduler; - __super__.call(this); - } - - JustObservable.prototype.subscribeCore = function (o) { - var state = [this._value, o]; - return this._scheduler === immediateScheduler ? - scheduleItem(null, state) : - this._scheduler.schedule(state, scheduleItem); - }; - - function scheduleItem(s, state) { - var value = state[0], observer = state[1]; - observer.onNext(value); - observer.onCompleted(); - return disposableEmpty; - } - - return JustObservable; - }(ObservableBase)); - - /** - * Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages. - * There is an alias called 'just' or browsers 0) { - this.parent.handleSubscribe(this.parent.q.shift()); - } else { - this.parent.activeCount--; - this.parent.done && this.parent.activeCount === 0 && this.parent.o.onCompleted(); - } - }; - - return MergeObserver; - }(AbstractObserver)); - - /** - * Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences. - * Or merges two observable sequences into a single observable sequence. - * @param {Mixed} [maxConcurrentOrOther] Maximum number of inner observable sequences being subscribed to concurrently or the second observable sequence. - * @returns {Observable} The observable sequence that merges the elements of the inner sequences. - */ - observableProto.merge = function (maxConcurrentOrOther) { - return typeof maxConcurrentOrOther !== 'number' ? - observableMerge(this, maxConcurrentOrOther) : - new MergeObservable(this, maxConcurrentOrOther); - }; - - /** - * Merges all the observable sequences into a single observable sequence. - * The scheduler is optional and if not specified, the immediate scheduler is used. - * @returns {Observable} The observable sequence that merges the elements of the observable sequences. - */ - var observableMerge = Observable.merge = function () { - var scheduler, sources = [], i, len = arguments.length; - if (!arguments[0]) { - scheduler = immediateScheduler; - for(i = 1; i < len; i++) { sources.push(arguments[i]); } - } else if (isScheduler(arguments[0])) { - scheduler = arguments[0]; - for(i = 1; i < len; i++) { sources.push(arguments[i]); } - } else { - scheduler = immediateScheduler; - for(i = 0; i < len; i++) { sources.push(arguments[i]); } - } - if (Array.isArray(sources[0])) { - sources = sources[0]; - } - return observableOf(scheduler, sources).mergeAll(); - }; - - var CompositeError = Rx.CompositeError = function(errors) { - this.innerErrors = errors; - this.message = 'This contains multiple errors. Check the innerErrors'; - Error.call(this); - }; - CompositeError.prototype = Object.create(Error.prototype); - CompositeError.prototype.name = 'CompositeError'; - - var MergeDelayErrorObservable = (function(__super__) { - inherits(MergeDelayErrorObservable, __super__); - function MergeDelayErrorObservable(source) { - this.source = source; - __super__.call(this); - } - - MergeDelayErrorObservable.prototype.subscribeCore = function (o) { - var group = new CompositeDisposable(), - m = new SingleAssignmentDisposable(), - state = { isStopped: false, errors: [], o: o }; - - group.add(m); - m.setDisposable(this.source.subscribe(new MergeDelayErrorObserver(group, state))); - - return group; - }; - - return MergeDelayErrorObservable; - }(ObservableBase)); - - var MergeDelayErrorObserver = (function(__super__) { - inherits(MergeDelayErrorObserver, __super__); - function MergeDelayErrorObserver(group, state) { - this._group = group; - this._state = state; - __super__.call(this); - } - - function setCompletion(o, errors) { - if (errors.length === 0) { - o.onCompleted(); - } else if (errors.length === 1) { - o.onError(errors[0]); - } else { - o.onError(new CompositeError(errors)); - } - } - - MergeDelayErrorObserver.prototype.next = function (x) { - var inner = new SingleAssignmentDisposable(); - this._group.add(inner); - - // Check for promises support - isPromise(x) && (x = observableFromPromise(x)); - inner.setDisposable(x.subscribe(new InnerObserver(inner, this._group, this._state))); - }; - - MergeDelayErrorObserver.prototype.error = function (e) { - this._state.errors.push(e); - this._state.isStopped = true; - this._group.length === 1 && setCompletion(this._state.o, this._state.errors); - }; - - MergeDelayErrorObserver.prototype.completed = function () { - this._state.isStopped = true; - this._group.length === 1 && setCompletion(this._state.o, this._state.errors); - }; - - inherits(InnerObserver, __super__); - function InnerObserver(inner, group, state) { - this._inner = inner; - this._group = group; - this._state = state; - __super__.call(this); - } - - InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); }; - InnerObserver.prototype.error = function (e) { - this._state.errors.push(e); - this._group.remove(this._inner); - this._state.isStopped && this._group.length === 1 && setCompletion(this._state.o, this._state.errors); - }; - InnerObserver.prototype.completed = function () { - this._group.remove(this._inner); - this._state.isStopped && this._group.length === 1 && setCompletion(this._state.o, this._state.errors); - }; - - return MergeDelayErrorObserver; - }(AbstractObserver)); - - /** - * Flattens an Observable that emits Observables into one Observable, in a way that allows an Observer to - * receive all successfully emitted items from all of the source Observables without being interrupted by - * an error notification from one of them. - * - * This behaves like Observable.prototype.mergeAll except that if any of the merged Observables notify of an - * error via the Observer's onError, mergeDelayError will refrain from propagating that - * error notification until all of the merged Observables have finished emitting items. - * @param {Array | Arguments} args Arguments or an array to merge. - * @returns {Observable} an Observable that emits all of the items emitted by the Observables emitted by the Observable - */ - Observable.mergeDelayError = function() { - var args; - if (Array.isArray(arguments[0])) { - args = arguments[0]; - } else { - var len = arguments.length; - args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - } - var source = observableOf(null, args); - return new MergeDelayErrorObservable(source); - }; - - var MergeAllObservable = (function (__super__) { - inherits(MergeAllObservable, __super__); - - function MergeAllObservable(source) { - this.source = source; - __super__.call(this); - } - - MergeAllObservable.prototype.subscribeCore = function (o) { - var g = new CompositeDisposable(), m = new SingleAssignmentDisposable(); - g.add(m); - m.setDisposable(this.source.subscribe(new MergeAllObserver(o, g))); - return g; - }; - - return MergeAllObservable; - }(ObservableBase)); - - var MergeAllObserver = (function (__super__) { - function MergeAllObserver(o, g) { - this.o = o; - this.g = g; - this.done = false; - __super__.call(this); - } - - inherits(MergeAllObserver, __super__); - - MergeAllObserver.prototype.next = function(innerSource) { - var sad = new SingleAssignmentDisposable(); - this.g.add(sad); - isPromise(innerSource) && (innerSource = observableFromPromise(innerSource)); - sad.setDisposable(innerSource.subscribe(new InnerObserver(this, sad))); - }; - - MergeAllObserver.prototype.error = function (e) { - this.o.onError(e); - }; - - MergeAllObserver.prototype.completed = function () { - this.done = true; - this.g.length === 1 && this.o.onCompleted(); - }; - - function InnerObserver(parent, sad) { - this.parent = parent; - this.sad = sad; - __super__.call(this); - } - - inherits(InnerObserver, __super__); - - InnerObserver.prototype.next = function (x) { - this.parent.o.onNext(x); - }; - InnerObserver.prototype.error = function (e) { - this.parent.o.onError(e); - }; - InnerObserver.prototype.completed = function () { - this.parent.g.remove(this.sad); - this.parent.done && this.parent.g.length === 1 && this.parent.o.onCompleted(); - }; - - return MergeAllObserver; - }(AbstractObserver)); - - /** - * Merges an observable sequence of observable sequences into an observable sequence. - * @returns {Observable} The observable sequence that merges the elements of the inner sequences. - */ - observableProto.mergeAll = function () { - return new MergeAllObservable(this); - }; - - var SkipUntilObservable = (function(__super__) { - inherits(SkipUntilObservable, __super__); - - function SkipUntilObservable(source, other) { - this._s = source; - this._o = isPromise(other) ? observableFromPromise(other) : other; - this._open = false; - __super__.call(this); - } - - SkipUntilObservable.prototype.subscribeCore = function(o) { - var leftSubscription = new SingleAssignmentDisposable(); - leftSubscription.setDisposable(this._s.subscribe(new SkipUntilSourceObserver(o, this))); - - isPromise(this._o) && (this._o = observableFromPromise(this._o)); - - var rightSubscription = new SingleAssignmentDisposable(); - rightSubscription.setDisposable(this._o.subscribe(new SkipUntilOtherObserver(o, this, rightSubscription))); - - return new BinaryDisposable(leftSubscription, rightSubscription); - }; - - return SkipUntilObservable; - }(ObservableBase)); - - var SkipUntilSourceObserver = (function(__super__) { - inherits(SkipUntilSourceObserver, __super__); - function SkipUntilSourceObserver(o, p) { - this._o = o; - this._p = p; - __super__.call(this); - } - - SkipUntilSourceObserver.prototype.next = function (x) { - this._p._open && this._o.onNext(x); - }; - - SkipUntilSourceObserver.prototype.error = function (err) { - this._o.onError(err); - }; - - SkipUntilSourceObserver.prototype.onCompleted = function () { - this._p._open && this._o.onCompleted(); - }; - - return SkipUntilSourceObserver; - }(AbstractObserver)); - - var SkipUntilOtherObserver = (function(__super__) { - inherits(SkipUntilOtherObserver, __super__); - function SkipUntilOtherObserver(o, p, r) { - this._o = o; - this._p = p; - this._r = r; - __super__.call(this); - } - - SkipUntilOtherObserver.prototype.next = function () { - this._p._open = true; - this._r.dispose(); - }; - - SkipUntilOtherObserver.prototype.error = function (err) { - this._o.onError(err); - }; - - SkipUntilOtherObserver.prototype.onCompleted = function () { - this._r.dispose(); - }; - - return SkipUntilOtherObserver; - }(AbstractObserver)); - - /** - * Returns the values from the source observable sequence only after the other observable sequence produces a value. - * @param {Observable | Promise} other The observable sequence or Promise that triggers propagation of elements of the source sequence. - * @returns {Observable} An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. - */ - observableProto.skipUntil = function (other) { - return new SkipUntilObservable(this, other); - }; - - var SwitchObservable = (function(__super__) { - inherits(SwitchObservable, __super__); - function SwitchObservable(source) { - this.source = source; - __super__.call(this); - } - - SwitchObservable.prototype.subscribeCore = function (o) { - var inner = new SerialDisposable(), s = this.source.subscribe(new SwitchObserver(o, inner)); - return new BinaryDisposable(s, inner); - }; - - inherits(SwitchObserver, AbstractObserver); - function SwitchObserver(o, inner) { - this.o = o; - this.inner = inner; - this.stopped = false; - this.latest = 0; - this.hasLatest = false; - AbstractObserver.call(this); - } - - SwitchObserver.prototype.next = function (innerSource) { - var d = new SingleAssignmentDisposable(), id = ++this.latest; - this.hasLatest = true; - this.inner.setDisposable(d); - isPromise(innerSource) && (innerSource = observableFromPromise(innerSource)); - d.setDisposable(innerSource.subscribe(new InnerObserver(this, id))); - }; - - SwitchObserver.prototype.error = function (e) { - this.o.onError(e); - }; - - SwitchObserver.prototype.completed = function () { - this.stopped = true; - !this.hasLatest && this.o.onCompleted(); - }; - - inherits(InnerObserver, AbstractObserver); - function InnerObserver(parent, id) { - this.parent = parent; - this.id = id; - AbstractObserver.call(this); - } - InnerObserver.prototype.next = function (x) { - this.parent.latest === this.id && this.parent.o.onNext(x); - }; - - InnerObserver.prototype.error = function (e) { - this.parent.latest === this.id && this.parent.o.onError(e); - }; - - InnerObserver.prototype.completed = function () { - if (this.parent.latest === this.id) { - this.parent.hasLatest = false; - this.parent.stopped && this.parent.o.onCompleted(); - } - }; - - return SwitchObservable; - }(ObservableBase)); - - /** - * Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence. - * @returns {Observable} The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. - */ - observableProto['switch'] = observableProto.switchLatest = function () { - return new SwitchObservable(this); - }; - - var TakeUntilObservable = (function(__super__) { - inherits(TakeUntilObservable, __super__); - - function TakeUntilObservable(source, other) { - this.source = source; - this.other = isPromise(other) ? observableFromPromise(other) : other; - __super__.call(this); - } - - TakeUntilObservable.prototype.subscribeCore = function(o) { - return new BinaryDisposable( - this.source.subscribe(o), - this.other.subscribe(new TakeUntilObserver(o)) - ); - }; - - return TakeUntilObservable; - }(ObservableBase)); - - var TakeUntilObserver = (function(__super__) { - inherits(TakeUntilObserver, __super__); - function TakeUntilObserver(o) { - this._o = o; - __super__.call(this); - } - - TakeUntilObserver.prototype.next = function () { - this._o.onCompleted(); - }; - - TakeUntilObserver.prototype.error = function (err) { - this._o.onError(err); - }; - - TakeUntilObserver.prototype.onCompleted = noop; - - return TakeUntilObserver; - }(AbstractObserver)); - - /** - * Returns the values from the source observable sequence until the other observable sequence produces a value. - * @param {Observable | Promise} other Observable sequence or Promise that terminates propagation of elements of the source sequence. - * @returns {Observable} An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. - */ - observableProto.takeUntil = function (other) { - return new TakeUntilObservable(this, other); - }; - - function falseFactory() { return false; } - function argumentsToArray() { - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - return args; - } - - var WithLatestFromObservable = (function(__super__) { - inherits(WithLatestFromObservable, __super__); - function WithLatestFromObservable(source, sources, resultSelector) { - this._s = source; - this._ss = sources; - this._cb = resultSelector; - __super__.call(this); - } - - WithLatestFromObservable.prototype.subscribeCore = function (o) { - var len = this._ss.length; - var state = { - hasValue: arrayInitialize(len, falseFactory), - hasValueAll: false, - values: new Array(len) - }; - - var n = this._ss.length, subscriptions = new Array(n + 1); - for (var i = 0; i < n; i++) { - var other = this._ss[i], sad = new SingleAssignmentDisposable(); - isPromise(other) && (other = observableFromPromise(other)); - sad.setDisposable(other.subscribe(new WithLatestFromOtherObserver(o, i, state))); - subscriptions[i] = sad; - } - - var outerSad = new SingleAssignmentDisposable(); - outerSad.setDisposable(this._s.subscribe(new WithLatestFromSourceObserver(o, this._cb, state))); - subscriptions[n] = outerSad; - - return new NAryDisposable(subscriptions); - }; - - return WithLatestFromObservable; - }(ObservableBase)); - - var WithLatestFromOtherObserver = (function (__super__) { - inherits(WithLatestFromOtherObserver, __super__); - function WithLatestFromOtherObserver(o, i, state) { - this._o = o; - this._i = i; - this._state = state; - __super__.call(this); - } - - WithLatestFromOtherObserver.prototype.next = function (x) { - this._state.values[this._i] = x; - this._state.hasValue[this._i] = true; - this._state.hasValueAll = this._state.hasValue.every(identity); - }; - - WithLatestFromOtherObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - WithLatestFromOtherObserver.prototype.completed = noop; - - return WithLatestFromOtherObserver; - }(AbstractObserver)); - - var WithLatestFromSourceObserver = (function (__super__) { - inherits(WithLatestFromSourceObserver, __super__); - function WithLatestFromSourceObserver(o, cb, state) { - this._o = o; - this._cb = cb; - this._state = state; - __super__.call(this); - } - - WithLatestFromSourceObserver.prototype.next = function (x) { - var allValues = [x].concat(this._state.values); - if (!this._state.hasValueAll) { return; } - var res = tryCatch(this._cb).apply(null, allValues); - if (res === errorObj) { return this._o.onError(res.e); } - this._o.onNext(res); - }; - - WithLatestFromSourceObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - WithLatestFromSourceObserver.prototype.completed = function () { - this._o.onCompleted(); - }; - - return WithLatestFromSourceObserver; - }(AbstractObserver)); - - /** - * Merges the specified observable sequences into one observable sequence by using the selector function only when the (first) source observable sequence produces an element. - * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function. - */ - observableProto.withLatestFrom = function () { - if (arguments.length === 0) { throw new Error('invalid arguments'); } - - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray; - Array.isArray(args[0]) && (args = args[0]); - - return new WithLatestFromObservable(this, args, resultSelector); - }; - - function falseFactory() { return false; } - function emptyArrayFactory() { return []; } - - var ZipObservable = (function(__super__) { - inherits(ZipObservable, __super__); - function ZipObservable(sources, resultSelector) { - this._s = sources; - this._cb = resultSelector; - __super__.call(this); - } - - ZipObservable.prototype.subscribeCore = function(observer) { - var n = this._s.length, - subscriptions = new Array(n), - done = arrayInitialize(n, falseFactory), - q = arrayInitialize(n, emptyArrayFactory); - - for (var i = 0; i < n; i++) { - var source = this._s[i], sad = new SingleAssignmentDisposable(); - subscriptions[i] = sad; - isPromise(source) && (source = observableFromPromise(source)); - sad.setDisposable(source.subscribe(new ZipObserver(observer, i, this, q, done))); - } - - return new NAryDisposable(subscriptions); - }; - - return ZipObservable; - }(ObservableBase)); - - var ZipObserver = (function (__super__) { - inherits(ZipObserver, __super__); - function ZipObserver(o, i, p, q, d) { - this._o = o; - this._i = i; - this._p = p; - this._q = q; - this._d = d; - __super__.call(this); - } - - function notEmpty(x) { return x.length > 0; } - function shiftEach(x) { return x.shift(); } - function notTheSame(i) { - return function (x, j) { - return j !== i; - }; - } - - ZipObserver.prototype.next = function (x) { - this._q[this._i].push(x); - if (this._q.every(notEmpty)) { - var queuedValues = this._q.map(shiftEach); - var res = tryCatch(this._p._cb).apply(null, queuedValues); - if (res === errorObj) { return this._o.onError(res.e); } - this._o.onNext(res); - } else if (this._d.filter(notTheSame(this._i)).every(identity)) { - this._o.onCompleted(); - } - }; - - ZipObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ZipObserver.prototype.completed = function () { - this._d[this._i] = true; - this._d.every(identity) && this._o.onCompleted(); - }; - - return ZipObserver; - }(AbstractObserver)); - - /** - * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index. - * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args. - * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function. - */ - observableProto.zip = function () { - if (arguments.length === 0) { throw new Error('invalid arguments'); } - - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray; - Array.isArray(args[0]) && (args = args[0]); - - var parent = this; - args.unshift(parent); - - return new ZipObservable(args, resultSelector); - }; - - /** - * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index. - * @param arguments Observable sources. - * @param {Function} resultSelector Function to invoke for each series of elements at corresponding indexes in the sources. - * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function. - */ - Observable.zip = function () { - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - if (Array.isArray(args[0])) { - args = isFunction(args[1]) ? args[0].concat(args[1]) : args[0]; - } - var first = args.shift(); - return first.zip.apply(first, args); - }; - -function falseFactory() { return false; } -function emptyArrayFactory() { return []; } -function argumentsToArray() { - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - return args; -} - -var ZipIterableObservable = (function(__super__) { - inherits(ZipIterableObservable, __super__); - function ZipIterableObservable(sources, cb) { - this.sources = sources; - this._cb = cb; - __super__.call(this); - } - - ZipIterableObservable.prototype.subscribeCore = function (o) { - var sources = this.sources, len = sources.length, subscriptions = new Array(len); - - var state = { - q: arrayInitialize(len, emptyArrayFactory), - done: arrayInitialize(len, falseFactory), - cb: this._cb, - o: o - }; - - for (var i = 0; i < len; i++) { - (function (i) { - var source = sources[i], sad = new SingleAssignmentDisposable(); - (isArrayLike(source) || isIterable(source)) && (source = observableFrom(source)); - - subscriptions[i] = sad; - sad.setDisposable(source.subscribe(new ZipIterableObserver(state, i))); - }(i)); - } - - return new NAryDisposable(subscriptions); - }; - - return ZipIterableObservable; -}(ObservableBase)); - -var ZipIterableObserver = (function (__super__) { - inherits(ZipIterableObserver, __super__); - function ZipIterableObserver(s, i) { - this._s = s; - this._i = i; - __super__.call(this); - } - - function notEmpty(x) { return x.length > 0; } - function shiftEach(x) { return x.shift(); } - function notTheSame(i) { - return function (x, j) { - return j !== i; - }; - } - - ZipIterableObserver.prototype.next = function (x) { - this._s.q[this._i].push(x); - if (this._s.q.every(notEmpty)) { - var queuedValues = this._s.q.map(shiftEach), - res = tryCatch(this._s.cb).apply(null, queuedValues); - if (res === errorObj) { return this._s.o.onError(res.e); } - this._s.o.onNext(res); - } else if (this._s.done.filter(notTheSame(this._i)).every(identity)) { - this._s.o.onCompleted(); - } - }; - - ZipIterableObserver.prototype.error = function (e) { this._s.o.onError(e); }; - - ZipIterableObserver.prototype.completed = function () { - this._s.done[this._i] = true; - this._s.done.every(identity) && this._s.o.onCompleted(); - }; - - return ZipIterableObserver; -}(AbstractObserver)); - -/** - * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index. - * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args. - * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function. - */ -observableProto.zipIterable = function () { - if (arguments.length === 0) { throw new Error('invalid arguments'); } - - var len = arguments.length, args = new Array(len); - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray; - - var parent = this; - args.unshift(parent); - return new ZipIterableObservable(args, resultSelector); -}; - - function asObservable(source) { - return function subscribe(o) { return source.subscribe(o); }; - } - - /** - * Hides the identity of an observable sequence. - * @returns {Observable} An observable sequence that hides the identity of the source sequence. - */ - observableProto.asObservable = function () { - return new AnonymousObservable(asObservable(this), this); - }; - - var DematerializeObservable = (function (__super__) { - inherits(DematerializeObservable, __super__); - function DematerializeObservable(source) { - this.source = source; - __super__.call(this); - } - - DematerializeObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new DematerializeObserver(o)); - }; - - return DematerializeObservable; - }(ObservableBase)); - - var DematerializeObserver = (function (__super__) { - inherits(DematerializeObserver, __super__); - - function DematerializeObserver(o) { - this._o = o; - __super__.call(this); - } - - DematerializeObserver.prototype.next = function (x) { x.accept(this._o); }; - DematerializeObserver.prototype.error = function (e) { this._o.onError(e); }; - DematerializeObserver.prototype.completed = function () { this._o.onCompleted(); }; - - return DematerializeObserver; - }(AbstractObserver)); - - /** - * Dematerializes the explicit notification values of an observable sequence as implicit notifications. - * @returns {Observable} An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. - */ - observableProto.dematerialize = function () { - return new DematerializeObservable(this); - }; - - var DistinctUntilChangedObservable = (function(__super__) { - inherits(DistinctUntilChangedObservable, __super__); - function DistinctUntilChangedObservable(source, keyFn, comparer) { - this.source = source; - this.keyFn = keyFn; - this.comparer = comparer; - __super__.call(this); - } - - DistinctUntilChangedObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new DistinctUntilChangedObserver(o, this.keyFn, this.comparer)); - }; - - return DistinctUntilChangedObservable; - }(ObservableBase)); - - var DistinctUntilChangedObserver = (function(__super__) { - inherits(DistinctUntilChangedObserver, __super__); - function DistinctUntilChangedObserver(o, keyFn, comparer) { - this.o = o; - this.keyFn = keyFn; - this.comparer = comparer; - this.hasCurrentKey = false; - this.currentKey = null; - __super__.call(this); - } - - DistinctUntilChangedObserver.prototype.next = function (x) { - var key = x, comparerEquals; - if (isFunction(this.keyFn)) { - key = tryCatch(this.keyFn)(x); - if (key === errorObj) { return this.o.onError(key.e); } - } - if (this.hasCurrentKey) { - comparerEquals = tryCatch(this.comparer)(this.currentKey, key); - if (comparerEquals === errorObj) { return this.o.onError(comparerEquals.e); } - } - if (!this.hasCurrentKey || !comparerEquals) { - this.hasCurrentKey = true; - this.currentKey = key; - this.o.onNext(x); - } - }; - DistinctUntilChangedObserver.prototype.error = function(e) { - this.o.onError(e); - }; - DistinctUntilChangedObserver.prototype.completed = function () { - this.o.onCompleted(); - }; - - return DistinctUntilChangedObserver; - }(AbstractObserver)); - - /** - * Returns an observable sequence that contains only distinct contiguous elements according to the keyFn and the comparer. - * @param {Function} [keyFn] A function to compute the comparison key for each element. If not provided, it projects the value. - * @param {Function} [comparer] Equality comparer for computed key values. If not provided, defaults to an equality comparer function. - * @returns {Observable} An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. - */ - observableProto.distinctUntilChanged = function (keyFn, comparer) { - comparer || (comparer = defaultComparer); - return new DistinctUntilChangedObservable(this, keyFn, comparer); - }; - - var TapObservable = (function(__super__) { - inherits(TapObservable,__super__); - function TapObservable(source, observerOrOnNext, onError, onCompleted) { - this.source = source; - this._oN = observerOrOnNext; - this._oE = onError; - this._oC = onCompleted; - __super__.call(this); - } - - TapObservable.prototype.subscribeCore = function(o) { - return this.source.subscribe(new InnerObserver(o, this)); - }; - - inherits(InnerObserver, AbstractObserver); - function InnerObserver(o, p) { - this.o = o; - this.t = !p._oN || isFunction(p._oN) ? - observerCreate(p._oN || noop, p._oE || noop, p._oC || noop) : - p._oN; - this.isStopped = false; - AbstractObserver.call(this); - } - InnerObserver.prototype.next = function(x) { - var res = tryCatch(this.t.onNext).call(this.t, x); - if (res === errorObj) { this.o.onError(res.e); } - this.o.onNext(x); - }; - InnerObserver.prototype.error = function(err) { - var res = tryCatch(this.t.onError).call(this.t, err); - if (res === errorObj) { return this.o.onError(res.e); } - this.o.onError(err); - }; - InnerObserver.prototype.completed = function() { - var res = tryCatch(this.t.onCompleted).call(this.t); - if (res === errorObj) { return this.o.onError(res.e); } - this.o.onCompleted(); - }; - - return TapObservable; - }(ObservableBase)); - - /** - * Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. - * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. - * @param {Function | Observer} observerOrOnNext Action to invoke for each element in the observable sequence or an o. - * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function. - * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function. - * @returns {Observable} The source sequence with the side-effecting behavior applied. - */ - observableProto['do'] = observableProto.tap = observableProto.doAction = function (observerOrOnNext, onError, onCompleted) { - return new TapObservable(this, observerOrOnNext, onError, onCompleted); - }; - - /** - * Invokes an action for each element in the observable sequence. - * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. - * @param {Function} onNext Action to invoke for each element in the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} The source sequence with the side-effecting behavior applied. - */ - observableProto.doOnNext = observableProto.tapOnNext = function (onNext, thisArg) { - return this.tap(typeof thisArg !== 'undefined' ? function (x) { onNext.call(thisArg, x); } : onNext); - }; - - /** - * Invokes an action upon exceptional termination of the observable sequence. - * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. - * @param {Function} onError Action to invoke upon exceptional termination of the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} The source sequence with the side-effecting behavior applied. - */ - observableProto.doOnError = observableProto.tapOnError = function (onError, thisArg) { - return this.tap(noop, typeof thisArg !== 'undefined' ? function (e) { onError.call(thisArg, e); } : onError); - }; - - /** - * Invokes an action upon graceful termination of the observable sequence. - * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline. - * @param {Function} onCompleted Action to invoke upon graceful termination of the observable sequence. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} The source sequence with the side-effecting behavior applied. - */ - observableProto.doOnCompleted = observableProto.tapOnCompleted = function (onCompleted, thisArg) { - return this.tap(noop, null, typeof thisArg !== 'undefined' ? function () { onCompleted.call(thisArg); } : onCompleted); - }; - - var FinallyObservable = (function (__super__) { - inherits(FinallyObservable, __super__); - function FinallyObservable(source, fn, thisArg) { - this.source = source; - this._fn = bindCallback(fn, thisArg, 0); - __super__.call(this); - } - - FinallyObservable.prototype.subscribeCore = function (o) { - var d = tryCatch(this.source.subscribe).call(this.source, o); - if (d === errorObj) { - this._fn(); - thrower(d.e); - } - - return new FinallyDisposable(d, this._fn); - }; - - function FinallyDisposable(s, fn) { - this.isDisposed = false; - this._s = s; - this._fn = fn; - } - FinallyDisposable.prototype.dispose = function () { - if (!this.isDisposed) { - var res = tryCatch(this._s.dispose).call(this._s); - this._fn(); - res === errorObj && thrower(res.e); - } - }; - - return FinallyObservable; - - }(ObservableBase)); - - /** - * Invokes a specified action after the source observable sequence terminates gracefully or exceptionally. - * @param {Function} finallyAction Action to invoke after the source observable sequence terminates. - * @returns {Observable} Source sequence with the action-invoking termination behavior applied. - */ - observableProto['finally'] = function (action, thisArg) { - return new FinallyObservable(this, action, thisArg); - }; - - var IgnoreElementsObservable = (function(__super__) { - inherits(IgnoreElementsObservable, __super__); - - function IgnoreElementsObservable(source) { - this.source = source; - __super__.call(this); - } - - IgnoreElementsObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new InnerObserver(o)); - }; - - function InnerObserver(o) { - this.o = o; - this.isStopped = false; - } - InnerObserver.prototype.onNext = noop; - InnerObserver.prototype.onError = function (err) { - if(!this.isStopped) { - this.isStopped = true; - this.o.onError(err); - } - }; - InnerObserver.prototype.onCompleted = function () { - if(!this.isStopped) { - this.isStopped = true; - this.o.onCompleted(); - } - }; - InnerObserver.prototype.dispose = function() { this.isStopped = true; }; - InnerObserver.prototype.fail = function (e) { - if (!this.isStopped) { - this.isStopped = true; - this.observer.onError(e); - return true; - } - - return false; - }; - - return IgnoreElementsObservable; - }(ObservableBase)); - - /** - * Ignores all elements in an observable sequence leaving only the termination messages. - * @returns {Observable} An empty observable sequence that signals termination, successful or exceptional, of the source sequence. - */ - observableProto.ignoreElements = function () { - return new IgnoreElementsObservable(this); - }; - - var MaterializeObservable = (function (__super__) { - inherits(MaterializeObservable, __super__); - function MaterializeObservable(source, fn) { - this.source = source; - __super__.call(this); - } - - MaterializeObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new MaterializeObserver(o)); - }; - - return MaterializeObservable; - }(ObservableBase)); - - var MaterializeObserver = (function (__super__) { - inherits(MaterializeObserver, __super__); - - function MaterializeObserver(o) { - this._o = o; - __super__.call(this); - } - - MaterializeObserver.prototype.next = function (x) { this._o.onNext(notificationCreateOnNext(x)) }; - MaterializeObserver.prototype.error = function (e) { this._o.onNext(notificationCreateOnError(e)); this._o.onCompleted(); }; - MaterializeObserver.prototype.completed = function () { this._o.onNext(notificationCreateOnCompleted()); this._o.onCompleted(); }; - - return MaterializeObserver; - }(AbstractObserver)); - - /** - * Materializes the implicit notifications of an observable sequence as explicit notification values. - * @returns {Observable} An observable sequence containing the materialized notification values from the source sequence. - */ - observableProto.materialize = function () { - return new MaterializeObservable(this); - }; - - /** - * Repeats the observable sequence a specified number of times. If the repeat count is not specified, the sequence repeats indefinitely. - * @param {Number} [repeatCount] Number of times to repeat the sequence. If not provided, repeats the sequence indefinitely. - * @returns {Observable} The observable sequence producing the elements of the given sequence repeatedly. - */ - observableProto.repeat = function (repeatCount) { - return enumerableRepeat(this, repeatCount).concat(); - }; - - /** - * Repeats the source observable sequence the specified number of times or until it successfully terminates. If the retry count is not specified, it retries indefinitely. - * Note if you encounter an error and want it to retry once, then you must use .retry(2); - * - * @example - * var res = retried = retry.repeat(); - * var res = retried = retry.repeat(2); - * @param {Number} [retryCount] Number of times to retry the sequence. If not provided, retry the sequence indefinitely. - * @returns {Observable} An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. - */ - observableProto.retry = function (retryCount) { - return enumerableRepeat(this, retryCount).catchError(); - }; - - function repeat(value) { - return { - '@@iterator': function () { - return { - next: function () { - return { done: false, value: value }; - } - }; - } - }; - } - - var RetryWhenObservable = (function(__super__) { - function createDisposable(state) { - return { - isDisposed: false, - dispose: function () { - if (!this.isDisposed) { - this.isDisposed = true; - state.isDisposed = true; - } - } - }; - } - - function RetryWhenObservable(source, notifier) { - this.source = source; - this._notifier = notifier; - __super__.call(this); - } - - inherits(RetryWhenObservable, __super__); - - RetryWhenObservable.prototype.subscribeCore = function (o) { - var exceptions = new Subject(), - notifier = new Subject(), - handled = this._notifier(exceptions), - notificationDisposable = handled.subscribe(notifier); - - var e = this.source['@@iterator'](); - - var state = { isDisposed: false }, - lastError, - subscription = new SerialDisposable(); - var cancelable = currentThreadScheduler.scheduleRecursive(null, function (_, recurse) { - if (state.isDisposed) { return; } - var currentItem = e.next(); - - if (currentItem.done) { - if (lastError) { - o.onError(lastError); - } else { - o.onCompleted(); - } - return; - } - - // Check if promise - var currentValue = currentItem.value; - isPromise(currentValue) && (currentValue = observableFromPromise(currentValue)); - - var outer = new SingleAssignmentDisposable(); - var inner = new SingleAssignmentDisposable(); - subscription.setDisposable(new BinaryDisposable(inner, outer)); - outer.setDisposable(currentValue.subscribe( - function(x) { o.onNext(x); }, - function (exn) { - inner.setDisposable(notifier.subscribe(recurse, function(ex) { - o.onError(ex); - }, function() { - o.onCompleted(); - })); - - exceptions.onNext(exn); - outer.dispose(); - }, - function() { o.onCompleted(); })); - }); - - return new NAryDisposable([notificationDisposable, subscription, cancelable, createDisposable(state)]); - }; - - return RetryWhenObservable; - }(ObservableBase)); - - observableProto.retryWhen = function (notifier) { - return new RetryWhenObservable(repeat(this), notifier); - }; - - function repeat(value) { - return { - '@@iterator': function () { - return { - next: function () { - return { done: false, value: value }; - } - }; - } - }; - } - - var RepeatWhenObservable = (function(__super__) { - function createDisposable(state) { - return { - isDisposed: false, - dispose: function () { - if (!this.isDisposed) { - this.isDisposed = true; - state.isDisposed = true; - } - } - }; - } - - function RepeatWhenObservable(source, notifier) { - this.source = source; - this._notifier = notifier; - __super__.call(this); - } - - inherits(RepeatWhenObservable, __super__); - - RepeatWhenObservable.prototype.subscribeCore = function (o) { - var completions = new Subject(), - notifier = new Subject(), - handled = this._notifier(completions), - notificationDisposable = handled.subscribe(notifier); - - var e = this.source['@@iterator'](); - - var state = { isDisposed: false }, - lastError, - subscription = new SerialDisposable(); - var cancelable = currentThreadScheduler.scheduleRecursive(null, function (_, recurse) { - if (state.isDisposed) { return; } - var currentItem = e.next(); - - if (currentItem.done) { - if (lastError) { - o.onError(lastError); - } else { - o.onCompleted(); - } - return; - } - - // Check if promise - var currentValue = currentItem.value; - isPromise(currentValue) && (currentValue = observableFromPromise(currentValue)); - - var outer = new SingleAssignmentDisposable(); - var inner = new SingleAssignmentDisposable(); - subscription.setDisposable(new BinaryDisposable(inner, outer)); - outer.setDisposable(currentValue.subscribe( - function(x) { o.onNext(x); }, - function (exn) { o.onError(exn); }, - function() { - inner.setDisposable(notifier.subscribe(recurse, function(ex) { - o.onError(ex); - }, function() { - o.onCompleted(); - })); - - completions.onNext(null); - outer.dispose(); - })); - }); - - return new NAryDisposable([notificationDisposable, subscription, cancelable, createDisposable(state)]); - }; - - return RepeatWhenObservable; - }(ObservableBase)); - - observableProto.repeatWhen = function (notifier) { - return new RepeatWhenObservable(repeat(this), notifier); - }; - - var ScanObservable = (function(__super__) { - inherits(ScanObservable, __super__); - function ScanObservable(source, accumulator, hasSeed, seed) { - this.source = source; - this.accumulator = accumulator; - this.hasSeed = hasSeed; - this.seed = seed; - __super__.call(this); - } - - ScanObservable.prototype.subscribeCore = function(o) { - return this.source.subscribe(new ScanObserver(o,this)); - }; - - return ScanObservable; - }(ObservableBase)); - - var ScanObserver = (function (__super__) { - inherits(ScanObserver, __super__); - function ScanObserver(o, parent) { - this._o = o; - this._p = parent; - this._fn = parent.accumulator; - this._hs = parent.hasSeed; - this._s = parent.seed; - this._ha = false; - this._a = null; - this._hv = false; - this._i = 0; - __super__.call(this); - } - - ScanObserver.prototype.next = function (x) { - !this._hv && (this._hv = true); - if (this._ha) { - this._a = tryCatch(this._fn)(this._a, x, this._i, this._p); - } else { - this._a = this._hs ? tryCatch(this._fn)(this._s, x, this._i, this._p) : x; - this._ha = true; - } - if (this._a === errorObj) { return this._o.onError(this._a.e); } - this._o.onNext(this._a); - this._i++; - }; - - ScanObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - ScanObserver.prototype.completed = function () { - !this._hv && this._hs && this._o.onNext(this._s); - this._o.onCompleted(); - }; - - return ScanObserver; - }(AbstractObserver)); - - /** - * Applies an accumulator function over an observable sequence and returns each intermediate result. The optional seed value is used as the initial accumulator value. - * For aggregation behavior with no intermediate results, see Observable.aggregate. - * @param {Mixed} [seed] The initial accumulator value. - * @param {Function} accumulator An accumulator function to be invoked on each element. - * @returns {Observable} An observable sequence containing the accumulated values. - */ - observableProto.scan = function () { - var hasSeed = false, seed, accumulator = arguments[0]; - if (arguments.length === 2) { - hasSeed = true; - seed = arguments[1]; - } - return new ScanObservable(this, accumulator, hasSeed, seed); - }; - - var SkipLastObservable = (function (__super__) { - inherits(SkipLastObservable, __super__); - function SkipLastObservable(source, c) { - this.source = source; - this._c = c; - __super__.call(this); - } - - SkipLastObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SkipLastObserver(o, this._c)); - }; - - return SkipLastObservable; - }(ObservableBase)); - - var SkipLastObserver = (function (__super__) { - inherits(SkipLastObserver, __super__); - function SkipLastObserver(o, c) { - this._o = o; - this._c = c; - this._q = []; - __super__.call(this); - } - - SkipLastObserver.prototype.next = function (x) { - this._q.push(x); - this._q.length > this._c && this._o.onNext(this._q.shift()); - }; - - SkipLastObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - SkipLastObserver.prototype.completed = function () { - this._o.onCompleted(); - }; - - return SkipLastObserver; - }(AbstractObserver)); - - /** - * Bypasses a specified number of elements at the end of an observable sequence. - * @description - * This operator accumulates a queue with a length enough to store the first `count` elements. As more elements are - * received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. - * @param count Number of elements to bypass at the end of the source sequence. - * @returns {Observable} An observable sequence containing the source sequence elements except for the bypassed ones at the end. - */ - observableProto.skipLast = function (count) { - if (count < 0) { throw new ArgumentOutOfRangeError(); } - return new SkipLastObservable(this, count); - }; - - /** - * Prepends a sequence of values to an observable sequence with an optional scheduler and an argument list of values to prepend. - * @example - * var res = source.startWith(1, 2, 3); - * var res = source.startWith(Rx.Scheduler.timeout, 1, 2, 3); - * @param {Arguments} args The specified values to prepend to the observable sequence - * @returns {Observable} The source sequence prepended with the specified values. - */ - observableProto.startWith = function () { - var values, scheduler, start = 0; - if (!!arguments.length && isScheduler(arguments[0])) { - scheduler = arguments[0]; - start = 1; - } else { - scheduler = immediateScheduler; - } - for(var args = [], i = start, len = arguments.length; i < len; i++) { args.push(arguments[i]); } - return enumerableOf([observableFromArray(args, scheduler), this]).concat(); - }; - - var TakeLastObserver = (function (__super__) { - inherits(TakeLastObserver, __super__); - function TakeLastObserver(o, c) { - this._o = o; - this._c = c; - this._q = []; - __super__.call(this); - } - - TakeLastObserver.prototype.next = function (x) { - this._q.push(x); - this._q.length > this._c && this._q.shift(); - }; - - TakeLastObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - TakeLastObserver.prototype.completed = function () { - while (this._q.length > 0) { this._o.onNext(this._q.shift()); } - this._o.onCompleted(); - }; - - return TakeLastObserver; - }(AbstractObserver)); - - /** - * Returns a specified number of contiguous elements from the end of an observable sequence. - * @description - * This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of - * the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed. - * @param {Number} count Number of elements to take from the end of the source sequence. - * @returns {Observable} An observable sequence containing the specified number of elements from the end of the source sequence. - */ - observableProto.takeLast = function (count) { - if (count < 0) { throw new ArgumentOutOfRangeError(); } - var source = this; - return new AnonymousObservable(function (o) { - return source.subscribe(new TakeLastObserver(o, count)); - }, source); - }; - -observableProto.flatMapConcat = observableProto.concatMap = function(selector, resultSelector, thisArg) { - return new FlatMapObservable(this, selector, resultSelector, thisArg).merge(1); -}; - var MapObservable = (function (__super__) { - inherits(MapObservable, __super__); - - function MapObservable(source, selector, thisArg) { - this.source = source; - this.selector = bindCallback(selector, thisArg, 3); - __super__.call(this); - } - - function innerMap(selector, self) { - return function (x, i, o) { return selector.call(this, self.selector(x, i, o), i, o); }; - } - - MapObservable.prototype.internalMap = function (selector, thisArg) { - return new MapObservable(this.source, innerMap(selector, this), thisArg); - }; - - MapObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new InnerObserver(o, this.selector, this)); - }; - - inherits(InnerObserver, AbstractObserver); - function InnerObserver(o, selector, source) { - this.o = o; - this.selector = selector; - this.source = source; - this.i = 0; - AbstractObserver.call(this); - } - - InnerObserver.prototype.next = function(x) { - var result = tryCatch(this.selector)(x, this.i++, this.source); - if (result === errorObj) { return this.o.onError(result.e); } - this.o.onNext(result); - }; - - InnerObserver.prototype.error = function (e) { - this.o.onError(e); - }; - - InnerObserver.prototype.completed = function () { - this.o.onCompleted(); - }; - - return MapObservable; - - }(ObservableBase)); - - /** - * Projects each element of an observable sequence into a new form by incorporating the element's index. - * @param {Function} selector A transform function to apply to each source element; the second parameter of the function represents the index of the source element. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence whose elements are the result of invoking the transform function on each element of source. - */ - observableProto.map = observableProto.select = function (selector, thisArg) { - var selectorFn = typeof selector === 'function' ? selector : function () { return selector; }; - return this instanceof MapObservable ? - this.internalMap(selectorFn, thisArg) : - new MapObservable(this, selectorFn, thisArg); - }; - - function plucker(args, len) { - return function mapper(x) { - var currentProp = x; - for (var i = 0; i < len; i++) { - var p = currentProp[args[i]]; - if (typeof p !== 'undefined') { - currentProp = p; - } else { - return undefined; - } - } - return currentProp; - }; - } - - /** - * Retrieves the value of a specified nested property from all elements in - * the Observable sequence. - * @param {Arguments} arguments The nested properties to pluck. - * @returns {Observable} Returns a new Observable sequence of property values. - */ - observableProto.pluck = function () { - var len = arguments.length, args = new Array(len); - if (len === 0) { throw new Error('List of properties cannot be empty.'); } - for(var i = 0; i < len; i++) { args[i] = arguments[i]; } - return this.map(plucker(args, len)); - }; - -observableProto.flatMap = observableProto.selectMany = function(selector, resultSelector, thisArg) { - return new FlatMapObservable(this, selector, resultSelector, thisArg).mergeAll(); -}; - -Rx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisArg) { - return new FlatMapObservable(this, selector, resultSelector, thisArg).switchLatest(); -}; - var SkipObservable = (function(__super__) { - inherits(SkipObservable, __super__); - function SkipObservable(source, count) { - this.source = source; - this._count = count; - __super__.call(this); - } - - SkipObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SkipObserver(o, this._count)); - }; - - function SkipObserver(o, c) { - this._o = o; - this._r = c; - AbstractObserver.call(this); - } - - inherits(SkipObserver, AbstractObserver); - - SkipObserver.prototype.next = function (x) { - if (this._r <= 0) { - this._o.onNext(x); - } else { - this._r--; - } - }; - SkipObserver.prototype.error = function(e) { this._o.onError(e); }; - SkipObserver.prototype.completed = function() { this._o.onCompleted(); }; - - return SkipObservable; - }(ObservableBase)); - - /** - * Bypasses a specified number of elements in an observable sequence and then returns the remaining elements. - * @param {Number} count The number of elements to skip before returning the remaining elements. - * @returns {Observable} An observable sequence that contains the elements that occur after the specified index in the input sequence. - */ - observableProto.skip = function (count) { - if (count < 0) { throw new ArgumentOutOfRangeError(); } - return new SkipObservable(this, count); - }; - - var SkipWhileObservable = (function (__super__) { - inherits(SkipWhileObservable, __super__); - function SkipWhileObservable(source, fn) { - this.source = source; - this._fn = fn; - __super__.call(this); - } - - SkipWhileObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new SkipWhileObserver(o, this)); - }; - - return SkipWhileObservable; - }(ObservableBase)); - - var SkipWhileObserver = (function (__super__) { - inherits(SkipWhileObserver, __super__); - - function SkipWhileObserver(o, p) { - this._o = o; - this._p = p; - this._i = 0; - this._r = false; - __super__.call(this); - } - - SkipWhileObserver.prototype.next = function (x) { - if (!this._r) { - var res = tryCatch(this._p._fn)(x, this._i++, this._p); - if (res === errorObj) { return this._o.onError(res.e); } - this._r = !res; - } - this._r && this._o.onNext(x); - }; - SkipWhileObserver.prototype.error = function (e) { this._o.onError(e); }; - SkipWhileObserver.prototype.completed = function () { this._o.onCompleted(); }; - - return SkipWhileObserver; - }(AbstractObserver)); - - /** - * Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. - * The element's index is used in the logic of the predicate function. - * - * var res = source.skipWhile(function (value) { return value < 10; }); - * var res = source.skipWhile(function (value, index) { return value < 10 || index < 10; }); - * @param {Function} predicate A function to test each element for a condition; the second parameter of the function represents the index of the source element. - * @param {Any} [thisArg] Object to use as this when executing callback. - * @returns {Observable} An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. - */ - observableProto.skipWhile = function (predicate, thisArg) { - var fn = bindCallback(predicate, thisArg, 3); - return new SkipWhileObservable(this, fn); - }; - - var TakeObservable = (function(__super__) { - inherits(TakeObservable, __super__); - function TakeObservable(source, count) { - this.source = source; - this._count = count; - __super__.call(this); - } - - TakeObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new TakeObserver(o, this._count)); - }; - - function TakeObserver(o, c) { - this._o = o; - this._c = c; - this._r = c; - AbstractObserver.call(this); - } - - inherits(TakeObserver, AbstractObserver); - - TakeObserver.prototype.next = function (x) { - if (this._r-- > 0) { - this._o.onNext(x); - this._r <= 0 && this._o.onCompleted(); - } - }; - - TakeObserver.prototype.error = function (e) { this._o.onError(e); }; - TakeObserver.prototype.completed = function () { this._o.onCompleted(); }; - - return TakeObservable; - }(ObservableBase)); - - /** - * Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of take(0). - * @param {Number} count The number of elements to return. - * @param {Scheduler} [scheduler] Scheduler used to produce an OnCompleted message in case 0) { - var now = scheduler.now(); - d = new Date(d.getTime() + p); - d.getTime() <= now && (d = new Date(now + p)); - } - observer.onNext(count); - self(count + 1, new Date(d)); - }); - }); - } - - function observableTimerTimeSpanAndPeriod(dueTime, period, scheduler) { - return dueTime === period ? - new AnonymousObservable(function (observer) { - return scheduler.schedulePeriodic(0, period, function (count) { - observer.onNext(count); - return count + 1; - }); - }) : - observableDefer(function () { - return observableTimerDateAndPeriod(new Date(scheduler.now() + dueTime), period, scheduler); - }); - } - - /** - * Returns an observable sequence that produces a value after each period. - * - * @example - * 1 - res = Rx.Observable.interval(1000); - * 2 - res = Rx.Observable.interval(1000, Rx.Scheduler.timeout); - * - * @param {Number} period Period for producing the values in the resulting sequence (specified as an integer denoting milliseconds). - * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, Rx.Scheduler.timeout is used. - * @returns {Observable} An observable sequence that produces a value after each period. - */ - var observableinterval = Observable.interval = function (period, scheduler) { - return observableTimerTimeSpanAndPeriod(period, period, isScheduler(scheduler) ? scheduler : defaultScheduler); - }; - - /** - * Returns an observable sequence that produces a value after dueTime has elapsed and then after each period. - * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) at which to produce the first value. - * @param {Mixed} [periodOrScheduler] Period to produce subsequent values (specified as an integer denoting milliseconds), or the scheduler to run the timer on. If not specified, the resulting timer is not recurring. - * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, the timeout scheduler is used. - * @returns {Observable} An observable sequence that produces a value after due time has elapsed and then each period. - */ - var observableTimer = Observable.timer = function (dueTime, periodOrScheduler, scheduler) { - var period; - isScheduler(scheduler) || (scheduler = defaultScheduler); - if (periodOrScheduler != null && typeof periodOrScheduler === 'number') { - period = periodOrScheduler; - } else if (isScheduler(periodOrScheduler)) { - scheduler = periodOrScheduler; - } - if ((dueTime instanceof Date || typeof dueTime === 'number') && period === undefined) { - return _observableTimer(dueTime, scheduler); - } - if (dueTime instanceof Date && period !== undefined) { - return observableTimerDateAndPeriod(dueTime, periodOrScheduler, scheduler); - } - return observableTimerTimeSpanAndPeriod(dueTime, period, scheduler); - }; - - function observableDelayRelative(source, dueTime, scheduler) { - return new AnonymousObservable(function (o) { - var active = false, - cancelable = new SerialDisposable(), - exception = null, - q = [], - running = false, - subscription; - subscription = source.materialize().timestamp(scheduler).subscribe(function (notification) { - var d, shouldRun; - if (notification.value.kind === 'E') { - q = []; - q.push(notification); - exception = notification.value.error; - shouldRun = !running; - } else { - q.push({ value: notification.value, timestamp: notification.timestamp + dueTime }); - shouldRun = !active; - active = true; - } - if (shouldRun) { - if (exception !== null) { - o.onError(exception); - } else { - d = new SingleAssignmentDisposable(); - cancelable.setDisposable(d); - d.setDisposable(scheduler.scheduleRecursiveFuture(null, dueTime, function (_, self) { - var e, recurseDueTime, result, shouldRecurse; - if (exception !== null) { - return; - } - running = true; - do { - result = null; - if (q.length > 0 && q[0].timestamp - scheduler.now() <= 0) { - result = q.shift().value; - } - if (result !== null) { - result.accept(o); - } - } while (result !== null); - shouldRecurse = false; - recurseDueTime = 0; - if (q.length > 0) { - shouldRecurse = true; - recurseDueTime = Math.max(0, q[0].timestamp - scheduler.now()); - } else { - active = false; - } - e = exception; - running = false; - if (e !== null) { - o.onError(e); - } else if (shouldRecurse) { - self(null, recurseDueTime); - } - })); - } - } - }); - return new BinaryDisposable(subscription, cancelable); - }, source); - } - - function observableDelayAbsolute(source, dueTime, scheduler) { - return observableDefer(function () { - return observableDelayRelative(source, dueTime - scheduler.now(), scheduler); - }); - } - - function delayWithSelector(source, subscriptionDelay, delayDurationSelector) { - var subDelay, selector; - if (isFunction(subscriptionDelay)) { - selector = subscriptionDelay; - } else { - subDelay = subscriptionDelay; - selector = delayDurationSelector; - } - return new AnonymousObservable(function (o) { - var delays = new CompositeDisposable(), atEnd = false, subscription = new SerialDisposable(); - - function start() { - subscription.setDisposable(source.subscribe( - function (x) { - var delay = tryCatch(selector)(x); - if (delay === errorObj) { return o.onError(delay.e); } - var d = new SingleAssignmentDisposable(); - delays.add(d); - d.setDisposable(delay.subscribe( - function () { - o.onNext(x); - delays.remove(d); - done(); - }, - function (e) { o.onError(e); }, - function () { - o.onNext(x); - delays.remove(d); - done(); - } - )); - }, - function (e) { o.onError(e); }, - function () { - atEnd = true; - subscription.dispose(); - done(); - } - )); - } - - function done () { - atEnd && delays.length === 0 && o.onCompleted(); - } - - if (!subDelay) { - start(); - } else { - subscription.setDisposable(subDelay.subscribe(start, function (e) { o.onError(e); }, start)); - } - - return new BinaryDisposable(subscription, delays); - }, source); - } - - /** - * Time shifts the observable sequence by dueTime. - * The relative time intervals between the values are preserved. - * - * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) by which to shift the observable sequence. - * @param {Scheduler} [scheduler] Scheduler to run the delay timers on. If not specified, the timeout scheduler is used. - * @returns {Observable} Time-shifted sequence. - */ - observableProto.delay = function () { - var firstArg = arguments[0]; - if (typeof firstArg === 'number' || firstArg instanceof Date) { - var dueTime = firstArg, scheduler = arguments[1]; - isScheduler(scheduler) || (scheduler = defaultScheduler); - return dueTime instanceof Date ? - observableDelayAbsolute(this, dueTime, scheduler) : - observableDelayRelative(this, dueTime, scheduler); - } else if (Observable.isObservable(firstArg) || isFunction(firstArg)) { - return delayWithSelector(this, firstArg, arguments[1]); - } else { - throw new Error('Invalid arguments'); - } - }; - - var DebounceObservable = (function (__super__) { - inherits(DebounceObservable, __super__); - function DebounceObservable(source, dt, s) { - isScheduler(s) || (s = defaultScheduler); - this.source = source; - this._dt = dt; - this._s = s; - __super__.call(this); - } - - DebounceObservable.prototype.subscribeCore = function (o) { - var cancelable = new SerialDisposable(); - return new BinaryDisposable( - this.source.subscribe(new DebounceObserver(o, this._dt, this._s, cancelable)), - cancelable); - }; - - return DebounceObservable; - }(ObservableBase)); - - var DebounceObserver = (function (__super__) { - inherits(DebounceObserver, __super__); - function DebounceObserver(observer, dueTime, scheduler, cancelable) { - this._o = observer; - this._d = dueTime; - this._scheduler = scheduler; - this._c = cancelable; - this._v = null; - this._hv = false; - this._id = 0; - __super__.call(this); - } - - function scheduleFuture(s, state) { - state.self._hv && state.self._id === state.currentId && state.self._o.onNext(state.x); - state.self._hv = false; - } - - DebounceObserver.prototype.next = function (x) { - this._hv = true; - this._v = x; - var currentId = ++this._id, d = new SingleAssignmentDisposable(); - this._c.setDisposable(d); - d.setDisposable(this._scheduler.scheduleFuture(this, this._d, function (_, self) { - self._hv && self._id === currentId && self._o.onNext(x); - self._hv = false; - })); - }; - - DebounceObserver.prototype.error = function (e) { - this._c.dispose(); - this._o.onError(e); - this._hv = false; - this._id++; - }; - - DebounceObserver.prototype.completed = function () { - this._c.dispose(); - this._hv && this._o.onNext(this._v); - this._o.onCompleted(); - this._hv = false; - this._id++; - }; - - return DebounceObserver; - }(AbstractObserver)); - - function debounceWithSelector(source, durationSelector) { - return new AnonymousObservable(function (o) { - var value, hasValue = false, cancelable = new SerialDisposable(), id = 0; - var subscription = source.subscribe( - function (x) { - var throttle = tryCatch(durationSelector)(x); - if (throttle === errorObj) { return o.onError(throttle.e); } - - isPromise(throttle) && (throttle = observableFromPromise(throttle)); - - hasValue = true; - value = x; - id++; - var currentid = id, d = new SingleAssignmentDisposable(); - cancelable.setDisposable(d); - d.setDisposable(throttle.subscribe( - function () { - hasValue && id === currentid && o.onNext(value); - hasValue = false; - d.dispose(); - }, - function (e) { o.onError(e); }, - function () { - hasValue && id === currentid && o.onNext(value); - hasValue = false; - d.dispose(); - } - )); - }, - function (e) { - cancelable.dispose(); - o.onError(e); - hasValue = false; - id++; - }, - function () { - cancelable.dispose(); - hasValue && o.onNext(value); - o.onCompleted(); - hasValue = false; - id++; - } - ); - return new BinaryDisposable(subscription, cancelable); - }, source); - } - - observableProto.debounce = function () { - if (isFunction (arguments[0])) { - return debounceWithSelector(this, arguments[0]); - } else if (typeof arguments[0] === 'number') { - return new DebounceObservable(this, arguments[0], arguments[1]); - } else { - throw new Error('Invalid arguments'); - } - }; - - var TimestampObservable = (function (__super__) { - inherits(TimestampObservable, __super__); - function TimestampObservable(source, s) { - this.source = source; - this._s = s; - __super__.call(this); - } - - TimestampObservable.prototype.subscribeCore = function (o) { - return this.source.subscribe(new TimestampObserver(o, this._s)); - }; - - return TimestampObservable; - }(ObservableBase)); - - var TimestampObserver = (function (__super__) { - inherits(TimestampObserver, __super__); - function TimestampObserver(o, s) { - this._o = o; - this._s = s; - __super__.call(this); - } - - TimestampObserver.prototype.next = function (x) { - this._o.onNext({ value: x, timestamp: this._s.now() }); - }; - - TimestampObserver.prototype.error = function (e) { - this._o.onError(e); - }; - - TimestampObserver.prototype.completed = function () { - this._o.onCompleted(); - }; - - return TimestampObserver; - }(AbstractObserver)); - - /** - * Records the timestamp for each value in an observable sequence. - * - * @example - * 1 - res = source.timestamp(); // produces { value: x, timestamp: ts } - * 2 - res = source.timestamp(Rx.Scheduler.default); - * - * @param {Scheduler} [scheduler] Scheduler used to compute timestamps. If not specified, the default scheduler is used. - * @returns {Observable} An observable sequence with timestamp information on values. - */ - observableProto.timestamp = function (scheduler) { - isScheduler(scheduler) || (scheduler = defaultScheduler); - return new TimestampObservable(this, scheduler); - }; - - var SampleObservable = (function(__super__) { - inherits(SampleObservable, __super__); - function SampleObservable(source, sampler) { - this.source = source; - this._sampler = sampler; - __super__.call(this); - } - - SampleObservable.prototype.subscribeCore = function (o) { - var state = { - o: o, - atEnd: false, - value: null, - hasValue: false, - sourceSubscription: new SingleAssignmentDisposable() - }; - - state.sourceSubscription.setDisposable(this.source.subscribe(new SampleSourceObserver(state))); - return new BinaryDisposable( - state.sourceSubscription, - this._sampler.subscribe(new SamplerObserver(state)) - ); - }; - - return SampleObservable; - }(ObservableBase)); - - var SamplerObserver = (function(__super__) { - inherits(SamplerObserver, __super__); - function SamplerObserver(s) { - this._s = s; - __super__.call(this); - } - - SamplerObserver.prototype._handleMessage = function () { - if (this._s.hasValue) { - this._s.hasValue = false; - this._s.o.onNext(this._s.value); - } - this._s.atEnd && this._s.o.onCompleted(); - }; - - SamplerObserver.prototype.next = function () { this._handleMessage(); }; - SamplerObserver.prototype.error = function (e) { this._s.onError(e); }; - SamplerObserver.prototype.completed = function () { this._handleMessage(); }; - - return SamplerObserver; - }(AbstractObserver)); - - var SampleSourceObserver = (function(__super__) { - inherits(SampleSourceObserver, __super__); - function SampleSourceObserver(s) { - this._s = s; - __super__.call(this); - } - - SampleSourceObserver.prototype.next = function (x) { - this._s.hasValue = true; - this._s.value = x; - }; - SampleSourceObserver.prototype.error = function (e) { this._s.o.onError(e); }; - SampleSourceObserver.prototype.completed = function () { - this._s.atEnd = true; - this._s.sourceSubscription.dispose(); - }; - - return SampleSourceObserver; - }(AbstractObserver)); - - /** - * Samples the observable sequence at each interval. - * - * @example - * 1 - res = source.sample(sampleObservable); // Sampler tick sequence - * 2 - res = source.sample(5000); // 5 seconds - * 2 - res = source.sample(5000, Rx.Scheduler.timeout); // 5 seconds - * - * @param {Mixed} intervalOrSampler Interval at which to sample (specified as an integer denoting milliseconds) or Sampler Observable. - * @param {Scheduler} [scheduler] Scheduler to run the sampling timer on. If not specified, the timeout scheduler is used. - * @returns {Observable} Sampled observable sequence. - */ - observableProto.sample = function (intervalOrSampler, scheduler) { - isScheduler(scheduler) || (scheduler = defaultScheduler); - return typeof intervalOrSampler === 'number' ? - new SampleObservable(this, observableinterval(intervalOrSampler, scheduler)) : - new SampleObservable(this, intervalOrSampler); - }; - - var TimeoutError = Rx.TimeoutError = function(message) { - this.message = message || 'Timeout has occurred'; - this.name = 'TimeoutError'; - Error.call(this); - }; - TimeoutError.prototype = Object.create(Error.prototype); - - function timeoutWithSelector(source, firstTimeout, timeoutDurationSelector, other) { - if (isFunction(firstTimeout)) { - other = timeoutDurationSelector; - timeoutDurationSelector = firstTimeout; - firstTimeout = observableNever(); - } - Observable.isObservable(other) || (other = observableThrow(new TimeoutError())); - return new AnonymousObservable(function (o) { - var subscription = new SerialDisposable(), - timer = new SerialDisposable(), - original = new SingleAssignmentDisposable(); - - subscription.setDisposable(original); - - var id = 0, switched = false; - - function setTimer(timeout) { - var myId = id, d = new SingleAssignmentDisposable(); - - function timerWins() { - switched = (myId === id); - return switched; - } - - timer.setDisposable(d); - d.setDisposable(timeout.subscribe(function () { - timerWins() && subscription.setDisposable(other.subscribe(o)); - d.dispose(); - }, function (e) { - timerWins() && o.onError(e); - }, function () { - timerWins() && subscription.setDisposable(other.subscribe(o)); - })); - }; - - setTimer(firstTimeout); - - function oWins() { - var res = !switched; - if (res) { id++; } - return res; - } - - original.setDisposable(source.subscribe(function (x) { - if (oWins()) { - o.onNext(x); - var timeout = tryCatch(timeoutDurationSelector)(x); - if (timeout === errorObj) { return o.onError(timeout.e); } - setTimer(isPromise(timeout) ? observableFromPromise(timeout) : timeout); - } - }, function (e) { - oWins() && o.onError(e); - }, function () { - oWins() && o.onCompleted(); - })); - return new BinaryDisposable(subscription, timer); - }, source); - } - - function timeout(source, dueTime, other, scheduler) { - if (isScheduler(other)) { - scheduler = other; - other = observableThrow(new TimeoutError()); - } - if (other instanceof Error) { other = observableThrow(other); } - isScheduler(scheduler) || (scheduler = defaultScheduler); - Observable.isObservable(other) || (other = observableThrow(new TimeoutError())); - return new AnonymousObservable(function (o) { - var id = 0, - original = new SingleAssignmentDisposable(), - subscription = new SerialDisposable(), - switched = false, - timer = new SerialDisposable(); - - subscription.setDisposable(original); - - function createTimer() { - var myId = id; - timer.setDisposable(scheduler.scheduleFuture(null, dueTime, function () { - switched = id === myId; - if (switched) { - isPromise(other) && (other = observableFromPromise(other)); - subscription.setDisposable(other.subscribe(o)); - } - })); - } - - createTimer(); - - original.setDisposable(source.subscribe(function (x) { - if (!switched) { - id++; - o.onNext(x); - createTimer(); - } - }, function (e) { - if (!switched) { - id++; - o.onError(e); - } - }, function () { - if (!switched) { - id++; - o.onCompleted(); - } - })); - return new BinaryDisposable(subscription, timer); - }, source); - } - - observableProto.timeout = function () { - var firstArg = arguments[0]; - if (firstArg instanceof Date || typeof firstArg === 'number') { - return timeout(this, firstArg, arguments[1], arguments[2]); - } else if (Observable.isObservable(firstArg) || isFunction(firstArg)) { - return timeoutWithSelector(this, firstArg, arguments[1], arguments[2]); - } else { - throw new Error('Invalid arguments'); - } - }; - - /** - * Returns an Observable that emits only the first item emitted by the source Observable during sequential time windows of a specified duration. - * @param {Number} windowDuration time to wait before emitting another item after emitting the last item - * @param {Scheduler} [scheduler] the Scheduler to use internally to manage the timers that handle timeout for each item. If not provided, defaults to Scheduler.timeout. - * @returns {Observable} An Observable that performs the throttle operation. - */ - observableProto.throttle = function (windowDuration, scheduler) { - isScheduler(scheduler) || (scheduler = defaultScheduler); - var duration = +windowDuration || 0; - if (duration <= 0) { throw new RangeError('windowDuration cannot be less or equal zero.'); } - var source = this; - return new AnonymousObservable(function (o) { - var lastOnNext = 0; - return source.subscribe( - function (x) { - var now = scheduler.now(); - if (lastOnNext === 0 || now - lastOnNext >= duration) { - lastOnNext = now; - o.onNext(x); - } - },function (e) { o.onError(e); }, function () { o.onCompleted(); } - ); - }, source); - }; - - var PausableObservable = (function (__super__) { - inherits(PausableObservable, __super__); - function PausableObservable(source, pauser) { - this.source = source; - this.controller = new Subject(); - - if (pauser && pauser.subscribe) { - this.pauser = this.controller.merge(pauser); - } else { - this.pauser = this.controller; - } - - __super__.call(this); - } - - PausableObservable.prototype._subscribe = function (o) { - var conn = this.source.publish(), - subscription = conn.subscribe(o), - connection = disposableEmpty; - - var pausable = this.pauser.distinctUntilChanged().subscribe(function (b) { - if (b) { - connection = conn.connect(); - } else { - connection.dispose(); - connection = disposableEmpty; - } - }); - - return new NAryDisposable([subscription, connection, pausable]); - }; - - PausableObservable.prototype.pause = function () { - this.controller.onNext(false); - }; - - PausableObservable.prototype.resume = function () { - this.controller.onNext(true); - }; - - return PausableObservable; - - }(Observable)); - - /** - * Pauses the underlying observable sequence based upon the observable sequence which yields true/false. - * @example - * var pauser = new Rx.Subject(); - * var source = Rx.Observable.interval(100).pausable(pauser); - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. - * @returns {Observable} The observable sequence which is paused based upon the pauser. - */ - observableProto.pausable = function (pauser) { - return new PausableObservable(this, pauser); - }; - - function combineLatestSource(source, subject, resultSelector) { - return new AnonymousObservable(function (o) { - var hasValue = [false, false], - hasValueAll = false, - isDone = false, - values = new Array(2), - err; - - function next(x, i) { - values[i] = x; - hasValue[i] = true; - if (hasValueAll || (hasValueAll = hasValue.every(identity))) { - if (err) { return o.onError(err); } - var res = tryCatch(resultSelector).apply(null, values); - if (res === errorObj) { return o.onError(res.e); } - o.onNext(res); - } - isDone && values[1] && o.onCompleted(); - } - - return new BinaryDisposable( - source.subscribe( - function (x) { - next(x, 0); - }, - function (e) { - if (values[1]) { - o.onError(e); - } else { - err = e; - } - }, - function () { - isDone = true; - values[1] && o.onCompleted(); - }), - subject.subscribe( - function (x) { - next(x, 1); - }, - function (e) { o.onError(e); }, - function () { - isDone = true; - next(true, 1); - }) - ); - }, source); - } - - var PausableBufferedObservable = (function (__super__) { - inherits(PausableBufferedObservable, __super__); - function PausableBufferedObservable(source, pauser) { - this.source = source; - this.controller = new Subject(); - - if (pauser && pauser.subscribe) { - this.pauser = this.controller.merge(pauser); - } else { - this.pauser = this.controller; - } - - __super__.call(this); - } - - PausableBufferedObservable.prototype._subscribe = function (o) { - var q = [], previousShouldFire; - - function drainQueue() { while (q.length > 0) { o.onNext(q.shift()); } } - - var subscription = - combineLatestSource( - this.source, - this.pauser.startWith(false).distinctUntilChanged(), - function (data, shouldFire) { - return { data: data, shouldFire: shouldFire }; - }) - .subscribe( - function (results) { - if (previousShouldFire !== undefined && results.shouldFire !== previousShouldFire) { - previousShouldFire = results.shouldFire; - // change in shouldFire - if (results.shouldFire) { drainQueue(); } - } else { - previousShouldFire = results.shouldFire; - // new data - if (results.shouldFire) { - o.onNext(results.data); - } else { - q.push(results.data); - } - } - }, - function (err) { - drainQueue(); - o.onError(err); - }, - function () { - drainQueue(); - o.onCompleted(); - } - ); - return subscription; - }; - - PausableBufferedObservable.prototype.pause = function () { - this.controller.onNext(false); - }; - - PausableBufferedObservable.prototype.resume = function () { - this.controller.onNext(true); - }; - - return PausableBufferedObservable; - - }(Observable)); - - /** - * Pauses the underlying observable sequence based upon the observable sequence which yields true/false, - * and yields the values that were buffered while paused. - * @example - * var pauser = new Rx.Subject(); - * var source = Rx.Observable.interval(100).pausableBuffered(pauser); - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. - * @returns {Observable} The observable sequence which is paused based upon the pauser. - */ - observableProto.pausableBuffered = function (pauser) { - return new PausableBufferedObservable(this, pauser); - }; - - var ControlledObservable = (function (__super__) { - inherits(ControlledObservable, __super__); - function ControlledObservable (source, enableQueue, scheduler) { - __super__.call(this); - this.subject = new ControlledSubject(enableQueue, scheduler); - this.source = source.multicast(this.subject).refCount(); - } - - ControlledObservable.prototype._subscribe = function (o) { - return this.source.subscribe(o); - }; - - ControlledObservable.prototype.request = function (numberOfItems) { - return this.subject.request(numberOfItems == null ? -1 : numberOfItems); - }; - - return ControlledObservable; - - }(Observable)); - - var ControlledSubject = (function (__super__) { - inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue, scheduler) { - enableQueue == null && (enableQueue = true); - - __super__.call(this); - this.subject = new Subject(); - this.enableQueue = enableQueue; - this.queue = enableQueue ? [] : null; - this.requestedCount = 0; - this.requestedDisposable = null; - this.error = null; - this.hasFailed = false; - this.hasCompleted = false; - this.scheduler = scheduler || currentThreadScheduler; - } - - addProperties(ControlledSubject.prototype, Observer, { - _subscribe: function (o) { - return this.subject.subscribe(o); - }, - onCompleted: function () { - this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) { - this.subject.onCompleted(); - this.disposeCurrentRequest(); - } else { - this.queue.push(Notification.createOnCompleted()); - } - }, - onError: function (error) { - this.hasFailed = true; - this.error = error; - if (!this.enableQueue || this.queue.length === 0) { - this.subject.onError(error); - this.disposeCurrentRequest(); - } else { - this.queue.push(Notification.createOnError(error)); - } - }, - onNext: function (value) { - if (this.requestedCount <= 0) { - this.enableQueue && this.queue.push(Notification.createOnNext(value)); - } else { - (this.requestedCount-- === 0) && this.disposeCurrentRequest(); - this.subject.onNext(value); - } - }, - _processRequest: function (numberOfItems) { - if (this.enableQueue) { - while (this.queue.length > 0 && (numberOfItems > 0 || this.queue[0].kind !== 'N')) { - var first = this.queue.shift(); - first.accept(this.subject); - if (first.kind === 'N') { - numberOfItems--; - } else { - this.disposeCurrentRequest(); - this.queue = []; - } - } - } - - return numberOfItems; - }, - request: function (number) { - this.disposeCurrentRequest(); - var self = this; - - this.requestedDisposable = this.scheduler.schedule(number, - function(s, i) { - var remaining = self._processRequest(i); - var stopped = self.hasCompleted || self.hasFailed; - if (!stopped && remaining > 0) { - self.requestedCount = remaining; - - return disposableCreate(function () { - self.requestedCount = 0; - }); - // Scheduled item is still in progress. Return a new - // disposable to allow the request to be interrupted - // via dispose. - } - }); - - return this.requestedDisposable; - }, - disposeCurrentRequest: function () { - if (this.requestedDisposable) { - this.requestedDisposable.dispose(); - this.requestedDisposable = null; - } - } - }); - - return ControlledSubject; - }(Observable)); - - /** - * Attaches a controller to the observable sequence with the ability to queue. - * @example - * var source = Rx.Observable.interval(100).controlled(); - * source.request(3); // Reads 3 values - * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request - * @param {Scheduler} scheduler determines how the requests will be scheduled - * @returns {Observable} The observable sequence which only propagates values on request. - */ - observableProto.controlled = function (enableQueue, scheduler) { - - if (enableQueue && isScheduler(enableQueue)) { - scheduler = enableQueue; - enableQueue = true; - } - - if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue, scheduler); - }; - - /** - * Pipes the existing Observable sequence into a Node.js Stream. - * @param {Stream} dest The destination Node.js stream. - * @returns {Stream} The destination stream. - */ - observableProto.pipe = function (dest) { - var source = this.pausableBuffered(); - - function onDrain() { - source.resume(); - } - - dest.addListener('drain', onDrain); - - source.subscribe( - function (x) { - !dest.write(String(x)) && source.pause(); - }, - function (err) { - dest.emit('error', err); - }, - function () { - // Hack check because STDIO is not closable - !dest._isStdio && dest.end(); - dest.removeListener('drain', onDrain); - }); - - source.resume(); - - return dest; - }; - - var TransduceObserver = (function (__super__) { - inherits(TransduceObserver, __super__); - function TransduceObserver(o, xform) { - this._o = o; - this._xform = xform; - __super__.call(this); - } - - TransduceObserver.prototype.next = function (x) { - var res = tryCatch(this._xform['@@transducer/step']).call(this._xform, this._o, x); - if (res === errorObj) { this._o.onError(res.e); } - }; - - TransduceObserver.prototype.error = function (e) { this._o.onError(e); }; - - TransduceObserver.prototype.completed = function () { - this._xform['@@transducer/result'](this._o); - }; - - return TransduceObserver; - }(AbstractObserver)); - - function transformForObserver(o) { - return { - '@@transducer/init': function() { - return o; - }, - '@@transducer/step': function(obs, input) { - return obs.onNext(input); - }, - '@@transducer/result': function(obs) { - return obs.onCompleted(); - } - }; - } - - /** - * Executes a transducer to transform the observable sequence - * @param {Transducer} transducer A transducer to execute - * @returns {Observable} An Observable sequence containing the results from the transducer. - */ - observableProto.transduce = function(transducer) { - var source = this; - return new AnonymousObservable(function(o) { - var xform = transducer(transformForObserver(o)); - return source.subscribe(new TransduceObserver(o, xform)); - }, source); - }; - - var AnonymousObservable = Rx.AnonymousObservable = (function (__super__) { - inherits(AnonymousObservable, __super__); - - // Fix subscriber to check for undefined or function returned to decorate as Disposable - function fixSubscriber(subscriber) { - return subscriber && isFunction(subscriber.dispose) ? subscriber : - isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty; - } - - function setDisposable(s, state) { - var ado = state[0], self = state[1]; - var sub = tryCatch(self.__subscribe).call(self, ado); - if (sub === errorObj && !ado.fail(errorObj.e)) { thrower(errorObj.e); } - ado.setDisposable(fixSubscriber(sub)); - } - - function AnonymousObservable(subscribe, parent) { - this.source = parent; - this.__subscribe = subscribe; - __super__.call(this); - } - - AnonymousObservable.prototype._subscribe = function (o) { - var ado = new AutoDetachObserver(o), state = [ado, this]; - - if (currentThreadScheduler.scheduleRequired()) { - currentThreadScheduler.schedule(state, setDisposable); - } else { - setDisposable(null, state); - } - return ado; - }; - - return AnonymousObservable; - - }(Observable)); - - var AutoDetachObserver = (function (__super__) { - inherits(AutoDetachObserver, __super__); - - function AutoDetachObserver(observer) { - __super__.call(this); - this.observer = observer; - this.m = new SingleAssignmentDisposable(); - } - - var AutoDetachObserverPrototype = AutoDetachObserver.prototype; - - AutoDetachObserverPrototype.next = function (value) { - var result = tryCatch(this.observer.onNext).call(this.observer, value); - if (result === errorObj) { - this.dispose(); - thrower(result.e); - } - }; - - AutoDetachObserverPrototype.error = function (err) { - var result = tryCatch(this.observer.onError).call(this.observer, err); - this.dispose(); - result === errorObj && thrower(result.e); - }; - - AutoDetachObserverPrototype.completed = function () { - var result = tryCatch(this.observer.onCompleted).call(this.observer); - this.dispose(); - result === errorObj && thrower(result.e); - }; - - AutoDetachObserverPrototype.setDisposable = function (value) { this.m.setDisposable(value); }; - AutoDetachObserverPrototype.getDisposable = function () { return this.m.getDisposable(); }; - - AutoDetachObserverPrototype.dispose = function () { - __super__.prototype.dispose.call(this); - this.m.dispose(); - }; - - return AutoDetachObserver; - }(AbstractObserver)); - - var InnerSubscription = function (s, o) { - this._s = s; - this._o = o; - }; - - InnerSubscription.prototype.dispose = function () { - if (!this._s.isDisposed && this._o !== null) { - var idx = this._s.observers.indexOf(this._o); - this._s.observers.splice(idx, 1); - this._o = null; - } - }; - - /** - * Represents an object that is both an observable sequence as well as an observer. - * Each notification is broadcasted to all subscribed observers. - */ - var Subject = Rx.Subject = (function (__super__) { - inherits(Subject, __super__); - function Subject() { - __super__.call(this); - this.isDisposed = false; - this.isStopped = false; - this.observers = []; - this.hasError = false; - } - - addProperties(Subject.prototype, Observer.prototype, { - _subscribe: function (o) { - checkDisposed(this); - if (!this.isStopped) { - this.observers.push(o); - return new InnerSubscription(this, o); - } - if (this.hasError) { - o.onError(this.error); - return disposableEmpty; - } - o.onCompleted(); - return disposableEmpty; - }, - /** - * Indicates whether the subject has observers subscribed to it. - * @returns {Boolean} Indicates whether the subject has observers subscribed to it. - */ - hasObservers: function () { checkDisposed(this); return this.observers.length > 0; }, - /** - * Notifies all subscribed observers about the end of the sequence. - */ - onCompleted: function () { - checkDisposed(this); - if (!this.isStopped) { - this.isStopped = true; - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onCompleted(); - } - - this.observers.length = 0; - } - }, - /** - * Notifies all subscribed observers about the exception. - * @param {Mixed} error The exception to send to all observers. - */ - onError: function (error) { - checkDisposed(this); - if (!this.isStopped) { - this.isStopped = true; - this.error = error; - this.hasError = true; - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onError(error); - } - - this.observers.length = 0; - } - }, - /** - * Notifies all subscribed observers about the arrival of the specified element in the sequence. - * @param {Mixed} value The value to send to all observers. - */ - onNext: function (value) { - checkDisposed(this); - if (!this.isStopped) { - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onNext(value); - } - } - }, - /** - * Unsubscribe all observers and release resources. - */ - dispose: function () { - this.isDisposed = true; - this.observers = null; - } - }); - - /** - * Creates a subject from the specified observer and observable. - * @param {Observer} observer The observer used to send messages to the subject. - * @param {Observable} observable The observable used to subscribe to messages sent from the subject. - * @returns {Subject} Subject implemented using the given observer and observable. - */ - Subject.create = function (observer, observable) { - return new AnonymousSubject(observer, observable); - }; - - return Subject; - }(Observable)); - - /** - * Represents the result of an asynchronous operation. - * The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers. - */ - var AsyncSubject = Rx.AsyncSubject = (function (__super__) { - inherits(AsyncSubject, __super__); - - /** - * Creates a subject that can only receive one value and that value is cached for all future observations. - * @constructor - */ - function AsyncSubject() { - __super__.call(this); - this.isDisposed = false; - this.isStopped = false; - this.hasValue = false; - this.observers = []; - this.hasError = false; - } - - addProperties(AsyncSubject.prototype, Observer.prototype, { - _subscribe: function (o) { - checkDisposed(this); - - if (!this.isStopped) { - this.observers.push(o); - return new InnerSubscription(this, o); - } - - if (this.hasError) { - o.onError(this.error); - } else if (this.hasValue) { - o.onNext(this.value); - o.onCompleted(); - } else { - o.onCompleted(); - } - - return disposableEmpty; - }, - /** - * Indicates whether the subject has observers subscribed to it. - * @returns {Boolean} Indicates whether the subject has observers subscribed to it. - */ - hasObservers: function () { checkDisposed(this); return this.observers.length > 0; }, - /** - * Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any). - */ - onCompleted: function () { - var i, len; - checkDisposed(this); - if (!this.isStopped) { - this.isStopped = true; - var os = cloneArray(this.observers), len = os.length; - - if (this.hasValue) { - for (i = 0; i < len; i++) { - var o = os[i]; - o.onNext(this.value); - o.onCompleted(); - } - } else { - for (i = 0; i < len; i++) { - os[i].onCompleted(); - } - } - - this.observers.length = 0; - } - }, - /** - * Notifies all subscribed observers about the error. - * @param {Mixed} error The Error to send to all observers. - */ - onError: function (error) { - checkDisposed(this); - if (!this.isStopped) { - this.isStopped = true; - this.hasError = true; - this.error = error; - - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onError(error); - } - - this.observers.length = 0; - } - }, - /** - * Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers. - * @param {Mixed} value The value to store in the subject. - */ - onNext: function (value) { - checkDisposed(this); - if (this.isStopped) { return; } - this.value = value; - this.hasValue = true; - }, - /** - * Unsubscribe all observers and release resources. - */ - dispose: function () { - this.isDisposed = true; - this.observers = null; - this.error = null; - this.value = null; - } - }); - - return AsyncSubject; - }(Observable)); - - var AnonymousSubject = Rx.AnonymousSubject = (function (__super__) { - inherits(AnonymousSubject, __super__); - function AnonymousSubject(observer, observable) { - this.observer = observer; - this.observable = observable; - __super__.call(this); - } - - addProperties(AnonymousSubject.prototype, Observer.prototype, { - _subscribe: function (o) { - return this.observable.subscribe(o); - }, - onCompleted: function () { - this.observer.onCompleted(); - }, - onError: function (error) { - this.observer.onError(error); - }, - onNext: function (value) { - this.observer.onNext(value); - } - }); - - return AnonymousSubject; - }(Observable)); - - /** - * Represents a value that changes over time. - * Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. - */ - var BehaviorSubject = Rx.BehaviorSubject = (function (__super__) { - inherits(BehaviorSubject, __super__); - function BehaviorSubject(value) { - __super__.call(this); - this.value = value; - this.observers = []; - this.isDisposed = false; - this.isStopped = false; - this.hasError = false; - } - - addProperties(BehaviorSubject.prototype, Observer.prototype, { - _subscribe: function (o) { - checkDisposed(this); - if (!this.isStopped) { - this.observers.push(o); - o.onNext(this.value); - return new InnerSubscription(this, o); - } - if (this.hasError) { - o.onError(this.error); - } else { - o.onCompleted(); - } - return disposableEmpty; - }, - /** - * Gets the current value or throws an exception. - * Value is frozen after onCompleted is called. - * After onError is called always throws the specified exception. - * An exception is always thrown after dispose is called. - * @returns {Mixed} The initial value passed to the constructor until onNext is called; after which, the last value passed to onNext. - */ - getValue: function () { - checkDisposed(this); - if (this.hasError) { thrower(this.error); } - return this.value; - }, - /** - * Indicates whether the subject has observers subscribed to it. - * @returns {Boolean} Indicates whether the subject has observers subscribed to it. - */ - hasObservers: function () { checkDisposed(this); return this.observers.length > 0; }, - /** - * Notifies all subscribed observers about the end of the sequence. - */ - onCompleted: function () { - checkDisposed(this); - if (this.isStopped) { return; } - this.isStopped = true; - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onCompleted(); - } - - this.observers.length = 0; - }, - /** - * Notifies all subscribed observers about the exception. - * @param {Mixed} error The exception to send to all observers. - */ - onError: function (error) { - checkDisposed(this); - if (this.isStopped) { return; } - this.isStopped = true; - this.hasError = true; - this.error = error; - - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onError(error); - } - - this.observers.length = 0; - }, - /** - * Notifies all subscribed observers about the arrival of the specified element in the sequence. - * @param {Mixed} value The value to send to all observers. - */ - onNext: function (value) { - checkDisposed(this); - if (this.isStopped) { return; } - this.value = value; - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - os[i].onNext(value); - } - }, - /** - * Unsubscribe all observers and release resources. - */ - dispose: function () { - this.isDisposed = true; - this.observers = null; - this.value = null; - this.error = null; - } - }); - - return BehaviorSubject; - }(Observable)); - - /** - * Represents an object that is both an observable sequence as well as an observer. - * Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies. - */ - var ReplaySubject = Rx.ReplaySubject = (function (__super__) { - - var maxSafeInteger = Math.pow(2, 53) - 1; - - function createRemovableDisposable(subject, observer) { - return disposableCreate(function () { - observer.dispose(); - !subject.isDisposed && subject.observers.splice(subject.observers.indexOf(observer), 1); - }); - } - - inherits(ReplaySubject, __super__); - - /** - * Initializes a new instance of the ReplaySubject class with the specified buffer size, window size and scheduler. - * @param {Number} [bufferSize] Maximum element count of the replay buffer. - * @param {Number} [windowSize] Maximum time length of the replay buffer. - * @param {Scheduler} [scheduler] Scheduler the observers are invoked on. - */ - function ReplaySubject(bufferSize, windowSize, scheduler) { - this.bufferSize = bufferSize == null ? maxSafeInteger : bufferSize; - this.windowSize = windowSize == null ? maxSafeInteger : windowSize; - this.scheduler = scheduler || currentThreadScheduler; - this.q = []; - this.observers = []; - this.isStopped = false; - this.isDisposed = false; - this.hasError = false; - this.error = null; - __super__.call(this); - } - - addProperties(ReplaySubject.prototype, Observer.prototype, { - _subscribe: function (o) { - checkDisposed(this); - var so = new ScheduledObserver(this.scheduler, o), subscription = createRemovableDisposable(this, so); - - this._trim(this.scheduler.now()); - this.observers.push(so); - - for (var i = 0, len = this.q.length; i < len; i++) { - so.onNext(this.q[i].value); - } - - if (this.hasError) { - so.onError(this.error); - } else if (this.isStopped) { - so.onCompleted(); - } - - so.ensureActive(); - return subscription; - }, - /** - * Indicates whether the subject has observers subscribed to it. - * @returns {Boolean} Indicates whether the subject has observers subscribed to it. - */ - hasObservers: function () { checkDisposed(this); return this.observers.length > 0; }, - _trim: function (now) { - while (this.q.length > this.bufferSize) { - this.q.shift(); - } - while (this.q.length > 0 && (now - this.q[0].interval) > this.windowSize) { - this.q.shift(); - } - }, - /** - * Notifies all subscribed observers about the arrival of the specified element in the sequence. - * @param {Mixed} value The value to send to all observers. - */ - onNext: function (value) { - checkDisposed(this); - if (this.isStopped) { return; } - var now = this.scheduler.now(); - this.q.push({ interval: now, value: value }); - this._trim(now); - - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - var observer = os[i]; - observer.onNext(value); - observer.ensureActive(); - } - }, - /** - * Notifies all subscribed observers about the exception. - * @param {Mixed} error The exception to send to all observers. - */ - onError: function (error) { - checkDisposed(this); - if (this.isStopped) { return; } - this.isStopped = true; - this.error = error; - this.hasError = true; - var now = this.scheduler.now(); - this._trim(now); - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - var observer = os[i]; - observer.onError(error); - observer.ensureActive(); - } - this.observers.length = 0; - }, - /** - * Notifies all subscribed observers about the end of the sequence. - */ - onCompleted: function () { - checkDisposed(this); - if (this.isStopped) { return; } - this.isStopped = true; - var now = this.scheduler.now(); - this._trim(now); - for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) { - var observer = os[i]; - observer.onCompleted(); - observer.ensureActive(); - } - this.observers.length = 0; - }, - /** - * Unsubscribe all observers and release resources. - */ - dispose: function () { - this.isDisposed = true; - this.observers = null; - } - }); - - return ReplaySubject; - }(Observable)); - - /** - * Used to pause and resume streams. - */ - Rx.Pauser = (function (__super__) { - inherits(Pauser, __super__); - function Pauser() { - __super__.call(this); - } - - /** - * Pauses the underlying sequence. - */ - Pauser.prototype.pause = function () { this.onNext(false); }; - - /** - * Resumes the underlying sequence. - */ - Pauser.prototype.resume = function () { this.onNext(true); }; - - return Pauser; - }(Subject)); - - if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { - root.Rx = Rx; - - define(function() { - return Rx; - }); - } else if (freeExports && freeModule) { - // in Node.js or RingoJS - if (moduleExports) { - (freeModule.exports = Rx).Rx = Rx; - } else { - freeExports.Rx = Rx; - } - } else { - // in a browser or Rhino - root.Rx = Rx; - } - - // All code before this point will be filtered from stack traces. - var rEndingLine = captureLine(); - -}.call(this)); diff --git a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.map b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.map deleted file mode 100644 index 5d20dff33e0261..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rx.lite.min.js","sources":["rx.lite.js"],"names":["undefined","checkGlobal","value","Object","cloneArray","arr","len","length","a","Array","i","tryCatcherGen","tryCatchTarget","apply","this","arguments","e","errorObj","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","equalObjects","object","other","equalFunc","isLoose","stackA","stackB","objProps","keys","objLength","othProps","othLength","key","index","hasOwnProperty","call","skipCtor","result","objValue","othValue","objCtor","constructor","othCtor","equalByTag","tag","boolTag","dateTag","errorTag","name","message","numberTag","regexpTag","stringTag","isObjectLike","isLength","MAX_SAFE_INTEGER","isTypedArray","typedArrayTags","objToString","arraySome","array","predicate","equalArrays","arrLength","arrValue","baseIsEqualDeep","objIsArr","isArray","othIsArr","objTag","arrayTag","othTag","argsTag","objectTag","objIsObj","isHostObject","othIsObj","isSameTag","objIsWrapped","othIsWrapped","pop","baseIsEqual","isObject","arrayInitialize","count","factory","IndexedItem","id","IsDisposedDisposable","state","_s","isDisposed","StringIterable","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","TypeError","sign","number","isNaN","Math","floor","abs","maxSafeInteger","observableOf","scheduler","isScheduler","currentThreadScheduler","FromArrayObservable","RepeatSink","observer","parent","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","subscribe","repeat","@@iterator","next","done","plucker","x","currentProp","p","createCbObservable","fn","ctx","selector","AsyncSubject","createCbHandler","results","isFunction","tryCatch","onError","onNext","onCompleted","createNodeObservable","createNodeHandler","err","isNodeList","el","StaticNodeList","NodeList","prototype","toString","ListenDisposable","n","_e","_n","_fn","addEventListener","createEventListener","eventName","handler","disposables","CompositeDisposable","elemToString","add","item","_observableTimer","dueTime","TimerObservable","observableTimerDateAndPeriod","period","AnonymousObservable","d","normalizeTime","scheduleRecursiveFuture","self","now","Date","getTime","observableTimerTimeSpanAndPeriod","schedulePeriodic","observableDefer","observableDelayRelative","subscription","active","cancelable","SerialDisposable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","SingleAssignmentDisposable","setDisposable","_","recurseDueTime","shouldRecurse","shift","accept","max","BinaryDisposable","observableDelayAbsolute","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","start","delay","delays","remove","atEnd","dispose","debounceWithSelector","durationSelector","hasValue","throttle","isPromise","observableFromPromise","currentid","timeoutWithSelector","firstTimeout","timeoutDurationSelector","observableNever","Observable","isObservable","observableThrow","TimeoutError","setTimer","timeout","timerWins","switched","myId","timer","oWins","res","original","defaultScheduler","createTimer","scheduleFuture","combineLatestSource","subject","resultSelector","values","hasValueAll","every","identity","isDone","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","objectTypes","function","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","freeWindow","window","moduleExports","thisGlobal","Function","Rx","internals","config","Promise","helpers","noop","defaultNow","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","isFn","longStackSupport","EmptyError","create","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","isIterable","isArrayLike","bindCallback","func","thisArg","argCount","arg","collection","dontEnums","funcTag","mapTag","setTag","weakMapTag","arrayBufferTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","objectProto","pow","hasDontEnumBug","propertyIsEnumerable","dontEnumsLength","obj","prop","type","inherits","slice","child","__","addProperties","sources","idx","ln","addRef","xs","r","getDisposable","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","disposableCreate","disposableEmpty","empty","isDisposable","checkDisposed","disposable","disposableFixup","_fixup","current","old","first","second","_first","_second","old1","old2","NAryDisposable","_disposables","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","comparer","invoke","invokeCore","compareTo","isCancelled","Scheduler","schedulerProto","schedule","dt","normalize","_scheduleFuture","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","state3","isAdded","group","invokeRecDate","dueTime1","scheduleRecursive","setInterval","clearInterval","scheduleMethod","clearMethod","ImmediateScheduler","__super__","immediateScheduler","immediate","CurrentThreadScheduler","runTrampoline","queue","dequeue","si","enqueue","PriorityQueue","scheduleRequired","currentThread","localTimer","SchedulePeriodicRecursive","createTick","command","recurse","_period","_action","_state","_cancel","_scheduler","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","nextHandle","reNative","RegExp","String","replace","setImmediate","test","process","nextTick","MSG_PREFIX","random","onGlobalPostMessage","event","data","substring","MessageChannel","channel","port1","port2","document","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","async","c","capacity","items","priorityProto","isHigherPriority","left","right","percolate","temp","heapify","peek","removeAt","observableProto","Notification","_accept","_acceptObserver","observerOrOnNext","toObservable","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","observerCreate","AnonymousObserver","AbstractObserver","isStopped","completed","fail","_onNext","_onError","_onCompleted","makeSubscribe","oldOnError","oldSubscribe","_subscribe","forEach","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ScheduledObserver","isAcquired","hasFaulted","enqueueNext","enqueueError","enqueueCompleted","work","ensureActive","isOwner","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","InnerObserver","_wrapResult","map","i2","from","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","concat","CatchErrorObservable","lastError","catchError","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ToArrayObservable","toArray","Defer","_f","defer","observableFactory","EmptyObservable","EmptySink","scheduleItem","sink","run","EMPTY_OBSERVABLE","observableEmpty","FromObservable","iterable","_iterable","createScheduleMethod","list","charAt","observableFrom","mapFn","mapper","_args","observableFromArray","fromArray","NeverObservable","NEVER_OBSERVABLE","never","ofWithScheduler","PairsObservable","_o","_keys","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","JustObservable","_value","ThrowObservable","just","_error","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","combineLatest","CombineLatestObservable","params","cb","_params","_cb","subscriptions","sad","CombineLatestObserver","notTheSame","j","filter","observableConcat","ConcatObserver","ConcatObservable","_sources","concatAll","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","CompositeError","errors","innerErrors","MergeDelayErrorObservable","m","MergeDelayErrorObserver","_group","setCompletion","inner","_inner","mergeDelayError","MergeAllObservable","MergeAllObserver","SkipUntilObservable","_open","leftSubscription","SkipUntilSourceObserver","rightSubscription","SkipUntilOtherObserver","_p","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","withLatestFrom","ZipObservable","ZipObserver","_q","_d","notEmpty","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","t","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","RetryWhenObservable","createDisposable","notifier","_notifier","exceptions","Subject","handled","notificationDisposable","outer","exn","ex","retryWhen","RepeatWhenObservable","completions","repeatWhen","ScanObservable","accumulator","hasSeed","seed","ScanObserver","_hs","_ha","_hv","scan","SkipLastObservable","_c","SkipLastObserver","skipLast","startWith","TakeLastObserver","takeLast","flatMapConcat","concatMap","MapObservable","innerMap","internalMap","select","selectorFn","pluck","flatMap","selectMany","flatMapLatest","SkipObservable","_count","SkipObserver","skip","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","take","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","fromCallback","fromNodeCallback","removeEventListener","useNativeEvents","EventObservable","_el","createHandler","fromEvent","element","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","ret","_ret","returnValue","addHandler","removeHandler","FromPromiseObservable","scheduleNext","scheduleError","fromPromise","promise","toPromise","promiseCtor","resolve","reject","startAsync","functionAsync","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","multicast","connect","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","RefCountObservable","_connectableSubscription","_connection","_source","_subject","ConnectDisposable","_dt","observableinterval","interval","periodOrScheduler","firstArg","DebounceObservable","DebounceObserver","_v","currentId","debounce","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","windowDuration","duration","RangeError","lastOnNext","PausableObservable","pauser","controller","conn","connection","pausable","b","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","remaining","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","TransduceObserver","xform","_xform","transduce","transducer","__subscribe","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.min.js b/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.min.js deleted file mode 100644 index 870ebcd2f9ee1c..00000000000000 --- a/tools/node_modules/eslint/node_modules/rx-lite/rx.lite.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){function b(a){return a&&a.Object===Object?a:null}function c(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function d(a){return function(){try{return a.apply(this,arguments)}catch(b){return va.e=b,va}}}function e(a){throw a}function f(a,b){if(xa&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Ba)){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var e=c.join("\n"+Ba+"\n");a.stack=g(e)}}function g(a){for(var b=a.split("\n"),c=[],d=0,e=b.length;e>d;d++){var f=b[d];h(f)||i(f)||!f||c.push(f)}return c.join("\n")}function h(a){var b=k(a);if(!b)return!1;var c=b[0],d=b[1];return c===za&&d>=Aa&&qe>=d}function i(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function j(){if(xa)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=k(c);if(!d)return;return za=d[0],d[1]}}function k(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function l(b,c,d,e,f,g){var h=ob(b),i=h.length,j=ob(c),k=j.length;if(i!==k&&!e)return!1;for(var l,m=i;m--;)if(l=h[m],!(e?l in c:lb.call(c,l)))return!1;for(var n=e;++m-1&&a%1===0&&nb>=a}function p(a){return n(a)&&o(a.length)&&!!jb[mb.call(a)]}function q(a,b){for(var c=-1,d=a.length;++ci))return!1;for(;++hd;d++)c[d]=b();return c}function v(a,b){this.id=a,this.value=b}function w(a){this._s=a,this.isDisposed=!1}function x(a){this._s=a}function y(a){this._s=a,this._l=a.length,this._i=0}function z(a){this._a=a}function A(a){this._a=a,this._l=E(a),this._i=0}function B(a){return"number"==typeof a&&la.isFinite(a)}function C(b){var c,d=b[Ia];if(!d&&"string"==typeof b)return c=new x(b),c[Ia]();if(!d&&b.length!==a)return c=new z(b),c[Ia]();if(!d)throw new TypeError("Object is not iterable");return b[Ia]()}function D(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function E(a){var b=+a.length;return isNaN(b)?0:0!==b&&B(b)?(b=D(b)*Math.floor(Math.abs(b)),0>=b?0:b>Ac?Ac:b):b}function F(a,b){return Kb(a)||(a=Qb),new Cc(b,a)}function G(a,b){this.observer=a,this.parent=b}function H(){return!1}function I(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function H(){return!1}function I(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function H(){return!1}function J(){return[]}function H(){return!1}function J(){return[]}function I(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function K(a){return function(b){return a.subscribe(b)}}function L(a){return{"@@iterator":function(){return{next:function(){return{done:!1,value:a}}}}}}function L(a){return{"@@iterator":function(){return{next:function(){return{done:!1,value:a}}}}}}function M(b,c){return function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e}}function N(a,b,c,d){var e=new me;return d.push(O(e,b,c)),a.apply(b,d),e.asObservable()}function O(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];if(ua(c)){if(e=wa(c).apply(b,e),e===va)return a.onError(e.e);a.onNext(e)}else e.length<=1?a.onNext(e[0]):a.onNext(e);a.onCompleted()}}function P(a,b,c,d){var e=new me;return d.push(Q(e,b,c)),a.apply(b,d),e.asObservable()}function Q(a,b,c){return function(){var d=arguments[0];if(d)return a.onError(d);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(ua(c)){var f=wa(c).apply(b,f);if(f===va)return a.onError(f.e);a.onNext(f)}else f.length<=1?a.onNext(f[0]):a.onNext(f);a.onCompleted()}}function R(a){return la.StaticNodeList?a instanceof la.StaticNodeList||a instanceof la.NodeList:"[object NodeList]"===Object.prototype.toString.call(a)}function S(a,b,c){this._e=a,this._n=b,this._fn=c,this._e.addEventListener(this._n,this._fn,!1),this.isDisposed=!1}function T(a,b,c){var d=new vb,e=Object.prototype.toString.call(a);if(R(a)||"[object HTMLCollection]"===e)for(var f=0,g=a.length;g>f;f++)d.add(T(a.item(f),b,c));else a&&d.add(new S(a,b,c));return d}function U(a,b){return new Vd(a,b)}function V(a,b,c){return new ie(function(d){var e=a,f=Jb(b);return c.scheduleRecursiveFuture(0,e,function(a,b){if(f>0){var g=c.now();e=new Date(e.getTime()+f),e.getTime()<=g&&(e=new Date(g+f))}d.onNext(a),b(a+1,new Date(e))})})}function W(a,b,c){return a===b?new ie(function(a){return c.schedulePeriodic(0,b,function(b){return a.onNext(b),b+1})}):vc(function(){return V(new Date(c.now()+a),b,c)})}function X(a,b,c){return new ie(function(d){var e,f=!1,g=new Eb,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.error,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new Db,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveFuture(null,b,function(a,b){var e,g,k,l;if(null===h){j=!0;do k=null,i.length>0&&i[0].timestamp-c.now()<=0&&(k=i.shift().value),null!==k&&k.accept(d);while(null!==k);l=!1,g=0,i.length>0?(l=!0,g=Math.max(0,i[0].timestamp-c.now())):f=!1,e=h,j=!1,null!==e?d.onError(e):l&&b(null,g)}}))))}),new Fb(e,g)},a)}function Y(a,b,c){return vc(function(){return X(a,b-c.now(),c)})}function Z(a,b,c){var d,e;return ua(b)?e=b:(d=b,e=c),new ie(function(b){function c(){i.setDisposable(a.subscribe(function(a){var c=wa(e)(a);if(c===va)return b.onError(c.e);var d=new Db;g.add(d),d.setDisposable(c.subscribe(function(){b.onNext(a),g.remove(d),f()},function(a){b.onError(a)},function(){b.onNext(a),g.remove(d),f()}))},function(a){b.onError(a)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&b.onCompleted()}var g=new vb,h=!1,i=new Eb;return d?i.setDisposable(d.subscribe(c,function(a){b.onError(a)},c)):c(),new Fb(i,g)},a)}function $(a,b){return new ie(function(c){var d,e=!1,f=new Eb,g=0,h=a.subscribe(function(a){var h=wa(b)(a);if(h===va)return c.onError(h.e);ta(h)&&(h=Rd(h)),e=!0,d=a,g++;var i=g,j=new Db;f.setDisposable(j),j.setDisposable(h.subscribe(function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()},function(a){c.onError(a)},function(){e&&g===i&&c.onNext(d),e=!1,j.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new Fb(h,f)},a)}function _(a,b,c,d){return ua(b)&&(d=c,c=b,b=Gc()),ic.isObservable(d)||(d=Mc(new ce)),new ie(function(e){function f(a){function b(){return l=c===k}var c=k,f=new Db;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(d.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(d.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new Eb,i=new Eb,j=new Db;h.setDisposable(j);var k=0,l=!1;return f(b),j.setDisposable(a.subscribe(function(a){if(g()){e.onNext(a);var b=wa(c)(a);if(b===va)return e.onError(b.e);f(ta(b)?Rd(b):b)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new Fb(h,i)},a)}function aa(a,b,c,d){return Kb(c)&&(d=c,c=Mc(new ce)),c instanceof Error&&(c=Mc(c)),Kb(d)||(d=Vb),ic.isObservable(c)||(c=Mc(new ce)),new ie(function(e){function f(){var a=g;k.setDisposable(d.scheduleFuture(null,b,function(){j=g===a,j&&(ta(c)&&(c=Rd(c)),i.setDisposable(c.subscribe(e)))}))}var g=0,h=new Db,i=new Eb,j=!1,k=new Eb;return i.setDisposable(h),f(),h.setDisposable(a.subscribe(function(a){j||(g++,e.onNext(a),f())},function(a){j||(g++,e.onError(a))},function(){j||(g++,e.onCompleted())})),new Fb(i,k)},a)}function ba(a,b,c){return new ie(function(d){function e(a,b){if(j[b]=a,g[b]=!0,h||(h=g.every(oa))){if(f)return d.onError(f);var e=wa(c).apply(null,j);if(e===va)return d.onError(e.e);d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new Fb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}function ca(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var da={"function":!0,object:!0},ea=da[typeof exports]&&exports&&!exports.nodeType?exports:null,fa=da[typeof module]&&module&&!module.nodeType?module:null,ga=b(ea&&fa&&"object"==typeof global&&global),ha=b(da[typeof self]&&self),ia=b(da[typeof window]&&window),ja=fa&&fa.exports===ea?ea:null,ka=b(da[typeof this]&&this),la=ga||ia!==(ka&&ka.window)&&ia||ha||ka||Function("return this")(),ma={internals:{},config:{Promise:la.Promise},helpers:{}},na=ma.helpers.noop=function(){},oa=ma.helpers.identity=function(a){return a},pa=ma.helpers.defaultNow=Date.now,qa=ma.helpers.defaultComparer=function(a,b){return sb(a,b)},ra=ma.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},sa=(ma.helpers.defaultKeySerializer=function(a){return a.toString()},ma.helpers.defaultError=function(a){throw a}),ta=ma.helpers.isPromise=function(a){return!!a&&"function"!=typeof a.subscribe&&"function"==typeof a.then},ua=ma.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==toString.call(a)}),a}(),va={e:{}},wa=ma.internals.tryCatch=function(a){if(!ua(a))throw new TypeError("fn must be a function");return d(a)};ma.config.longStackSupport=!1;var xa=!1,ya=wa(function(){throw new Error})();xa=!!ya.e&&!!ya.e.stack;var za,Aa=j(),Ba="From previous event:",Ca=ma.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};Ca.prototype=Object.create(Error.prototype),Ca.prototype.name="EmptyError";var Da=ma.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};Da.prototype=Object.create(Error.prototype),Da.prototype.name="ObjectDisposedError";var Ea=ma.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};Ea.prototype=Object.create(Error.prototype),Ea.prototype.name="ArgumentOutOfRangeError";var Fa=ma.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};Fa.prototype=Object.create(Error.prototype),Fa.prototype.name="NotSupportedError";var Ga=ma.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};Ga.prototype=Object.create(Error.prototype),Ga.prototype.name="NotImplementedError";var Ha=ma.helpers.notImplemented=function(){throw new Ga},Ia=(ma.helpers.notSupported=function(){throw new Fa},"function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_");la.Set&&"function"==typeof(new la.Set)["@@iterator"]&&(Ia="@@iterator");var Ja=ma.doneEnumerator={done:!0,value:a},Ka=ma.helpers.isIterable=function(b){return b&&b[Ia]!==a},La=ma.helpers.isArrayLike=function(b){return b&&b.length!==a};ma.helpers.iterator=Ia;var Ma=ma.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Na=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Oa=(Na.length,"[object Arguments]"),Pa="[object Array]",Qa="[object Boolean]",Ra="[object Date]",Sa="[object Error]",Ta="[object Function]",Ua="[object Map]",Va="[object Number]",Wa="[object Object]",Xa="[object RegExp]",Ya="[object Set]",Za="[object String]",$a="[object WeakMap]",_a="[object ArrayBuffer]",ab="[object Float32Array]",bb="[object Float64Array]",cb="[object Int8Array]",db="[object Int16Array]",eb="[object Int32Array]",fb="[object Uint8Array]",gb="[object Uint8ClampedArray]",hb="[object Uint16Array]",ib="[object Uint32Array]",jb={};jb[ab]=jb[bb]=jb[cb]=jb[db]=jb[eb]=jb[fb]=jb[gb]=jb[hb]=jb[ib]=!0,jb[Oa]=jb[Pa]=jb[_a]=jb[Qa]=jb[Ra]=jb[Sa]=jb[Ta]=jb[Ua]=jb[Va]=jb[Wa]=jb[Xa]=jb[Ya]=jb[Za]=jb[$a]=!1;var kb=Object.prototype,lb=kb.hasOwnProperty,mb=kb.toString,nb=Math.pow(2,53)-1,ob=Object.keys||function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}(),pb=ma.internals.isObject=function(a){var b=typeof a;return!!a&&("object"===b||"function"===b)},qb=function(){try{Object({toString:0}+"")}catch(a){return function(){return!1}}return function(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}}(),rb=Array.isArray||function(a){return n(a)&&o(a.length)&&mb.call(a)===Pa},sb=ma.internals.isEqual=function(a,b){return t(a,b)},tb=({}.hasOwnProperty,Array.prototype.slice,ma.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),ub=ma.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}},vb=(ma.internals.addRef=function(a,b){return new ie(function(c){return new Fb(b.getDisposable(),a.subscribe(c))})},ma.CompositeDisposable=function(){var a,b,c=[];if(Array.isArray(arguments[0]))c=arguments[0];else for(b=arguments.length,c=new Array(b),a=0;b>a;a++)c[a]=arguments[a];this.disposables=c,this.isDisposed=!1,this.length=c.length}),wb=vb.prototype;wb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},wb.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},wb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var xb=ma.Disposable=function(a){this.isDisposed=!1,this.action=a||na};xb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var yb=xb.create=function(a){return new xb(a)},zb=xb.empty={dispose:na},Ab=xb.isDisposable=function(a){return a&&ua(a.dispose)},Bb=xb.checkDisposed=function(a){if(a.isDisposed)throw new Da},Cb=xb._fixup=function(a){return Ab(a)?a:zb},Db=ma.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};Db.prototype.getDisposable=function(){return this.current},Db.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},Db.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null,a&&a.dispose()}};var Eb=ma.SerialDisposable=function(){this.isDisposed=!1,this.current=null};Eb.prototype.getDisposable=function(){return this.current},Eb.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},Eb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var Fb=ma.BinaryDisposable=function(a,b){this._first=a,this._second=b,this.isDisposed=!1};Fb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this._first;this._first=null,a&&a.dispose();var b=this._second;this._second=null,b&&b.dispose()}};var Gb=ma.NAryDisposable=function(a){this._disposables=a,this.isDisposed=!1};Gb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=0,b=this._disposables.length;b>a;a++)this._disposables[a].dispose();this._disposables.length=0}};var Hb=(ma.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?zb:new a(this)},b}(),ma.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ra,this.disposable=new Db});Hb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Hb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Hb.prototype.isCancelled=function(){return this.disposable.isDisposed},Hb.prototype.invokeCore=function(){return Cb(this.action(this.scheduler,this.state))};var Ib=ma.Scheduler=function(){function a(){}a.isScheduler=function(b){return b instanceof a};var b=a.prototype;return b.schedule=function(a,b){throw new Ga},b.scheduleFuture=function(b,c,d){var e=c;return e instanceof Date&&(e-=this.now()),e=a.normalize(e),0===e?this.schedule(b,d):this._scheduleFuture(b,e,d)},b._scheduleFuture=function(a,b,c){throw new Ga},a.now=pa,a.prototype.now=pa,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Jb=Ib.normalize,Kb=Ib.isScheduler;!function(a){function b(a,b){function c(b){function d(a,b){return g?f.remove(i):h=!0,e(b,c),zb}var g=!1,h=!1,i=a.schedule(b,d);h||(f.add(i),g=!0)}var d=b[0],e=b[1],f=new vb;return e(d,c),f}function c(a,b){function c(b,d){function g(a,b){return h?f.remove(j):i=!0,e(b,c),zb}var h=!1,i=!1,j=a.scheduleFuture(b,d,g);i||(f.add(j),h=!0)}var d=b[0],e=b[1],f=new vb;return e(d,c),f}a.scheduleRecursive=function(a,c){return this.schedule([a,c],b)},a.scheduleRecursiveFuture=function(a,b,d){return this.scheduleFuture([a,d],b,c)}}(Ib.prototype),function(a){a.schedulePeriodic=function(a,b,c){if("undefined"==typeof la.setInterval)throw new Fa;b=Jb(b);var d=a,e=la.setInterval(function(){d=c(d)},b);return yb(function(){la.clearInterval(e)})}}(Ib.prototype);var Lb,Mb,Nb=function(a){function b(){a.call(this)}return tb(b,a),b.prototype.schedule=function(a,b){return Cb(b(this,a))},b}(Ib),Ob=Ib.immediate=new Nb,Pb=function(a){function b(){for(;d.length>0;){var a=d.dequeue();!a.isCancelled()&&a.invoke()}}function c(){a.call(this)}var d;return tb(c,a),c.prototype.schedule=function(a,c){var f=new Hb(this,a,c,this.now());if(d)d.enqueue(f);else{d=new Wb(4),d.enqueue(f);var g=wa(b)();d=null,g===va&&e(g.e)}return f.disposable},c.prototype.scheduleRequired=function(){return!d},c}(Ib),Qb=Ib.currentThread=new Pb,Rb=(ma.internals.SchedulePeriodicRecursive=function(){function a(a){return function(b,c){c(0,a._period);var d=wa(a._action)(a._state);d===va&&(a._cancel.dispose(),e(d.e)),a._state=d}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new Db;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveFuture(0,this._period,a(this))),b},b}(),function(){var a,b=na;if(la.setTimeout)a=la.setTimeout,b=la.clearTimeout;else{if(!la.WScript)throw new Fa;a=function(a,b){la.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),Sb=Rb.setTimeout,Tb=Rb.clearTimeout;!function(){function a(b){if(f)Sb(function(){a(b)},0);else{var c=d[b];if(c){f=!0;var g=wa(c)();Mb(b),f=!1,g===va&&e(g.e)}}}function b(){if(!la.postMessage||la.importScripts)return!1;var a=!1,b=la.onmessage;return la.onmessage=function(){a=!0},la.postMessage("","*"),la.onmessage=b,a}var c=1,d={},f=!1;Mb=function(a){delete d[a]};var g=new RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=ga&&ja&&ga.setImmediate)&&!g.test(h)&&h;if(ua(h))Lb=function(b){var e=c++;return d[e]=b,h(function(){a(e)}),e};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Lb=function(b){var e=c++;return d[e]=b,process.nextTick(function(){a(e)}),e};else if(b()){var i="ms.rx.schedule"+Math.random(),j=function(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))};la.addEventListener("message",j,!1),Lb=function(a){var b=c++;return d[b]=a,la.postMessage(i+b,"*"),b}}else if(la.MessageChannel){var k=new la.MessageChannel;k.port1.onmessage=function(b){a(b.data)},Lb=function(a){var b=c++;return d[b]=a,k.port2.postMessage(b),b}}else Lb="document"in la&&"onreadystatechange"in la.document.createElement("script")?function(b){var e=la.document.createElement("script"),f=c++;return d[f]=b,e.onreadystatechange=function(){a(f),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},la.document.documentElement.appendChild(e),f}:function(b){var e=c++;return d[e]=b,Sb(function(){a(e)},0),e}}();var Ub=function(a){function b(){a.call(this)}function c(a,b,c,d){return function(){a.setDisposable(xb._fixup(b(c,d)))}}function d(a){this._id=a,this.isDisposed=!1}function e(a){this._id=a,this.isDisposed=!1}return tb(b,a),d.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,Mb(this._id))},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,Tb(this._id))},b.prototype.schedule=function(a,b){var e=new Db,f=Lb(c(e,b,this,a));return new Fb(e,new d(f))},b.prototype._scheduleFuture=function(a,b,d){if(0===b)return this.schedule(a,d);var f=new Db,g=Sb(c(f,d,this,a),b);return new Fb(f,new e(g))},b}(Ib),Vb=Ib["default"]=Ib.async=new Ub;v.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Wb=ma.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},Xb=Wb.prototype;Xb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},Xb.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},Xb.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b0))return void(a.isAcquired=!1);c=a.queue.shift();var d=wa(c)();return d===va?(a.queue=[],a.hasFaulted=!0,e(d.e)):void b(a)}return tb(b,a),b.prototype.next=function(a){this.queue.push(c(this.observer,a))},b.prototype.error=function(a){this.queue.push(d(this.observer,a))},b.prototype.completed=function(){this.queue.push(f(this.observer))},b.prototype.ensureActive=function(){var a=!1;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(this,g))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(gc),kc=ma.ObservableBase=function(a){function b(a){return a&&ua(a.dispose)?a:ua(a)?yb(a):zb}function c(a,c){var d=c[0],f=c[1],g=wa(f.subscribeCore).call(f,d);g!==va||d.fail(va.e)||e(va.e),d.setDisposable(b(g))}function d(){a.call(this)}return tb(d,a),d.prototype._subscribe=function(a){var b=new je(a),d=[b,this];return Qb.scheduleRequired()?Qb.schedule(d,c):c(null,d),b},d.prototype.subscribeCore=Ha,d}(ic),lc=ma.FlatMapObservable=function(a){function b(b,c,d,e){this.resultSelector=ua(d)?d:null,this.selector=Ma(ua(c)?c:function(){return c},e,3),this.source=b,a.call(this)}function c(a,b,c,d){this.i=0,this.selector=b,this.resultSelector=c,this.source=d,this.o=a,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this.selector,this.resultSelector,this))},tb(c,gc),c.prototype._wrapResult=function(a,b,c){return this.resultSelector?a.map(function(a,d){return this.resultSelector(b,a,c,d)},this):a},c.prototype.next=function(a){var b=this.i++,c=wa(this.selector)(a,b,this.source);return c===va?this.o.onError(c.e):(ta(c)&&(c=Rd(c)),(La(c)||Ka(c))&&(c=ic.from(c)),void this.o.onNext(this._wrapResult(c,a,b)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.o.onCompleted()},b}(kc),mc=ma.internals.Enumerable=function(){};w.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.isDisposed=!0)};var nc=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=wa(a.e.next).call(a.e);if(c===va)return a.o.onError(c.e);if(c.done)return a.o.onCompleted();var e=c.value;ta(e)&&(e=Rd(e));var f=new Db;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Eb,d={isDisposed:!1,o:a,subscription:b,e:this.sources[Ia]()},e=Qb.scheduleRecursive(d,c);return new Gb([b,e,new w(d)])},tb(d,gc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.o.onError(a)},d.prototype.completed=function(){this._recurse(this._state)},b}(kc);mc.prototype.concat=function(){return new nc(this)};var oc=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){if(!a.isDisposed){var c=wa(a.e.next).call(a.e);if(c===va)return a.o.onError(c.e);if(c.done)return null!==a.lastError?a.o.onError(a.lastError):a.o.onCompleted();var e=c.value;ta(e)&&(e=Rd(e));var f=new Db;a.subscription.setDisposable(f),f.setDisposable(e.subscribe(new d(a,b)))}}function d(a,b){this._state=a,this._recurse=b,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Eb,d={isDisposed:!1,e:this.sources[Ia](),subscription:b,lastError:null,o:a},e=Qb.scheduleRecursive(d,c);return new Gb([b,e,new w(d)])},tb(d,gc),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.lastError=a,this._recurse(this._state)},d.prototype.completed=function(){this._state.o.onCompleted()},b}(kc);mc.prototype.catchError=function(){return new oc(this)};var pc=function(a){function b(a,b){this.v=a,this.c=null==b?-1:b}function c(a){this.v=a.v,this.l=a.c}return tb(b,a),b.prototype[Ia]=function(){return new c(this)},c.prototype.next=function(){return 0===this.l?Ja:(this.l>0&&this.l--,{done:!1,value:this.v})},b}(mc),qc=mc.repeat=function(a,b){return new pc(a,b)},rc=function(a){function b(a,b,c){ -this.s=a,this.fn=b?Ma(b,c,3):null}function c(a){this.i=-1,this.s=a.s,this.l=this.s.length,this.fn=a.fn}return tb(b,a),b.prototype[Ia]=function(){return new c(this)},c.prototype.next=function(){return++this.id?(a.onNext(b[d]),e(d+1)):a.onCompleted()}}return tb(b,a),b.prototype.subscribeCore=function(a){return this._scheduler.scheduleRecursive(0,c(a,this._args))},b}(kc),Dc=ic.fromArray=function(a,b){return Kb(b)||(b=Qb),new Cc(a,b)},Ec=function(a){function b(){a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return zb},b}(kc),Fc=new Ec,Gc=ic.never=function(){return Fc};ic.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new Cc(b,Qb)},ic.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new Cc(c,a)};var Hc=function(a){function b(b,c){this._o=b,this._keys=Object.keys(b),this._scheduler=c,a.call(this)}function c(a,b,c){return function(d,e){if(dd?(c.onNext(a+d),e(d+1)):c.onCompleted()}}return tb(b,a),b.prototype.subscribeCore=function(a){return this.scheduler.scheduleRecursive(0,c(this.start,this.rangeCount,a))},b}(kc);ic.range=function(a,b,c){return Kb(c)||(c=Qb),new Ic(a,b,c)};var Jc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new G(a,this);return b.run()},b}(kc);G.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursive(this.parent.repeatCount,a)},ic.repeat=function(a,b,c){return Kb(c)||(c=Qb),new Jc(a,b,c)};var Kc=function(a){function b(b,c){this._value=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onNext(c),d.onCompleted(),zb}return tb(b,a),b.prototype.subscribeCore=function(a){var b=[this._value,a];return this._scheduler===Ob?c(null,b):this._scheduler.schedule(b,c)},b}(kc),Lc=(ic["return"]=ic.just=function(a,b){return Kb(b)||(b=Ob),new Kc(a,b)},function(a){function b(b,c){this._error=b,this._scheduler=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];return d.onError(c),zb}return tb(b,a),b.prototype.subscribeCore=function(a){var b=[this._error,a];return this._scheduler===Ob?c(null,b):this._scheduler.schedule(b,c)},b}(kc)),Mc=ic["throw"]=function(a,b){return Kb(b)||(b=Ob),new Lc(a,b)},Nc=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Db,c=new Eb;return c.setDisposable(b),b.setDisposable(this.source.subscribe(new Oc(a,c,this._fn))),c},b}(kc),Oc=function(a){function b(b,c,d){this._o=b,this._s=c,this._fn=d,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._o.onNext(a)},b.prototype.completed=function(){return this._o.onCompleted()},b.prototype.error=function(a){var b=wa(this._fn)(a);if(b===va)return this._o.onError(b.e);ta(b)&&(b=Rd(b));var c=new Db;this._s.setDisposable(c),c.setDisposable(b.subscribe(this._o))},b}(gc);Yb["catch"]=function(a){return ua(a)?new Nc(this,a):Pc([this,a])};var Pc=ic["catch"]=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return sc(a).catchError()};Yb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Sc.apply(this,b)};var Qc=function(a){function b(b,c){this._params=b,this._cb=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._params.length,c=new Array(b),d={hasValue:u(b,H),hasValueAll:!1,isDone:u(b,H),values:new Array(b)},e=0;b>e;e++){var f=this._params[e],g=new Db;c[e]=g,ta(f)&&(f=Rd(f)),g.setDisposable(f.subscribe(new Rc(a,e,this._cb,d)))}return new Gb(c)},b}(kc),Rc=function(a){function b(b,c,d,e){this._o=b,this._i=c,this._cb=d,this._state=e,a.call(this)}function c(a){return function(b,c){return c!==a}}return tb(b,a),b.prototype.next=function(a){if(this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll||(this._state.hasValueAll=this._state.hasValue.every(oa))){var b=wa(this._cb).apply(null,this._state.values);if(b===va)return this._o.onError(b.e);this._o.onNext(b)}else this._state.isDone.filter(c(this._i)).every(oa)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._state.isDone[this._i]=!0,this._state.isDone.every(oa)&&this._o.onCompleted()},b}(gc),Sc=ic.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=ua(b[a-1])?b.pop():I;return Array.isArray(b[0])&&(b=b[0]),new Qc(b,d)};Yb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),Vc.apply(null,a)};var Tc=function(a){function b(b,c){this._s=b,this._fn=c,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._s.o.onNext(a)},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.i++,this._fn(this._s)},b}(gc),Uc=function(a){function b(b){this._sources=b,a.call(this)}function c(a,b){if(!a.disposable.isDisposed){if(a.i===a.sources.length)return a.o.onCompleted();var c=a.sources[a.i];ta(c)&&(c=Rd(c));var d=new Db;a.subscription.setDisposable(d),d.setDisposable(c.subscribe(new Tc(a,b)))}}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Eb,d=yb(na),e={o:a,i:0,subscription:b,disposable:d,sources:this._sources},f=Ob.scheduleRecursive(e,c);return new Gb([b,d,f])},b}(kc),Vc=ic.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return new Uc(a)};Yb.concatAll=function(){return this.merge(1)};var Wc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new vb;return b.add(this.source.subscribe(new Xc(a,this.maxConcurrent,b))),b},b}(kc),Xc=function(a){function b(b,c,d){this.o=b,this.max=c,this.g=d,this.done=!1,this.q=[],this.activeCount=0,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return tb(b,a),b.prototype.handleSubscribe=function(a){var b=new Db;this.g.add(b),ta(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.next=function(a){this.activeCount0?this.parent.handleSubscribe(this.parent.q.shift()):(this.parent.activeCount--,this.parent.done&&0===this.parent.activeCount&&this.parent.o.onCompleted())},b}(gc);Yb.merge=function(a){return"number"!=typeof a?Yc(this,a):new Wc(this,a)};var Yc=ic.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(Kb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=Ob,b=0;d>b;b++)c.push(arguments[b]);else for(a=Ob,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),F(a,c).mergeAll()},Zc=ma.CompositeError=function(a){this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};Zc.prototype=Object.create(Error.prototype),Zc.prototype.name="CompositeError";var $c=function(a){function b(b){this.source=b,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new vb,c=new Db,d={isStopped:!1,errors:[],o:a};return b.add(c),c.setDisposable(this.source.subscribe(new _c(b,d))),b},b}(kc),_c=function(a){function b(b,c){this._group=b,this._state=c,a.call(this)}function c(a,b){0===b.length?a.onCompleted():1===b.length?a.onError(b[0]):a.onError(new Zc(b))}function d(b,c,d){this._inner=b,this._group=c,this._state=d,a.call(this)}return tb(b,a),b.prototype.next=function(a){var b=new Db;this._group.add(b),ta(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new d(b,this._group,this._state)))},b.prototype.error=function(a){this._state.errors.push(a),this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},b.prototype.completed=function(){this._state.isStopped=!0,1===this._group.length&&c(this._state.o,this._state.errors)},tb(d,a),d.prototype.next=function(a){this._state.o.onNext(a)},d.prototype.error=function(a){this._state.errors.push(a),this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},d.prototype.completed=function(){this._group.remove(this._inner),this._state.isStopped&&1===this._group.length&&c(this._state.o,this._state.errors)},b}(gc);ic.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=F(null,a);return new $c(d)};var ad=function(a){function b(b){this.source=b,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new vb,c=new Db;return b.add(c),c.setDisposable(this.source.subscribe(new bd(a,b))),b},b}(kc),bd=function(a){function b(b,c){this.o=b,this.g=c,this.done=!1,a.call(this)}function c(b,c){this.parent=b,this.sad=c,a.call(this)}return tb(b,a),b.prototype.next=function(a){var b=new Db;this.g.add(b),ta(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new c(this,b)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.done=!0,1===this.g.length&&this.o.onCompleted()},tb(c,a),c.prototype.next=function(a){this.parent.o.onNext(a)},c.prototype.error=function(a){this.parent.o.onError(a)},c.prototype.completed=function(){this.parent.g.remove(this.sad),this.parent.done&&1===this.parent.g.length&&this.parent.o.onCompleted()},b}(gc);Yb.mergeAll=function(){return new ad(this)};var cd=function(a){function b(b,c){this._s=b,this._o=ta(c)?Rd(c):c,this._open=!1,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Db;b.setDisposable(this._s.subscribe(new dd(a,this))),ta(this._o)&&(this._o=Rd(this._o));var c=new Db;return c.setDisposable(this._o.subscribe(new ed(a,this,c))),new Fb(b,c)},b}(kc),dd=function(a){function b(b,c){this._o=b,this._p=c,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._p._open&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._p._open&&this._o.onCompleted()},b}(gc),ed=function(a){function b(b,c,d){this._o=b,this._p=c,this._r=d,a.call(this)}return tb(b,a),b.prototype.next=function(){this._p._open=!0,this._r.dispose()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=function(){this._r.dispose()},b}(gc);Yb.skipUntil=function(a){return new cd(this,a)};var fd=function(a){function b(b){this.source=b,a.call(this)}function c(a,b){this.o=a,this.inner=b,this.stopped=!1,this.latest=0,this.hasLatest=!1,gc.call(this)}function d(a,b){this.parent=a,this.id=b,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Eb,d=this.source.subscribe(new c(a,b));return new Fb(d,b)},tb(c,gc),c.prototype.next=function(a){var b=new Db,c=++this.latest;this.hasLatest=!0,this.inner.setDisposable(b),ta(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new d(this,c)))},c.prototype.error=function(a){this.o.onError(a)},c.prototype.completed=function(){this.stopped=!0,!this.hasLatest&&this.o.onCompleted()},tb(d,gc),d.prototype.next=function(a){this.parent.latest===this.id&&this.parent.o.onNext(a)},d.prototype.error=function(a){this.parent.latest===this.id&&this.parent.o.onError(a)},d.prototype.completed=function(){this.parent.latest===this.id&&(this.parent.hasLatest=!1,this.parent.stopped&&this.parent.o.onCompleted())},b}(kc);Yb["switch"]=Yb.switchLatest=function(){return new fd(this)};var gd=function(a){function b(b,c){this.source=b,this.other=ta(c)?Rd(c):c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return new Fb(this.source.subscribe(a),this.other.subscribe(new hd(a)))},b}(kc),hd=function(a){function b(b){this._o=b,a.call(this)}return tb(b,a),b.prototype.next=function(){this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.onCompleted=na,b}(gc);Yb.takeUntil=function(a){return new gd(this,a)};var id=function(a){function b(b,c,d){this._s=b,this._ss=c,this._cb=d,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._ss.length,c={hasValue:u(b,H),hasValueAll:!1,values:new Array(b)},d=this._ss.length,e=new Array(d+1),f=0;d>f;f++){var g=this._ss[f],h=new Db;ta(g)&&(g=Rd(g)),h.setDisposable(g.subscribe(new jd(a,f,c))),e[f]=h}var i=new Db;return i.setDisposable(this._s.subscribe(new kd(a,this._cb,c))),e[d]=i,new Gb(e)},b}(kc),jd=function(a){function b(b,c,d){this._o=b,this._i=c,this._state=d,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._state.values[this._i]=a,this._state.hasValue[this._i]=!0,this._state.hasValueAll=this._state.hasValue.every(oa)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=na,b}(gc),kd=function(a){function b(b,c,d){this._o=b,this._cb=c,this._state=d,a.call(this)}return tb(b,a),b.prototype.next=function(a){var b=[a].concat(this._state.values);if(this._state.hasValueAll){var c=wa(this._cb).apply(null,b);return c===va?this._o.onError(c.e):void this._o.onNext(c)}},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.withLatestFrom=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=ua(b[a-1])?b.pop():I;return Array.isArray(b[0])&&(b=b[0]),new id(this,b,d)};var ld=function(a){function b(b,c){this._s=b,this._cb=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){for(var b=this._s.length,c=new Array(b),d=u(b,H),e=u(b,J),f=0;b>f;f++){var g=this._s[f],h=new Db;c[f]=h,ta(g)&&(g=Rd(g)),h.setDisposable(g.subscribe(new md(a,f,this,e,d)))}return new Gb(c)},b}(kc),md=function(a){function b(b,c,d,e,f){this._o=b,this._i=c,this._p=d,this._q=e,this._d=f,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return tb(b,a),b.prototype.next=function(a){if(this._q[this._i].push(a),this._q.every(c)){var b=this._q.map(d),f=wa(this._p._cb).apply(null,b);if(f===va)return this._o.onError(f.e);this._o.onNext(f)}else this._d.filter(e(this._i)).every(oa)&&this._o.onCompleted()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._d[this._i]=!0,this._d.every(oa)&&this._o.onCompleted()},b}(gc);Yb.zip=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=ua(b[a-1])?b.pop():I;Array.isArray(b[0])&&(b=b[0]);var e=this;return b.unshift(e),new ld(b,d)},ic.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];Array.isArray(b[0])&&(b=ua(b[1])?b[0].concat(b[1]):b[0]);var d=b.shift();return d.zip.apply(d,b)};var nd=function(a){function b(b,c){this.sources=b,this._cb=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){for(var b=this.sources,c=b.length,d=new Array(c),e={q:u(c,J),done:u(c,H),cb:this._cb,o:a},f=0;c>f;f++)!function(a){var c=b[a],f=new Db;(La(c)||Ka(c))&&(c=Bc(c)),d[a]=f,f.setDisposable(c.subscribe(new od(e,a)))}(f);return new Gb(d)},b}(kc),od=function(a){function b(b,c){this._s=b,this._i=c,a.call(this)}function c(a){return a.length>0}function d(a){return a.shift()}function e(a){return function(b,c){return c!==a}}return tb(b,a),b.prototype.next=function(a){if(this._s.q[this._i].push(a),this._s.q.every(c)){var b=this._s.q.map(d),f=wa(this._s.cb).apply(null,b);if(f===va)return this._s.o.onError(f.e);this._s.o.onNext(f)}else this._s.done.filter(e(this._i)).every(oa)&&this._s.o.onCompleted()},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.done[this._i]=!0,this._s.done.every(oa)&&this._s.o.onCompleted()},b}(gc);Yb.zipIterable=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=ua(b[a-1])?b.pop():I,e=this;return b.unshift(e),new nd(b,d)},Yb.asObservable=function(){return new ie(K(this),this)};var pd=function(a){function b(b){this.source=b,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new qd(a))},b}(kc),qd=function(a){function b(b){this._o=b,a.call(this)}return tb(b,a),b.prototype.next=function(a){a.accept(this._o)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.dematerialize=function(){return new pd(this)};var rd=function(a){function b(b,c,d){this.source=b,this.keyFn=c,this.comparer=d,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new sd(a,this.keyFn,this.comparer))},b}(kc),sd=function(a){function b(b,c,d){this.o=b,this.keyFn=c,this.comparer=d,this.hasCurrentKey=!1,this.currentKey=null,a.call(this)}return tb(b,a),b.prototype.next=function(a){var b,c=a;return ua(this.keyFn)&&(c=wa(this.keyFn)(a),c===va)?this.o.onError(c.e):this.hasCurrentKey&&(b=wa(this.comparer)(this.currentKey,c),b===va)?this.o.onError(b.e):void(this.hasCurrentKey&&b||(this.hasCurrentKey=!0,this.currentKey=c,this.o.onNext(a)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.o.onCompleted()},b}(gc);Yb.distinctUntilChanged=function(a,b){return b||(b=qa),new rd(this,a,b)};var td=function(a){function b(b,c,d,e){this.source=b,this._oN=c,this._oE=d,this._oC=e,a.call(this)}function c(a,b){this.o=a,this.t=!b._oN||ua(b._oN)?fc(b._oN||na,b._oE||na,b._oC||na):b._oN,this.isStopped=!1,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this))},tb(c,gc),c.prototype.next=function(a){var b=wa(this.t.onNext).call(this.t,a);b===va&&this.o.onError(b.e),this.o.onNext(a)},c.prototype.error=function(a){var b=wa(this.t.onError).call(this.t,a);return b===va?this.o.onError(b.e):void this.o.onError(a)},c.prototype.completed=function(){var a=wa(this.t.onCompleted).call(this.t);return a===va?this.o.onError(a.e):void this.o.onCompleted()},b}(kc);Yb["do"]=Yb.tap=Yb.doAction=function(a,b,c){return new td(this,a,b,c)},Yb.doOnNext=Yb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Yb.doOnError=Yb.tapOnError=function(a,b){return this.tap(na,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Yb.doOnCompleted=Yb.tapOnCompleted=function(a,b){return this.tap(na,null,"undefined"!=typeof b?function(){a.call(b)}:a)};var ud=function(a){function b(b,c,d){this.source=b,this._fn=Ma(c,d,0),a.call(this)}function c(a,b){this.isDisposed=!1,this._s=a,this._fn=b}return tb(b,a),b.prototype.subscribeCore=function(a){var b=wa(this.source.subscribe).call(this.source,a);return b===va&&(this._fn(),e(b.e)),new c(b,this._fn)},c.prototype.dispose=function(){if(!this.isDisposed){var a=wa(this._s.dispose).call(this._s);this._fn(),a===va&&e(a.e)}},b}(kc);Yb["finally"]=function(a,b){return new ud(this,a,b)};var vd=function(a){function b(b){this.source=b,a.call(this)}function c(a){this.o=a,this.isStopped=!1}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a))},c.prototype.onNext=na,c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},b}(kc);Yb.ignoreElements=function(){return new vd(this)};var wd=function(a){function b(b,c){this.source=b,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new xd(a))},b}(kc),xd=function(a){function b(b){this._o=b,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._o.onNext(bc(a))},b.prototype.error=function(a){this._o.onNext(cc(a)),this._o.onCompleted()},b.prototype.completed=function(){this._o.onNext(dc()),this._o.onCompleted()},b}(gc);Yb.materialize=function(){return new wd(this)},Yb.repeat=function(a){return qc(this,a).concat()},Yb.retry=function(a){return qc(this,a).catchError()};var yd=function(a){function b(a){return{isDisposed:!1,dispose:function(){this.isDisposed||(this.isDisposed=!0,a.isDisposed=!0)}}}function c(b,c){this.source=b,this._notifier=c,a.call(this)}return tb(c,a),c.prototype.subscribeCore=function(a){var c,d=new le,e=new le,f=this._notifier(d),g=f.subscribe(e),h=this.source["@@iterator"](),i={isDisposed:!1},j=new Eb,k=Qb.scheduleRecursive(null,function(b,f){if(!i.isDisposed){var g=h.next();if(g.done)return void(c?a.onError(c):a.onCompleted());var k=g.value;ta(k)&&(k=Rd(k));var l=new Db,m=new Db;j.setDisposable(new Fb(m,l)),l.setDisposable(k.subscribe(function(b){a.onNext(b)},function(b){m.setDisposable(e.subscribe(f,function(b){a.onError(b)},function(){a.onCompleted()})),d.onNext(b),l.dispose()},function(){a.onCompleted()}))}});return new Gb([g,j,k,b(i)])},c}(kc);Yb.retryWhen=function(a){return new yd(L(this),a)};var zd=function(a){function b(a){return{isDisposed:!1,dispose:function(){this.isDisposed||(this.isDisposed=!0,a.isDisposed=!0)}}}function c(b,c){this.source=b,this._notifier=c,a.call(this)}return tb(c,a),c.prototype.subscribeCore=function(a){var c,d=new le,e=new le,f=this._notifier(d),g=f.subscribe(e),h=this.source["@@iterator"](),i={isDisposed:!1},j=new Eb,k=Qb.scheduleRecursive(null,function(b,f){if(!i.isDisposed){var g=h.next();if(g.done)return void(c?a.onError(c):a.onCompleted());var k=g.value;ta(k)&&(k=Rd(k));var l=new Db,m=new Db;j.setDisposable(new Fb(m,l)),l.setDisposable(k.subscribe(function(b){a.onNext(b)},function(b){a.onError(b)},function(){m.setDisposable(e.subscribe(f,function(b){a.onError(b)},function(){a.onCompleted()})),d.onNext(null),l.dispose()}))}});return new Gb([g,j,k,b(i)])},c}(kc);Yb.repeatWhen=function(a){return new zd(L(this),a)};var Ad=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Bd(a,this))},b}(kc),Bd=function(a){function b(b,c){this._o=b,this._p=c,this._fn=c.accumulator,this._hs=c.hasSeed,this._s=c.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,a.call(this)}return tb(b,a),b.prototype.next=function(a){return!this._hv&&(this._hv=!0),this._ha?this._a=wa(this._fn)(this._a,a,this._i,this._p):(this._a=this._hs?wa(this._fn)(this._s,a,this._i,this._p):a,this._ha=!0),this._a===va?this._o.onError(this._a.e):(this._o.onNext(this._a),void this._i++)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){!this._hv&&this._hs&&this._o.onNext(this._s),this._o.onCompleted()},b}(gc);Yb.scan=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new Ad(this,c,b,a)};var Cd=function(a){function b(b,c){this.source=b,this._c=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Dd(a,this._c))},b}(kc),Dd=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return tb(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._o.onNext(this._q.shift())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.skipLast=function(a){if(0>a)throw new Ea;return new Cd(this,a)},Yb.startWith=function(){var a,b=0;arguments.length&&Kb(arguments[0])?(a=arguments[0],b=1):a=Ob;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return sc([Dc(c,a),this]).concat()};var Ed=function(a){function b(b,c){this._o=b,this._c=c,this._q=[],a.call(this)}return tb(b,a),b.prototype.next=function(a){this._q.push(a),this._q.length>this._c&&this._q.shift()},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){for(;this._q.length>0;)this._o.onNext(this._q.shift());this._o.onCompleted()},b}(gc);Yb.takeLast=function(a){if(0>a)throw new Ea;var b=this;return new ie(function(c){return b.subscribe(new Ed(c,a))},b)},Yb.flatMapConcat=Yb.concatMap=function(a,b,c){return new lc(this,a,b,c).merge(1)};var Fd=function(a){function b(b,c,d){this.source=b,this.selector=Ma(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return a.call(this,b.selector(c,d,e),d,e)}}function d(a,b,c){this.o=a,this.selector=b,this.source=c,this.i=0,gc.call(this)}return tb(b,a),b.prototype.internalMap=function(a,d){return new b(this.source,c(a,this),d)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.selector,this))},tb(d,gc),d.prototype.next=function(a){var b=wa(this.selector)(a,this.i++,this.source);return b===va?this.o.onError(b.e):void this.o.onNext(b)},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(kc);Yb.map=Yb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof Fd?this.internalMap(c,b):new Fd(this,c,b)},Yb.pluck=function(){var a=arguments.length,b=new Array(a);if(0===a)throw new Error("List of properties cannot be empty.");for(var c=0;a>c;c++)b[c]=arguments[c];return this.map(M(b,a))},Yb.flatMap=Yb.selectMany=function(a,b,c){return new lc(this,a,b,c).mergeAll()},ma.Observable.prototype.flatMapLatest=function(a,b,c){return new lc(this,a,b,c).switchLatest()};var Gd=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._r=b,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},tb(c,gc),c.prototype.next=function(a){this._r<=0?this._o.onNext(a):this._r--},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(kc);Yb.skip=function(a){if(0>a)throw new Ea;return new Gd(this,a)};var Hd=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Id(a,this))},b}(kc),Id=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!1,a.call(this)}return tb(b,a),b.prototype.next=function(a){if(!this._r){var b=wa(this._p._fn)(a,this._i++,this._p);if(b===va)return this._o.onError(b.e);this._r=!b}this._r&&this._o.onNext(a)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.skipWhile=function(a,b){var c=Ma(a,b,3);return new Hd(this,c)};var Jd=function(a){function b(b,c){this.source=b,this._count=c,a.call(this)}function c(a,b){this._o=a,this._c=b,this._r=b,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this._count))},tb(c,gc),c.prototype.next=function(a){this._r-->0&&(this._o.onNext(a),this._r<=0&&this._o.onCompleted())},c.prototype.error=function(a){this._o.onError(a)},c.prototype.completed=function(){this._o.onCompleted()},b}(kc);Yb.take=function(a,b){if(0>a)throw new Ea;return 0===a?yc(b):new Jd(this,a)};var Kd=function(a){function b(b,c){this.source=b,this._fn=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Ld(a,this))},b}(kc),Ld=function(a){function b(b,c){this._o=b,this._p=c,this._i=0,this._r=!0,a.call(this)}return tb(b,a),b.prototype.next=function(a){return this._r&&(this._r=wa(this._p._fn)(a,this._i++,this._p),this._r===va)?this._o.onError(this._r.e):void(this._r?this._o.onNext(a):this._o.onCompleted())},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.takeWhile=function(a,b){var c=Ma(a,b,3);return new Kd(this,c)};var Md=function(a){function b(b,c,d){this.source=b,this.predicate=Ma(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return b.predicate(c,d,e)&&a.call(this,c,d,e)}}function d(a,b,c){this.o=a,this.predicate=b,this.source=c,this.i=0,gc.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new d(a,this.predicate,this))},b.prototype.internalFilter=function(a,d){return new b(this.source,c(a,this),d)},tb(d,gc),d.prototype.next=function(a){var b=wa(this.predicate)(a,this.i++,this.source);return b===va?this.o.onError(b.e):void(b&&this.o.onNext(a))},d.prototype.error=function(a){this.o.onError(a)},d.prototype.completed=function(){this.o.onCompleted()},b}(kc);Yb.filter=Yb.where=function(a,b){return this instanceof Md?this.internalFilter(a,b):new Md(this,a,b)},ic.fromCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return N(a,b,c,e)}},ic.fromNodeCallback=function(a,b,c){return function(){ -"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return P(a,b,c,e)}},S.prototype.dispose=function(){this.isDisposed||(this._e.removeEventListener(this._n,this._fn,!1),this.isDisposed=!0)},ma.config.useNativeEvents=!1;var Nd=function(a){function b(b,c,d){this._el=b,this._n=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return ua(b)&&(c=wa(b).apply(null,arguments),c===va)?a.onError(c.e):void a.onNext(c)}}return tb(b,a),b.prototype.subscribeCore=function(a){return T(this._el,this._n,c(a,this._fn))},b}(kc);ic.fromEvent=function(a,b,c){return a.addListener?Pd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):ma.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Nd(a,b,c).publish().refCount():Pd(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var Od=function(a){function b(b,c,d){this._add=b,this._del=c,this._fn=d,a.call(this)}function c(a,b){return function(){var c=arguments[0];return ua(b)&&(c=wa(b).apply(null,arguments),c===va)?a.onError(c.e):void a.onNext(c)}}function d(a,b,c){this._del=a,this._fn=b,this._ret=c,this.isDisposed=!1}return tb(b,a),b.prototype.subscribeCore=function(a){var b=c(a,this._fn),e=this._add(b);return new d(this._del,b,e)},d.prototype.dispose=function(){this.isDisposed||(ua(this._del)&&this._del(this._fn,this._ret),this.isDisposed=!0)},b}(kc),Pd=ic.fromEventPattern=function(a,b,c){return new Od(a,b,c).publish().refCount()},Qd=function(a){function b(b,c){this._p=b,this._s=c,a.call(this)}function c(a,b){var c=b[0],d=b[1];c.onNext(d),c.onCompleted()}function d(a,b){var c=b[0],d=b[1];c.onError(d)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Db,e=this;return this._p.then(function(d){b.setDisposable(e._s.schedule([a,d],c))},function(c){b.setDisposable(e._s.schedule([a,c],d))}),b},b}(kc),Rd=ic.fromPromise=function(a,b){return b||(b=Vb),new Qd(a,b)};Yb.toPromise=function(a){if(a||(a=ma.config.Promise),!a)throw new Fa("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d;b.subscribe(function(a){d=a},c,function(){a(d)})})},ic.startAsync=function(a){var b=wa(a)();return b===va?Mc(b.e):Rd(b)};var Sd=function(a){function b(b,c,d){this.source=b,this._fn1=c,this._fn2=d,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.multicast(this._fn1());return new Fb(this._fn2(b).subscribe(a),b.connect())},b}(kc);Yb.multicast=function(a,b){return ua(a)?new Sd(this,a,b):new Ud(this,a)},Yb.publish=function(a){return a&&ua(a)?this.multicast(function(){return new le},a):this.multicast(new le)},Yb.share=function(){return this.publish().refCount()},Yb.publishLast=function(a){return a&&ua(a)?this.multicast(function(){return new me},a):this.multicast(new me)},Yb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new oe(b)},a):this.multicast(new oe(a))},Yb.shareValue=function(a){return this.publishValue(a).refCount()},Yb.replay=function(a,b,c,d){return a&&ua(a)?this.multicast(function(){return new pe(b,c,d)},a):this.multicast(new pe(b,c,d))},Yb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Td=function(a){function b(b){this.source=b,this._count=0,this._connectableSubscription=null,a.call(this)}function c(a,b){this._p=a,this._s=b,this.isDisposed=!1}return tb(b,a),b.prototype.subscribeCore=function(a){var b=this.source.subscribe(a);return 1===++this._count&&(this._connectableSubscription=this.source.connect()),new c(this,b)},c.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._s.dispose(),0===--this._p._count&&this._p._connectableSubscription.dispose())},b}(kc),Ud=ma.ConnectableObservable=function(a){function b(b,c){this.source=b,this._connection=null,this._source=b.asObservable(),this._subject=c,a.call(this)}function c(a,b){this._p=a,this._s=b}return tb(b,a),c.prototype.dispose=function(){this._s&&(this._s.dispose(),this._s=null,this._p._connection=null)},b.prototype.connect=function(){if(!this._connection){var a=this._source.subscribe(this._subject);this._connection=new c(this,a)}return this._connection},b.prototype._subscribe=function(a){return this._subject.subscribe(a)},b.prototype.refCount=function(){return new Td(this)},b}(ic),Vd=function(a){function b(b,c){this._dt=b,this._s=c,a.call(this)}function c(a,b){b.onNext(0),b.onCompleted()}return tb(b,a),b.prototype.subscribeCore=function(a){return this._s.scheduleFuture(a,this._dt,c)},b}(kc),Wd=ic.interval=function(a,b){return W(a,a,Kb(b)?b:Vb)};ic.timer=function(b,c,d){var e;return Kb(d)||(d=Vb),null!=c&&"number"==typeof c?e=c:Kb(c)&&(d=c),(b instanceof Date||"number"==typeof b)&&e===a?U(b,d):b instanceof Date&&e!==a?V(b,c,d):W(b,e,d)};Yb.delay=function(){var a=arguments[0];if("number"==typeof a||a instanceof Date){var b=a,c=arguments[1];return Kb(c)||(c=Vb),b instanceof Date?Y(this,b,c):X(this,b,c)}if(ic.isObservable(a)||ua(a))return Z(this,a,arguments[1]);throw new Error("Invalid arguments")};var Xd=function(a){function b(b,c,d){Kb(d)||(d=Vb),this.source=b,this._dt=c,this._s=d,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b=new Eb;return new Fb(this.source.subscribe(new Yd(a,this._dt,this._s,b)),b)},b}(kc),Yd=function(a){function b(b,c,d,e){this._o=b,this._d=c,this._scheduler=d,this._c=e,this._v=null,this._hv=!1,this._id=0,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._hv=!0,this._v=a;var b=++this._id,c=new Db;this._c.setDisposable(c),c.setDisposable(this._scheduler.scheduleFuture(this,this._d,function(c,d){d._hv&&d._id===b&&d._o.onNext(a),d._hv=!1}))},b.prototype.error=function(a){this._c.dispose(),this._o.onError(a),this._hv=!1,this._id++},b.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},b}(gc);Yb.debounce=function(){if(ua(arguments[0]))return $(this,arguments[0]);if("number"==typeof arguments[0])return new Xd(this,arguments[0],arguments[1]);throw new Error("Invalid arguments")};var Zd=function(a){function b(b,c){this.source=b,this._s=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new $d(a,this._s))},b}(kc),$d=function(a){function b(b,c){this._o=b,this._s=c,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._o.onNext({value:a,timestamp:this._s.now()})},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._o.onCompleted()},b}(gc);Yb.timestamp=function(a){return Kb(a)||(a=Vb),new Zd(this,a)};var _d=function(a){function b(b,c){this.source=b,this._sampler=c,a.call(this)}return tb(b,a),b.prototype.subscribeCore=function(a){var b={o:a,atEnd:!1,value:null,hasValue:!1,sourceSubscription:new Db};return b.sourceSubscription.setDisposable(this.source.subscribe(new be(b))),new Fb(b.sourceSubscription,this._sampler.subscribe(new ae(b)))},b}(kc),ae=function(a){function b(b){this._s=b,a.call(this)}return tb(b,a),b.prototype._handleMessage=function(){this._s.hasValue&&(this._s.hasValue=!1,this._s.o.onNext(this._s.value)),this._s.atEnd&&this._s.o.onCompleted()},b.prototype.next=function(){this._handleMessage()},b.prototype.error=function(a){this._s.onError(a)},b.prototype.completed=function(){this._handleMessage()},b}(gc),be=function(a){function b(b){this._s=b,a.call(this)}return tb(b,a),b.prototype.next=function(a){this._s.hasValue=!0,this._s.value=a},b.prototype.error=function(a){this._s.o.onError(a)},b.prototype.completed=function(){this._s.atEnd=!0,this._s.sourceSubscription.dispose()},b}(gc);Yb.sample=function(a,b){return Kb(b)||(b=Vb),"number"==typeof a?new _d(this,Wd(a,b)):new _d(this,a)};var ce=ma.TimeoutError=function(a){this.message=a||"Timeout has occurred",this.name="TimeoutError",Error.call(this)};ce.prototype=Object.create(Error.prototype),Yb.timeout=function(){var a=arguments[0];if(a instanceof Date||"number"==typeof a)return aa(this,a,arguments[1],arguments[2]);if(ic.isObservable(a)||ua(a))return _(this,a,arguments[1],arguments[2]);throw new Error("Invalid arguments")},Yb.throttle=function(a,b){Kb(b)||(b=Vb);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new ie(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var de=function(a){function b(b,c){this.source=b,this.controller=new le,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,a.call(this)}return tb(b,a),b.prototype._subscribe=function(a){var b=this.source.publish(),c=b.subscribe(a),d=zb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=zb)});return new Gb([c,d,e])},b.prototype.pause=function(){this.controller.onNext(!1)},b.prototype.resume=function(){this.controller.onNext(!0)},b}(ic);Yb.pausable=function(a){return new de(this,a)};var ee=function(b){function c(a,c){this.source=a,this.controller=new le,c&&c.subscribe?this.pauser=this.controller.merge(c):this.pauser=this.controller,b.call(this)}return tb(c,b),c.prototype._subscribe=function(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ba(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!==d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f},c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(ic);Yb.pausableBuffered=function(a){return new ee(this,a)};var fe=function(a){function b(b,c,d){a.call(this),this.subject=new ge(c,d),this.source=b.multicast(this.subject).refCount()}return tb(b,a),b.prototype._subscribe=function(a){return this.source.subscribe(a)},b.prototype.request=function(a){return this.subject.request(null==a?-1:a)},b}(ic),ge=function(a){function b(b,c){null==b&&(b=!0),a.call(this),this.subject=new le,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=c||Qb}return tb(b,a),ub(b.prototype,ec,{_subscribe:function(a){return this.subject.subscribe(a)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Zb.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Zb.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Zb.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.schedule(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,yb(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),b}(ic);Yb.controlled=function(a,b){return a&&Kb(a)&&(b=a,a=!0),null==a&&(a=!0),new fe(this,a,b)},Yb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a};var he=function(a){function b(b,c){this._o=b,this._xform=c,a.call(this)}return tb(b,a),b.prototype.next=function(a){var b=wa(this._xform["@@transducer/step"]).call(this._xform,this._o,a);b===va&&this._o.onError(b.e)},b.prototype.error=function(a){this._o.onError(a)},b.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},b}(gc);Yb.transduce=function(a){var b=this;return new ie(function(c){var d=a(ca(c));return b.subscribe(new he(c,d))},b)};var ie=ma.AnonymousObservable=function(a){function b(a){return a&&ua(a.dispose)?a:ua(a)?yb(a):zb}function c(a,c){var d=c[0],f=c[1],g=wa(f.__subscribe).call(f,d);g!==va||d.fail(va.e)||e(va.e),d.setDisposable(b(g))}function d(b,c){this.source=c,this.__subscribe=b,a.call(this)}return tb(d,a),d.prototype._subscribe=function(a){var b=new je(a),d=[b,this];return Qb.scheduleRequired()?Qb.schedule(d,c):c(null,d),b},d}(ic),je=function(a){function b(b){a.call(this),this.observer=b,this.m=new Db}tb(b,a);var c=b.prototype;return c.next=function(a){var b=wa(this.observer.onNext).call(this.observer,a);b===va&&(this.dispose(),e(b.e))},c.error=function(a){var b=wa(this.observer.onError).call(this.observer,a);this.dispose(),b===va&&e(b.e)},c.completed=function(){var a=wa(this.observer.onCompleted).call(this.observer);this.dispose(),a===va&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(gc),ke=function(a,b){this._s=a,this._o=b};ke.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var a=this._s.observers.indexOf(this._o);this._s.observers.splice(a,1),this._o=null}};var le=ma.Subject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return tb(b,a),ub(b.prototype,ec.prototype,{_subscribe:function(a){return Bb(this),this.isStopped?this.hasError?(a.onError(this.error),zb):(a.onCompleted(),zb):(this.observers.push(a),new ke(this,a))},hasObservers:function(){return Bb(this),this.observers.length>0},onCompleted:function(){if(Bb(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(Bb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(Bb(this),!this.isStopped)for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),b.create=function(a,b){return new ne(a,b)},b}(ic),me=ma.AsyncSubject=function(a){function b(){a.call(this),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return tb(b,a),ub(b.prototype,ec.prototype,{_subscribe:function(a){return Bb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),zb):(this.observers.push(a),new ke(this,a))},hasObservers:function(){return Bb(this),this.observers.length>0},onCompleted:function(){var a,b;if(Bb(this),!this.isStopped){this.isStopped=!0;var d=c(this.observers),b=d.length;if(this.hasValue)for(a=0;b>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;b>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(Bb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){Bb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.error=null,this.value=null}}),b}(ic),ne=ma.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this)}return tb(b,a),ub(b.prototype,ec.prototype,{_subscribe:function(a){return this.observable.subscribe(a)},onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(ic),oe=ma.BehaviorSubject=function(a){function b(b){a.call(this),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return tb(b,a),ub(b.prototype,ec.prototype,{_subscribe:function(a){return Bb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),zb):(this.observers.push(a),a.onNext(this.value),new ke(this,a))},getValue:function(){return Bb(this),this.hasError&&e(this.error),this.value},hasObservers:function(){return Bb(this),this.observers.length>0},onCompleted:function(){if(Bb(this),!this.isStopped){this.isStopped=!0;for(var a=0,b=c(this.observers),d=b.length;d>a;a++)b[a].onCompleted();this.observers.length=0}},onError:function(a){if(Bb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onError(a);this.observers.length=0}},onNext:function(a){if(Bb(this),!this.isStopped){this.value=a;for(var b=0,d=c(this.observers),e=d.length;e>b;b++)d[b].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.error=null}}),b}(ic),pe=ma.ReplaySubject=function(a){function b(a,b){return yb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(b,c,d){this.bufferSize=null==b?e:b,this.windowSize=null==c?e:c,this.scheduler=d||Qb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this)}var e=Math.pow(2,53)-1;return tb(d,a),ub(d.prototype,ec.prototype,{_subscribe:function(a){Bb(this);var c=new jc(this.scheduler,a),d=b(this,c);this._trim(this.scheduler.now()),this.observers.push(c);for(var e=0,f=this.q.length;f>e;e++)c.onNext(this.q[e].value);return this.hasError?c.onError(this.error):this.isStopped&&c.onCompleted(),c.ensureActive(),d},hasObservers:function(){return Bb(this),this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(Bb(this),!this.isStopped){var b=this.scheduler.now();this.q.push({interval:b,value:a}),this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(Bb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var b=this.scheduler.now();this._trim(b);for(var d=0,e=c(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(Bb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var b=0,d=c(this.observers),e=d.length;e>b;b++){var f=d[b];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(ic);ma.Pauser=function(a){function b(){a.call(this)}return tb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(le),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(la.Rx=ma,define(function(){return ma})):ea&&fa?ja?(fa.exports=ma).Rx=ma:ea.Rx=ma:la.Rx=ma;var qe=j()}).call(this); -//# sourceMappingURL=rx.lite.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.d.ts b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.d.ts new file mode 100644 index 00000000000000..40493db6ef1aa7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.d.ts @@ -0,0 +1,15 @@ +import { Subject } from './Subject'; +import { Subscriber } from './Subscriber'; +import { Subscription } from './Subscription'; +/** + * @class AsyncSubject + */ +export declare class AsyncSubject extends Subject { + private value; + private hasNext; + private hasCompleted; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription; + next(value: T): void; + error(error: any): void; + complete(): void; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js new file mode 100644 index 00000000000000..d6e0dce9de5fb4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js @@ -0,0 +1,53 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subject_1 = require('./Subject'); +var Subscription_1 = require('./Subscription'); +/** + * @class AsyncSubject + */ +var AsyncSubject = (function (_super) { + __extends(AsyncSubject, _super); + function AsyncSubject() { + _super.apply(this, arguments); + this.value = null; + this.hasNext = false; + this.hasCompleted = false; + } + /** @deprecated internal use only */ AsyncSubject.prototype._subscribe = function (subscriber) { + if (this.hasError) { + subscriber.error(this.thrownError); + return Subscription_1.Subscription.EMPTY; + } + else if (this.hasCompleted && this.hasNext) { + subscriber.next(this.value); + subscriber.complete(); + return Subscription_1.Subscription.EMPTY; + } + return _super.prototype._subscribe.call(this, subscriber); + }; + AsyncSubject.prototype.next = function (value) { + if (!this.hasCompleted) { + this.value = value; + this.hasNext = true; + } + }; + AsyncSubject.prototype.error = function (error) { + if (!this.hasCompleted) { + _super.prototype.error.call(this, error); + } + }; + AsyncSubject.prototype.complete = function () { + this.hasCompleted = true; + if (this.hasNext) { + _super.prototype.next.call(this, this.value); + } + _super.prototype.complete.call(this); + }; + return AsyncSubject; +}(Subject_1.Subject)); +exports.AsyncSubject = AsyncSubject; +//# sourceMappingURL=AsyncSubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js.map new file mode 100644 index 00000000000000..1d288e527f1058 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/AsyncSubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsyncSubject.js","sourceRoot":"","sources":["../src/AsyncSubject.ts"],"names":[],"mappings":";;;;;;AAAA,wBAAwB,WAAW,CAAC,CAAA;AAEpC,6BAA6B,gBAAgB,CAAC,CAAA;AAE9C;;GAEG;AACH;IAAqC,gCAAU;IAA/C;QAAqC,8BAAU;QACrC,UAAK,GAAM,IAAI,CAAC;QAChB,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;IAkCxC,CAAC;IAhCC,oCAAoC,CAAC,iCAAU,GAAV,UAAW,UAA2B;QACzE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,2BAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,2BAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,gBAAK,CAAC,UAAU,YAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,2BAAI,GAAJ,UAAK,KAAQ;QACX,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,4BAAK,GAAL,UAAM,KAAU;QACd,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvB,gBAAK,CAAC,KAAK,YAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,+BAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,gBAAK,CAAC,IAAI,YAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,gBAAK,CAAC,QAAQ,WAAE,CAAC;IACnB,CAAC;IACH,mBAAC;AAAD,CAAC,AArCD,CAAqC,iBAAO,GAqC3C;AArCY,oBAAY,eAqCxB,CAAA","sourcesContent":["import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * @class AsyncSubject\n */\nexport class AsyncSubject extends Subject {\n private value: T = null;\n private hasNext: boolean = false;\n private hasCompleted: boolean = false;\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n } else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return super._subscribe(subscriber);\n }\n\n next(value: T): void {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n }\n\n error(error: any): void {\n if (!this.hasCompleted) {\n super.error(error);\n }\n }\n\n complete(): void {\n this.hasCompleted = true;\n if (this.hasNext) {\n super.next(this.value);\n }\n super.complete();\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.d.ts b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.d.ts new file mode 100644 index 00000000000000..f3ae834283fb79 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.d.ts @@ -0,0 +1,14 @@ +import { Subject } from './Subject'; +import { Subscriber } from './Subscriber'; +import { Subscription } from './Subscription'; +/** + * @class BehaviorSubject + */ +export declare class BehaviorSubject extends Subject { + private _value; + constructor(_value: T); + readonly value: T; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription; + getValue(): T; + next(value: T): void; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js new file mode 100644 index 00000000000000..1d8654fe3d753c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js @@ -0,0 +1,49 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subject_1 = require('./Subject'); +var ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError'); +/** + * @class BehaviorSubject + */ +var BehaviorSubject = (function (_super) { + __extends(BehaviorSubject, _super); + function BehaviorSubject(_value) { + _super.call(this); + this._value = _value; + } + Object.defineProperty(BehaviorSubject.prototype, "value", { + get: function () { + return this.getValue(); + }, + enumerable: true, + configurable: true + }); + /** @deprecated internal use only */ BehaviorSubject.prototype._subscribe = function (subscriber) { + var subscription = _super.prototype._subscribe.call(this, subscriber); + if (subscription && !subscription.closed) { + subscriber.next(this._value); + } + return subscription; + }; + BehaviorSubject.prototype.getValue = function () { + if (this.hasError) { + throw this.thrownError; + } + else if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + else { + return this._value; + } + }; + BehaviorSubject.prototype.next = function (value) { + _super.prototype.next.call(this, this._value = value); + }; + return BehaviorSubject; +}(Subject_1.Subject)); +exports.BehaviorSubject = BehaviorSubject; +//# sourceMappingURL=BehaviorSubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js.map new file mode 100644 index 00000000000000..31c2bb817672eb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/BehaviorSubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BehaviorSubject.js","sourceRoot":"","sources":["../src/BehaviorSubject.ts"],"names":[],"mappings":";;;;;;AAAA,wBAAwB,WAAW,CAAC,CAAA;AAGpC,wCAAwC,gCAAgC,CAAC,CAAA;AAEzE;;GAEG;AACH;IAAwC,mCAAU;IAEhD,yBAAoB,MAAS;QAC3B,iBAAO,CAAC;QADU,WAAM,GAAN,MAAM,CAAG;IAE7B,CAAC;IAED,sBAAI,kCAAK;aAAT;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;;;OAAA;IAED,oCAAoC,CAAC,oCAAU,GAAV,UAAW,UAAyB;QACvE,IAAM,YAAY,GAAG,gBAAK,CAAC,UAAU,YAAC,UAAU,CAAC,CAAC;QAClD,EAAE,CAAC,CAAC,YAAY,IAAI,CAAiB,YAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;IAED,kCAAQ,GAAR;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,iDAAuB,EAAE,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAED,8BAAI,GAAJ,UAAK,KAAQ;QACX,gBAAK,CAAC,IAAI,YAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IACH,sBAAC;AAAD,CAAC,AA/BD,CAAwC,iBAAO,GA+B9C;AA/BY,uBAAe,kBA+B3B,CAAA","sourcesContent":["import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, ISubscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\n\n/**\n * @class BehaviorSubject\n */\nexport class BehaviorSubject extends Subject {\n\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n if (subscription && !(subscription).closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n\n getValue(): T {\n if (this.hasError) {\n throw this.thrownError;\n } else if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else {\n return this._value;\n }\n }\n\n next(value: T): void {\n super.next(this._value = value);\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.d.ts b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.d.ts new file mode 100644 index 00000000000000..72087f19bc24bf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.d.ts @@ -0,0 +1,17 @@ +import { Subscriber } from './Subscriber'; +import { OuterSubscriber } from './OuterSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export declare class InnerSubscriber extends Subscriber { + private parent; + private outerValue; + private outerIndex; + private index; + constructor(parent: OuterSubscriber, outerValue: T, outerIndex: number); + protected _next(value: R): void; + protected _error(error: any): void; + protected _complete(): void; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js new file mode 100644 index 00000000000000..85044bf6610a44 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js @@ -0,0 +1,36 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subscriber_1 = require('./Subscriber'); +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var InnerSubscriber = (function (_super) { + __extends(InnerSubscriber, _super); + function InnerSubscriber(parent, outerValue, outerIndex) { + _super.call(this); + this.parent = parent; + this.outerValue = outerValue; + this.outerIndex = outerIndex; + this.index = 0; + } + InnerSubscriber.prototype._next = function (value) { + this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this); + }; + InnerSubscriber.prototype._error = function (error) { + this.parent.notifyError(error, this); + this.unsubscribe(); + }; + InnerSubscriber.prototype._complete = function () { + this.parent.notifyComplete(this); + this.unsubscribe(); + }; + return InnerSubscriber; +}(Subscriber_1.Subscriber)); +exports.InnerSubscriber = InnerSubscriber; +//# sourceMappingURL=InnerSubscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js.map new file mode 100644 index 00000000000000..3f3092b11ac0c2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/InnerSubscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"InnerSubscriber.js","sourceRoot":"","sources":["../src/InnerSubscriber.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA2B,cAAc,CAAC,CAAA;AAG1C;;;;GAIG;AACH;IAA2C,mCAAa;IAGtD,yBAAoB,MAA6B,EAAU,UAAa,EAAU,UAAkB;QAClG,iBAAO,CAAC;QADU,WAAM,GAAN,MAAM,CAAuB;QAAU,eAAU,GAAV,UAAU,CAAG;QAAU,eAAU,GAAV,UAAU,CAAQ;QAF5F,UAAK,GAAW,CAAC,CAAC;IAI1B,CAAC;IAES,+BAAK,GAAf,UAAgB,KAAQ;QACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAES,gCAAM,GAAhB,UAAiB,KAAU;QACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,mCAAS,GAAnB;QACE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACH,sBAAC;AAAD,CAAC,AApBD,CAA2C,uBAAU,GAoBpD;AApBY,uBAAe,kBAoB3B,CAAA","sourcesContent":["import { Subscriber } from './Subscriber';\nimport { OuterSubscriber } from './OuterSubscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class InnerSubscriber extends Subscriber {\n private index: number = 0;\n\n constructor(private parent: OuterSubscriber, private outerValue: T, private outerIndex: number) {\n super();\n }\n\n protected _next(value: R): void {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n\n protected _error(error: any): void {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n\n protected _complete(): void {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/LICENSE.txt b/tools/node_modules/eslint/node_modules/rxjs/LICENSE.txt new file mode 100644 index 00000000000000..b6c40015e9acc0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/LICENSE.txt @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2017 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/tools/node_modules/eslint/node_modules/rxjs/Notification.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Notification.d.ts new file mode 100644 index 00000000000000..19ba442cddd9d5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Notification.d.ts @@ -0,0 +1,77 @@ +import { PartialObserver } from './Observer'; +import { Observable } from './Observable'; +/** + * Represents a push-based event or value that an {@link Observable} can emit. + * This class is particularly useful for operators that manage notifications, + * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and + * others. Besides wrapping the actual delivered value, it also annotates it + * with metadata of, for instance, what type of push message it is (`next`, + * `error`, or `complete`). + * + * @see {@link materialize} + * @see {@link dematerialize} + * @see {@link observeOn} + * + * @class Notification + */ +export declare class Notification { + kind: string; + value: T; + error: any; + hasValue: boolean; + constructor(kind: string, value?: T, error?: any); + /** + * Delivers to the given `observer` the value wrapped by this Notification. + * @param {Observer} observer + * @return + */ + observe(observer: PartialObserver): any; + /** + * Given some {@link Observer} callbacks, deliver the value represented by the + * current Notification to the correctly corresponding callback. + * @param {function(value: T): void} next An Observer `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + do(next: (value: T) => void, error?: (err: any) => void, complete?: () => void): any; + /** + * Takes an Observer or its individual callback functions, and calls `observe` + * or `do` methods accordingly. + * @param {Observer|function(value: T): void} nextOrObserver An Observer or + * the `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + accept(nextOrObserver: PartialObserver | ((value: T) => void), error?: (err: any) => void, complete?: () => void): any; + /** + * Returns a simple Observable that just delivers the notification represented + * by this Notification instance. + * @return {any} + */ + toObservable(): Observable; + private static completeNotification; + private static undefinedValueNotification; + /** + * A shortcut to create a Notification instance of the type `next` from a + * given value. + * @param {T} value The `next` value. + * @return {Notification} The "next" Notification representing the + * argument. + */ + static createNext(value: T): Notification; + /** + * A shortcut to create a Notification instance of the type `error` from a + * given error. + * @param {any} [err] The `error` error. + * @return {Notification} The "error" Notification representing the + * argument. + */ + static createError(err?: any): Notification; + /** + * A shortcut to create a Notification instance of the type `complete`. + * @return {Notification} The valueless "complete" Notification. + */ + static createComplete(): Notification; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Notification.js b/tools/node_modules/eslint/node_modules/rxjs/Notification.js new file mode 100644 index 00000000000000..ae933e4a575cef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Notification.js @@ -0,0 +1,127 @@ +"use strict"; +var Observable_1 = require('./Observable'); +/** + * Represents a push-based event or value that an {@link Observable} can emit. + * This class is particularly useful for operators that manage notifications, + * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and + * others. Besides wrapping the actual delivered value, it also annotates it + * with metadata of, for instance, what type of push message it is (`next`, + * `error`, or `complete`). + * + * @see {@link materialize} + * @see {@link dematerialize} + * @see {@link observeOn} + * + * @class Notification + */ +var Notification = (function () { + function Notification(kind, value, error) { + this.kind = kind; + this.value = value; + this.error = error; + this.hasValue = kind === 'N'; + } + /** + * Delivers to the given `observer` the value wrapped by this Notification. + * @param {Observer} observer + * @return + */ + Notification.prototype.observe = function (observer) { + switch (this.kind) { + case 'N': + return observer.next && observer.next(this.value); + case 'E': + return observer.error && observer.error(this.error); + case 'C': + return observer.complete && observer.complete(); + } + }; + /** + * Given some {@link Observer} callbacks, deliver the value represented by the + * current Notification to the correctly corresponding callback. + * @param {function(value: T): void} next An Observer `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + Notification.prototype.do = function (next, error, complete) { + var kind = this.kind; + switch (kind) { + case 'N': + return next && next(this.value); + case 'E': + return error && error(this.error); + case 'C': + return complete && complete(); + } + }; + /** + * Takes an Observer or its individual callback functions, and calls `observe` + * or `do` methods accordingly. + * @param {Observer|function(value: T): void} nextOrObserver An Observer or + * the `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + Notification.prototype.accept = function (nextOrObserver, error, complete) { + if (nextOrObserver && typeof nextOrObserver.next === 'function') { + return this.observe(nextOrObserver); + } + else { + return this.do(nextOrObserver, error, complete); + } + }; + /** + * Returns a simple Observable that just delivers the notification represented + * by this Notification instance. + * @return {any} + */ + Notification.prototype.toObservable = function () { + var kind = this.kind; + switch (kind) { + case 'N': + return Observable_1.Observable.of(this.value); + case 'E': + return Observable_1.Observable.throw(this.error); + case 'C': + return Observable_1.Observable.empty(); + } + throw new Error('unexpected notification kind value'); + }; + /** + * A shortcut to create a Notification instance of the type `next` from a + * given value. + * @param {T} value The `next` value. + * @return {Notification} The "next" Notification representing the + * argument. + */ + Notification.createNext = function (value) { + if (typeof value !== 'undefined') { + return new Notification('N', value); + } + return Notification.undefinedValueNotification; + }; + /** + * A shortcut to create a Notification instance of the type `error` from a + * given error. + * @param {any} [err] The `error` error. + * @return {Notification} The "error" Notification representing the + * argument. + */ + Notification.createError = function (err) { + return new Notification('E', undefined, err); + }; + /** + * A shortcut to create a Notification instance of the type `complete`. + * @return {Notification} The valueless "complete" Notification. + */ + Notification.createComplete = function () { + return Notification.completeNotification; + }; + Notification.completeNotification = new Notification('C'); + Notification.undefinedValueNotification = new Notification('N', undefined); + return Notification; +}()); +exports.Notification = Notification; +//# sourceMappingURL=Notification.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Notification.js.map b/tools/node_modules/eslint/node_modules/rxjs/Notification.js.map new file mode 100644 index 00000000000000..b554d335b181ef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Notification.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../src/Notification.ts"],"names":[],"mappings":"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","sourcesContent":["import { PartialObserver } from './Observer';\nimport { Observable } from './Observable';\n\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification\n */\nexport class Notification {\n hasValue: boolean;\n\n constructor(public kind: string, public value?: T, public error?: any) {\n this.hasValue = kind === 'N';\n }\n\n /**\n * Delivers to the given `observer` the value wrapped by this Notification.\n * @param {Observer} observer\n * @return\n */\n observe(observer: PartialObserver): any {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n\n /**\n * Given some {@link Observer} callbacks, deliver the value represented by the\n * current Notification to the correctly corresponding callback.\n * @param {function(value: T): void} next An Observer `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n do(next: (value: T) => void, error?: (err: any) => void, complete?: () => void): any {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n\n /**\n * Takes an Observer or its individual callback functions, and calls `observe`\n * or `do` methods accordingly.\n * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n * the `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n accept(nextOrObserver: PartialObserver | ((value: T) => void), error?: (err: any) => void, complete?: () => void) {\n if (nextOrObserver && typeof (>nextOrObserver).next === 'function') {\n return this.observe(>nextOrObserver);\n } else {\n return this.do(<(value: T) => void>nextOrObserver, error, complete);\n }\n }\n\n /**\n * Returns a simple Observable that just delivers the notification represented\n * by this Notification instance.\n * @return {any}\n */\n toObservable(): Observable {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return Observable.of(this.value);\n case 'E':\n return Observable.throw(this.error);\n case 'C':\n return Observable.empty();\n }\n throw new Error('unexpected notification kind value');\n }\n\n private static completeNotification: Notification = new Notification('C');\n private static undefinedValueNotification: Notification = new Notification('N', undefined);\n\n /**\n * A shortcut to create a Notification instance of the type `next` from a\n * given value.\n * @param {T} value The `next` value.\n * @return {Notification} The \"next\" Notification representing the\n * argument.\n */\n static createNext(value: T): Notification {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n\n /**\n * A shortcut to create a Notification instance of the type `error` from a\n * given error.\n * @param {any} [err] The `error` error.\n * @return {Notification} The \"error\" Notification representing the\n * argument.\n */\n static createError(err?: any): Notification {\n return new Notification('E', undefined, err);\n }\n\n /**\n * A shortcut to create a Notification instance of the type `complete`.\n * @return {Notification} The valueless \"complete\" Notification.\n */\n static createComplete(): Notification {\n return Notification.completeNotification;\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observable.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Observable.d.ts new file mode 100644 index 00000000000000..a2d78880d84fb0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observable.d.ts @@ -0,0 +1,76 @@ +import { PartialObserver } from './Observer'; +import { Operator } from './Operator'; +import { Subscriber } from './Subscriber'; +import { Subscription, AnonymousSubscription, TeardownLogic } from './Subscription'; +import { IfObservable } from './observable/IfObservable'; +import { ErrorObservable } from './observable/ErrorObservable'; +import { OperatorFunction } from './interfaces'; +export interface Subscribable { + subscribe(observerOrNext?: PartialObserver | ((value: T) => void), error?: (error: any) => void, complete?: () => void): AnonymousSubscription; +} +export declare type SubscribableOrPromise = Subscribable | PromiseLike; +export declare type ObservableInput = SubscribableOrPromise | ArrayLike; +/** + * A representation of any set of values over any amount of time. This is the most basic building block + * of RxJS. + * + * @class Observable + */ +export declare class Observable implements Subscribable { + _isScalar: boolean; + /** @deprecated internal use only */ source: Observable; + protected operator: Operator; + /** + * @constructor + * @param {Function} subscribe the function that is called when the Observable is + * initially subscribed to. This function is given a Subscriber, to which new values + * can be `next`ed, or an `error` method can be called to raise an error, or + * `complete` can be called to notify of a successful completion. + */ + constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic); + /** + * Creates a new cold Observable by calling the Observable constructor + * @static true + * @owner Observable + * @method create + * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor + * @return {Observable} a new cold observable + */ + static create: Function; + /** + * Creates a new Observable, with this Observable as the source, and the passed + * operator defined as the new observable's operator. + * @method lift + * @param {Operator} operator the operator defining the operation to take on the observable + * @return {Observable} a new observable with the Operator applied + */ + lift(operator: Operator): Observable; + subscribe(observer?: PartialObserver): Subscription; + subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription; + protected _trySubscribe(sink: Subscriber): TeardownLogic; + /** + * @method forEach + * @param {Function} next a handler for each value emitted by the observable + * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise + * @return {Promise} a promise that either resolves on observable completion or + * rejects with the handled error + */ + forEach(next: (value: T) => void, PromiseCtor?: typeof Promise): Promise; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): TeardownLogic; + static if: typeof IfObservable.create; + static throw: typeof ErrorObservable.create; + pipe(): Observable; + pipe(op1: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction, op9: OperatorFunction): Observable; + pipe(...operations: OperatorFunction[]): Observable; + toPromise(this: Observable): Promise; + toPromise(this: Observable, PromiseCtor: typeof Promise): Promise; + toPromise(this: Observable, PromiseCtor: PromiseConstructorLike): Promise; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observable.js b/tools/node_modules/eslint/node_modules/rxjs/Observable.js new file mode 100644 index 00000000000000..dc3adcbd2db929 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observable.js @@ -0,0 +1,305 @@ +"use strict"; +var root_1 = require('./util/root'); +var toSubscriber_1 = require('./util/toSubscriber'); +var observable_1 = require('./symbol/observable'); +var pipe_1 = require('./util/pipe'); +/** + * A representation of any set of values over any amount of time. This is the most basic building block + * of RxJS. + * + * @class Observable + */ +var Observable = (function () { + /** + * @constructor + * @param {Function} subscribe the function that is called when the Observable is + * initially subscribed to. This function is given a Subscriber, to which new values + * can be `next`ed, or an `error` method can be called to raise an error, or + * `complete` can be called to notify of a successful completion. + */ + function Observable(subscribe) { + this._isScalar = false; + if (subscribe) { + this._subscribe = subscribe; + } + } + /** + * Creates a new Observable, with this Observable as the source, and the passed + * operator defined as the new observable's operator. + * @method lift + * @param {Operator} operator the operator defining the operation to take on the observable + * @return {Observable} a new observable with the Operator applied + */ + Observable.prototype.lift = function (operator) { + var observable = new Observable(); + observable.source = this; + observable.operator = operator; + return observable; + }; + /** + * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit. + * + * Use it when you have all these Observables, but still nothing is happening. + * + * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It + * might be for example a function that you passed to a {@link create} static factory, but most of the time it is + * a library implementation, which defines what and when will be emitted by an Observable. This means that calling + * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often + * thought. + * + * Apart from starting the execution of an Observable, this method allows you to listen for values + * that an Observable emits, as well as for when it completes or errors. You can achieve this in two + * following ways. + * + * The first way is creating an object that implements {@link Observer} interface. It should have methods + * defined by that interface, but note that it should be just a regular JavaScript object, which you can create + * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do + * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also + * that your object does not have to implement all methods. If you find yourself creating a method that doesn't + * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will + * be left uncaught. + * + * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods. + * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent + * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer, + * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`, + * since `subscribe` recognizes these functions by where they were placed in function call. When it comes + * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown. + * + * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object. + * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean + * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback + * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable. + * + * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously. + * It is an Observable itself that decides when these functions will be called. For example {@link of} + * by default emits all its values synchronously. Always check documentation for how given Observable + * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}. + * + * @example Subscribe with an Observer + * const sumObserver = { + * sum: 0, + * next(value) { + * console.log('Adding: ' + value); + * this.sum = this.sum + value; + * }, + * error() { // We actually could just remove this method, + * }, // since we do not really care about errors right now. + * complete() { + * console.log('Sum equals: ' + this.sum); + * } + * }; + * + * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes. + * .subscribe(sumObserver); + * + * // Logs: + * // "Adding: 1" + * // "Adding: 2" + * // "Adding: 3" + * // "Sum equals: 6" + * + * + * @example Subscribe with functions + * let sum = 0; + * + * Rx.Observable.of(1, 2, 3) + * .subscribe( + * function(value) { + * console.log('Adding: ' + value); + * sum = sum + value; + * }, + * undefined, + * function() { + * console.log('Sum equals: ' + sum); + * } + * ); + * + * // Logs: + * // "Adding: 1" + * // "Adding: 2" + * // "Adding: 3" + * // "Sum equals: 6" + * + * + * @example Cancel a subscription + * const subscription = Rx.Observable.interval(1000).subscribe( + * num => console.log(num), + * undefined, + * () => console.log('completed!') // Will not be called, even + * ); // when cancelling subscription + * + * + * setTimeout(() => { + * subscription.unsubscribe(); + * console.log('unsubscribed!'); + * }, 2500); + * + * // Logs: + * // 0 after 1s + * // 1 after 2s + * // "unsubscribed!" after 2.5s + * + * + * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called, + * or the first of three possible handlers, which is the handler for each value emitted from the subscribed + * Observable. + * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided, + * the error will be thrown as unhandled. + * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion. + * @return {ISubscription} a subscription reference to the registered handlers + * @method subscribe + */ + Observable.prototype.subscribe = function (observerOrNext, error, complete) { + var operator = this.operator; + var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete); + if (operator) { + operator.call(sink, this.source); + } + else { + sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink)); + } + if (sink.syncErrorThrowable) { + sink.syncErrorThrowable = false; + if (sink.syncErrorThrown) { + throw sink.syncErrorValue; + } + } + return sink; + }; + Observable.prototype._trySubscribe = function (sink) { + try { + return this._subscribe(sink); + } + catch (err) { + sink.syncErrorThrown = true; + sink.syncErrorValue = err; + sink.error(err); + } + }; + /** + * @method forEach + * @param {Function} next a handler for each value emitted by the observable + * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise + * @return {Promise} a promise that either resolves on observable completion or + * rejects with the handled error + */ + Observable.prototype.forEach = function (next, PromiseCtor) { + var _this = this; + if (!PromiseCtor) { + if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) { + PromiseCtor = root_1.root.Rx.config.Promise; + } + else if (root_1.root.Promise) { + PromiseCtor = root_1.root.Promise; + } + } + if (!PromiseCtor) { + throw new Error('no Promise impl found'); + } + return new PromiseCtor(function (resolve, reject) { + // Must be declared in a separate statement to avoid a RefernceError when + // accessing subscription below in the closure due to Temporal Dead Zone. + var subscription; + subscription = _this.subscribe(function (value) { + if (subscription) { + // if there is a subscription, then we can surmise + // the next handling is asynchronous. Any errors thrown + // need to be rejected explicitly and unsubscribe must be + // called manually + try { + next(value); + } + catch (err) { + reject(err); + subscription.unsubscribe(); + } + } + else { + // if there is NO subscription, then we're getting a nexted + // value synchronously during subscription. We can just call it. + // If it errors, Observable's `subscribe` will ensure the + // unsubscription logic is called, then synchronously rethrow the error. + // After that, Promise will trap the error and send it + // down the rejection path. + next(value); + } + }, reject, resolve); + }); + }; + /** @deprecated internal use only */ Observable.prototype._subscribe = function (subscriber) { + return this.source.subscribe(subscriber); + }; + /** + * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable + * @method Symbol.observable + * @return {Observable} this instance of the observable + */ + Observable.prototype[observable_1.observable] = function () { + return this; + }; + /* tslint:enable:max-line-length */ + /** + * Used to stitch together functional operators into a chain. + * @method pipe + * @return {Observable} the Observable result of all of the operators having + * been called in the order they were passed in. + * + * @example + * + * import { map, filter, scan } from 'rxjs/operators'; + * + * Rx.Observable.interval(1000) + * .pipe( + * filter(x => x % 2 === 0), + * map(x => x + x), + * scan((acc, x) => acc + x) + * ) + * .subscribe(x => console.log(x)) + */ + Observable.prototype.pipe = function () { + var operations = []; + for (var _i = 0; _i < arguments.length; _i++) { + operations[_i - 0] = arguments[_i]; + } + if (operations.length === 0) { + return this; + } + return pipe_1.pipeFromArray(operations)(this); + }; + /* tslint:enable:max-line-length */ + Observable.prototype.toPromise = function (PromiseCtor) { + var _this = this; + if (!PromiseCtor) { + if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) { + PromiseCtor = root_1.root.Rx.config.Promise; + } + else if (root_1.root.Promise) { + PromiseCtor = root_1.root.Promise; + } + } + if (!PromiseCtor) { + throw new Error('no Promise impl found'); + } + return new PromiseCtor(function (resolve, reject) { + var value; + _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); }); + }); + }; + // HACK: Since TypeScript inherits static properties too, we have to + // fight against TypeScript here so Subject can have a different static create signature + /** + * Creates a new cold Observable by calling the Observable constructor + * @static true + * @owner Observable + * @method create + * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor + * @return {Observable} a new cold observable + */ + Observable.create = function (subscribe) { + return new Observable(subscribe); + }; + return Observable; +}()); +exports.Observable = Observable; +//# sourceMappingURL=Observable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observable.js.map b/tools/node_modules/eslint/node_modules/rxjs/Observable.js.map new file mode 100644 index 00000000000000..b302933efeba6a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Observable.js","sourceRoot":"","sources":["../src/Observable.ts"],"names":[],"mappings":"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","sourcesContent":["import { PartialObserver } from './Observer';\nimport { Operator } from './Operator';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, AnonymousSubscription, TeardownLogic } from './Subscription';\nimport { root } from './util/root';\nimport { toSubscriber } from './util/toSubscriber';\nimport { IfObservable } from './observable/IfObservable';\nimport { ErrorObservable } from './observable/ErrorObservable';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { OperatorFunction } from './interfaces';\nimport { pipeFromArray } from './util/pipe';\n\nexport interface Subscribable {\n subscribe(observerOrNext?: PartialObserver | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void): AnonymousSubscription;\n}\n\nexport type SubscribableOrPromise = Subscribable | PromiseLike;\nexport type ObservableInput = SubscribableOrPromise | ArrayLike;\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n\n public _isScalar: boolean = false;\n\n /** @deprecated internal use only */ public source: Observable;\n protected operator: Operator;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n static create: Function = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n }\n\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n lift(operator: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observer?: PartialObserver): Subscription;\n subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to a {@link create} static factory, but most of the time it is\n * a library implementation, which defines what and when will be emitted by an Observable. This means that calling\n * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will\n * be left uncaught.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent\n * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer,\n * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown.\n *\n * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}.\n *\n * @example Subscribe with an Observer\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() { // We actually could just remove this method,\n * }, // since we do not really care about errors right now.\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Subscribe with functions\n * let sum = 0;\n *\n * Rx.Observable.of(1, 2, 3)\n * .subscribe(\n * function(value) {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * function() {\n * console.log('Sum equals: ' + sum);\n * }\n * );\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Cancel a subscription\n * const subscription = Rx.Observable.interval(1000).subscribe(\n * num => console.log(num),\n * undefined,\n * () => console.log('completed!') // Will not be called, even\n * ); // when cancelling subscription\n *\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // \"unsubscribed!\" after 2.5s\n *\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {ISubscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(observerOrNext?: PartialObserver | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void): Subscription {\n\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n\n if (operator) {\n operator.call(sink, this.source);\n } else {\n sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n\n return sink;\n }\n\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n sink.error(err);\n }\n }\n\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void, PromiseCtor?: typeof Promise): Promise {\n if (!PromiseCtor) {\n if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n PromiseCtor = root.Rx.config.Promise;\n } else if (root.Promise) {\n PromiseCtor = root.Promise;\n }\n }\n\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n\n return new PromiseCtor((resolve, reject) => {\n // Must be declared in a separate statement to avoid a RefernceError when\n // accessing subscription below in the closure due to Temporal Dead Zone.\n let subscription: Subscription;\n subscription = this.subscribe((value) => {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n } else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source.subscribe(subscriber);\n }\n\n // `if` and `throw` are special snow flakes, the compiler sees them as reserved words\n static if: typeof IfObservable.create;\n static throw: typeof ErrorObservable.create;\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable\n pipe(op1: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction): Observable\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction, op9: OperatorFunction): Observable\n pipe(...operations: OperatorFunction[]): Observable\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * @example\n *\n * import { map, filter, scan } from 'rxjs/operators';\n *\n * Rx.Observable.interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x))\n */\n pipe(...operations: OperatorFunction[]): Observable {\n if (operations.length === 0) {\n return this as any;\n }\n\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n toPromise(this: Observable): Promise;\n toPromise(this: Observable, PromiseCtor: typeof Promise): Promise;\n toPromise(this: Observable, PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n toPromise(PromiseCtor?: PromiseConstructorLike) {\n if (!PromiseCtor) {\n if (root.Rx && root.Rx.config && root.Rx.config.Promise) {\n PromiseCtor = root.Rx.config.Promise;\n } else if (root.Promise) {\n PromiseCtor = root.Promise;\n }\n }\n\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n\n return new PromiseCtor((resolve, reject) => {\n let value: any;\n this.subscribe((x: T) => value = x, (err: any) => reject(err), () => resolve(value));\n }) as Promise;\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observer.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Observer.d.ts new file mode 100644 index 00000000000000..99815a7c7fc829 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observer.d.ts @@ -0,0 +1,26 @@ +export interface NextObserver { + closed?: boolean; + next: (value: T) => void; + error?: (err: any) => void; + complete?: () => void; +} +export interface ErrorObserver { + closed?: boolean; + next?: (value: T) => void; + error: (err: any) => void; + complete?: () => void; +} +export interface CompletionObserver { + closed?: boolean; + next?: (value: T) => void; + error?: (err: any) => void; + complete: () => void; +} +export declare type PartialObserver = NextObserver | ErrorObserver | CompletionObserver; +export interface Observer { + closed?: boolean; + next: (value: T) => void; + error: (err: any) => void; + complete: () => void; +} +export declare const empty: Observer; diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observer.js b/tools/node_modules/eslint/node_modules/rxjs/Observer.js new file mode 100644 index 00000000000000..db3df9367c12b3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observer.js @@ -0,0 +1,8 @@ +"use strict"; +exports.empty = { + closed: true, + next: function (value) { }, + error: function (err) { throw err; }, + complete: function () { } +}; +//# sourceMappingURL=Observer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Observer.js.map b/tools/node_modules/eslint/node_modules/rxjs/Observer.js.map new file mode 100644 index 00000000000000..6e2f930897dfd8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Observer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Observer.js","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":";AA8Ba,aAAK,GAAkB;IAClC,MAAM,EAAE,IAAI;IACZ,IAAI,YAAC,KAAU,IAAoB,CAAC;IACpC,KAAK,YAAC,GAAQ,IAAU,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,QAAQ,gBAAoB,CAAC;CAC9B,CAAC","sourcesContent":["export interface NextObserver {\n closed?: boolean;\n next: (value: T) => void;\n error?: (err: any) => void;\n complete?: () => void;\n}\n\nexport interface ErrorObserver {\n closed?: boolean;\n next?: (value: T) => void;\n error: (err: any) => void;\n complete?: () => void;\n}\n\nexport interface CompletionObserver {\n closed?: boolean;\n next?: (value: T) => void;\n error?: (err: any) => void;\n complete: () => void;\n}\n\nexport type PartialObserver = NextObserver | ErrorObserver | CompletionObserver;\n\nexport interface Observer {\n closed?: boolean;\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\nexport const empty: Observer = {\n closed: true,\n next(value: any): void { /* noop */},\n error(err: any): void { throw err; },\n complete(): void { /*noop*/ }\n};\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Operator.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Operator.d.ts new file mode 100644 index 00000000000000..643dd9aff16745 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Operator.d.ts @@ -0,0 +1,5 @@ +import { Subscriber } from './Subscriber'; +import { TeardownLogic } from './Subscription'; +export interface Operator { + call(subscriber: Subscriber, source: any): TeardownLogic; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Operator.js b/tools/node_modules/eslint/node_modules/rxjs/Operator.js new file mode 100644 index 00000000000000..f99eac52b5f796 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Operator.js @@ -0,0 +1,2 @@ +"use strict"; +//# sourceMappingURL=Operator.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Operator.js.map b/tools/node_modules/eslint/node_modules/rxjs/Operator.js.map new file mode 100644 index 00000000000000..d1d8dce08f3c99 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Operator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Operator.js","sourceRoot":"","sources":["../src/Operator.ts"],"names":[],"mappings":"","sourcesContent":["import { Subscriber } from './Subscriber';\nimport { TeardownLogic } from './Subscription';\n\nexport interface Operator {\n call(subscriber: Subscriber, source: any): TeardownLogic;\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.d.ts b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.d.ts new file mode 100644 index 00000000000000..15501206be267c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.d.ts @@ -0,0 +1,12 @@ +import { Subscriber } from './Subscriber'; +import { InnerSubscriber } from './InnerSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export declare class OuterSubscriber extends Subscriber { + notifyNext(outerValue: T, innerValue: R, outerIndex: number, innerIndex: number, innerSub: InnerSubscriber): void; + notifyError(error: any, innerSub: InnerSubscriber): void; + notifyComplete(innerSub: InnerSubscriber): void; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js new file mode 100644 index 00000000000000..a0397e76068530 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js @@ -0,0 +1,30 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subscriber_1 = require('./Subscriber'); +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var OuterSubscriber = (function (_super) { + __extends(OuterSubscriber, _super); + function OuterSubscriber() { + _super.apply(this, arguments); + } + OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.destination.next(innerValue); + }; + OuterSubscriber.prototype.notifyError = function (error, innerSub) { + this.destination.error(error); + }; + OuterSubscriber.prototype.notifyComplete = function (innerSub) { + this.destination.complete(); + }; + return OuterSubscriber; +}(Subscriber_1.Subscriber)); +exports.OuterSubscriber = OuterSubscriber; +//# sourceMappingURL=OuterSubscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js.map new file mode 100644 index 00000000000000..09c26b79ca7982 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/OuterSubscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OuterSubscriber.js","sourceRoot":"","sources":["../src/OuterSubscriber.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA2B,cAAc,CAAC,CAAA;AAG1C;;;;GAIG;AACH;IAA2C,mCAAa;IAAxD;QAA2C,8BAAa;IAcxD,CAAC;IAbC,oCAAU,GAAV,UAAW,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,qCAAW,GAAX,UAAY,KAAU,EAAE,QAA+B;QACrD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,wCAAc,GAAd,UAAe,QAA+B;QAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IACH,sBAAC;AAAD,CAAC,AAdD,CAA2C,uBAAU,GAcpD;AAdY,uBAAe,kBAc3B,CAAA","sourcesContent":["import { Subscriber } from './Subscriber';\nimport { InnerSubscriber } from './InnerSubscriber';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class OuterSubscriber extends Subscriber {\n notifyNext(outerValue: T, innerValue: R,\n outerIndex: number, innerIndex: number,\n innerSub: InnerSubscriber): void {\n this.destination.next(innerValue);\n }\n\n notifyError(error: any, innerSub: InnerSubscriber): void {\n this.destination.error(error);\n }\n\n notifyComplete(innerSub: InnerSubscriber): void {\n this.destination.complete();\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/README.md b/tools/node_modules/eslint/node_modules/rxjs/README.md new file mode 100644 index 00000000000000..f8eda12a2be10a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/README.md @@ -0,0 +1,204 @@ +[![Build Status](https://travis-ci.org/ReactiveX/rxjs.svg?branch=master)](https://travis-ci.org/ReactiveX/rxjs) +[![Coverage Status](https://coveralls.io/repos/github/ReactiveX/rxjs/badge.svg?branch=master)](https://coveralls.io/github/ReactiveX/rxjs?branch=master) +[![npm version](https://badge.fury.io/js/%40reactivex%2Frxjs.svg)](http://badge.fury.io/js/%40reactivex%2Frxjs) +[![Join the chat at https://gitter.im/Reactive-Extensions/RxJS](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Reactive-Extensions/RxJS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +[![Selenium Test Status](https://saucelabs.com/browser-matrix/rxjs5.svg)](https://saucelabs.com/u/rxjs5) + +# RxJS 5 + +Reactive Extensions Library for JavaScript. This is a rewrite of [Reactive-Extensions/RxJS](https://github.com/Reactive-Extensions/RxJS) and is the latest production-ready version of RxJS. This rewrite is meant to have better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface. + +[Apache 2.0 License](LICENSE.txt) + +- [Code of Conduct](CODE_OF_CONDUCT.md) +- [Contribution Guidelines](CONTRIBUTING.md) +- [Maintainer Guidelines](doc/maintainer-guidelines.md) +- [Creating Operators](doc/operator-creation.md) +- [Migrating From RxJS 4 to RxJS 5](MIGRATION.md) +- [API Documentation (WIP)](http://reactivex.io/rxjs) + +## Versions In This Repository + +- [master](https://github.com/ReactiveX/rxjs/commits/master) - commits that will be included in the next _minor_ or _patch_ release +- [next](https://github.com/ReactiveX/rxjs/commits/next) - commits that will be included in the next _major_ release (breaking changes) + +Most PRs should be made to **master**, unless you know it is a breaking change. + +## Important + +By contributing or commenting on issues in this repository, whether you've read them or not, you're agreeing to the [Contributor Code of Conduct](CODE_OF_CONDUCT.md). Much like traffic laws, ignorance doesn't grant you immunity. + +## Installation and Usage + +### ES6 via npm + +```sh +npm install rxjs +``` + +To import the entire core set of functionality: + +```js +import Rx from 'rxjs/Rx'; + +Rx.Observable.of(1,2,3) +``` + +To import only what you need by patching (this is useful for size-sensitive bundling): + +```js +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/of'; +import 'rxjs/add/operator/map'; + +Observable.of(1,2,3).map(x => x + '!!!'); // etc +``` + +To import what you need and use it with proposed [bind operator](https://github.com/tc39/proposal-bind-operator): + +> Note: This additional syntax requires [transpiler support](http://babeljs.io/docs/plugins/transform-function-bind/) and this syntax may be completely withdrawn from TC39 without notice! Use at your own risk. + +```js +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; +import { map } from 'rxjs/operator/map'; + +Observable::of(1,2,3)::map(x => x + '!!!'); // etc +``` + +### CommonJS via npm + +To install this library for CommonJS (CJS) usage, use the following command: + +```sh +npm install rxjs +``` + +Import all core functionality: + +```js +var Rx = require('rxjs/Rx'); + +Rx.Observable.of(1,2,3); // etc +``` + +Import only what you need and patch Observable (this is useful in size-sensitive bundling scenarios): + +```js +var Observable = require('rxjs/Observable').Observable; +// patch Observable with appropriate methods +require('rxjs/add/observable/of'); +require('rxjs/add/operator/map'); + +Observable.of(1,2,3).map(function (x) { return x + '!!!'; }); // etc +``` + +Import operators and use them _manually_ you can do the following (this is also useful for bundling): + +```js +var of = require('rxjs/observable/of').of; +var map = require('rxjs/operator/map').map; + +map.call(of(1,2,3), function (x) { return x + '!!!'; }); +``` + +You can also use the above method to build your own Observable and export it from your own module. + + +### All Module Types (CJS/ES6/AMD/TypeScript) via npm + +To install this library via [npm](https://www.npmjs.org) **version 3**, use the following command: + +```sh +npm install @reactivex/rxjs +``` + +This will include CJS/Global builds and can be used for all module types. + +If you are using npm **version 2** before this library has achieved a stable version, you need to specify the library version explicitly: + +```sh +npm install @reactivex/rxjs@5.0.0 +``` + +### CDN + +For CDN, you can use [unpkg](https://unpkg.com/): + +https://unpkg.com/rxjs/bundles/Rx.min.js + +#### Node.js Usage: + +```js +var Rx = require('@reactivex/rxjs'); + +Rx.Observable.of('hello world') + .subscribe(function(x) { console.log(x); }); +``` + +## Goals + +- Provide better performance than preceding versions of RxJS +- To model/follow the [Observable Spec Proposal](https://github.com/zenparsing/es-observable) to the observable. +- Provide more modular file structure in a variety of formats +- Provide more debuggable call stacks than preceding versions of RxJS + +## Building/Testing + +The build and test structure is fairly primitive at the moment. There are various npm scripts that can be run: + +- build_es6: Transpiles the TypeScript files from `src/` to `dist/es6` +- build_cjs: Transpiles the ES6 files from `dist/es6` to `dist/cjs` +- build_amd: Transpiles the ES6 files from `dist/es6` to `dist/amd` +- build_global: Transpiles/Bundles the CommonJS files from `dist/cjs` to `dist/global/Rx.js` +- build_all: Performs all of the above in the proper order. +- build_test: builds ES6, then CommonJS, then runs the tests with `jasmine` +- build_perf: builds ES6, CommonJS, then global, then runs the performance tests with `protractor` +- build_docs: generates API documentation from `dist/es6` to `dist/docs` +- build_cover: runs `istanbul` code coverage against test cases +- test: runs tests with `jasmine`, must have built prior to running. +- tests2png: generates PNG marble diagrams from test cases. + +`npm run info` will list available script. + +### Example + +```sh +# build all the things! +npm run build_all +``` + +## Performance Tests + +Run `npm run build_perf` or `npm run perf` to run the performance tests with `protractor`. +Run `npm run perf_micro` to run micro performance test benchmarking operator. + +## Adding documentation +RxNext uses [ESDoc](https://esdoc.org/) to generate API documentation. Refer to ESDoc's documentation for syntax. Run `npm run build_docs` to generate. + +## Generating PNG marble diagrams + +The script `npm run tests2png` requires some native packages installed locally: `imagemagick`, `graphicsmagick`, and `ghostscript`. + +For Mac OS X with [Homebrew](http://brew.sh/): + +- `brew install imagemagick` +- `brew install graphicsmagick` +- `brew install ghostscript` +- You may need to install the Ghostscript fonts manually: + - Download the tarball from the [gs-fonts project](https://sourceforge.net/projects/gs-fonts) + - `mkdir -p /usr/local/share/ghostscript && tar zxvf /path/to/ghostscript-fonts.tar.gz -C /usr/local/share/ghostscript` + +For Debian Linux: + +- `sudo add-apt-repository ppa:dhor/myway` +- `apt-get install imagemagick` +- `apt-get install graphicsmagick` +- `apt-get install ghostscript` + +For Windows and other Operating Systems, check the download instructions here: + +- http://imagemagick.org +- http://www.graphicsmagick.org +- http://www.ghostscript.com/ diff --git a/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.d.ts b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.d.ts new file mode 100644 index 00000000000000..34b2ebf2c25ecc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.d.ts @@ -0,0 +1,18 @@ +import { Subject } from './Subject'; +import { IScheduler } from './Scheduler'; +import { Subscriber } from './Subscriber'; +import { Subscription } from './Subscription'; +/** + * @class ReplaySubject + */ +export declare class ReplaySubject extends Subject { + private scheduler; + private _events; + private _bufferSize; + private _windowTime; + constructor(bufferSize?: number, windowTime?: number, scheduler?: IScheduler); + next(value: T): void; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription; + _getNow(): number; + private _trimBufferThenGetEvents(); +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js new file mode 100644 index 00000000000000..95d677cd9bf426 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js @@ -0,0 +1,102 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subject_1 = require('./Subject'); +var queue_1 = require('./scheduler/queue'); +var Subscription_1 = require('./Subscription'); +var observeOn_1 = require('./operators/observeOn'); +var ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError'); +var SubjectSubscription_1 = require('./SubjectSubscription'); +/** + * @class ReplaySubject + */ +var ReplaySubject = (function (_super) { + __extends(ReplaySubject, _super); + function ReplaySubject(bufferSize, windowTime, scheduler) { + if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; } + if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; } + _super.call(this); + this.scheduler = scheduler; + this._events = []; + this._bufferSize = bufferSize < 1 ? 1 : bufferSize; + this._windowTime = windowTime < 1 ? 1 : windowTime; + } + ReplaySubject.prototype.next = function (value) { + var now = this._getNow(); + this._events.push(new ReplayEvent(now, value)); + this._trimBufferThenGetEvents(); + _super.prototype.next.call(this, value); + }; + /** @deprecated internal use only */ ReplaySubject.prototype._subscribe = function (subscriber) { + var _events = this._trimBufferThenGetEvents(); + var scheduler = this.scheduler; + var subscription; + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + else if (this.hasError) { + subscription = Subscription_1.Subscription.EMPTY; + } + else if (this.isStopped) { + subscription = Subscription_1.Subscription.EMPTY; + } + else { + this.observers.push(subscriber); + subscription = new SubjectSubscription_1.SubjectSubscription(this, subscriber); + } + if (scheduler) { + subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler)); + } + var len = _events.length; + for (var i = 0; i < len && !subscriber.closed; i++) { + subscriber.next(_events[i].value); + } + if (this.hasError) { + subscriber.error(this.thrownError); + } + else if (this.isStopped) { + subscriber.complete(); + } + return subscription; + }; + ReplaySubject.prototype._getNow = function () { + return (this.scheduler || queue_1.queue).now(); + }; + ReplaySubject.prototype._trimBufferThenGetEvents = function () { + var now = this._getNow(); + var _bufferSize = this._bufferSize; + var _windowTime = this._windowTime; + var _events = this._events; + var eventsCount = _events.length; + var spliceCount = 0; + // Trim events that fall out of the time window. + // Start at the front of the list. Break early once + // we encounter an event that falls within the window. + while (spliceCount < eventsCount) { + if ((now - _events[spliceCount].time) < _windowTime) { + break; + } + spliceCount++; + } + if (eventsCount > _bufferSize) { + spliceCount = Math.max(spliceCount, eventsCount - _bufferSize); + } + if (spliceCount > 0) { + _events.splice(0, spliceCount); + } + return _events; + }; + return ReplaySubject; +}(Subject_1.Subject)); +exports.ReplaySubject = ReplaySubject; +var ReplayEvent = (function () { + function ReplayEvent(time, value) { + this.time = time; + this.value = value; + } + return ReplayEvent; +}()); +//# sourceMappingURL=ReplaySubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js.map new file mode 100644 index 00000000000000..ac80b687b79042 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/ReplaySubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReplaySubject.js","sourceRoot":"","sources":["../src/ReplaySubject.ts"],"names":[],"mappings":"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","sourcesContent":["import { Subject } from './Subject';\nimport { IScheduler } from './Scheduler';\nimport { queue } from './scheduler/queue';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\n/**\n * @class ReplaySubject\n */\nexport class ReplaySubject extends Subject {\n private _events: ReplayEvent[] = [];\n private _bufferSize: number;\n private _windowTime: number;\n\n constructor(bufferSize: number = Number.POSITIVE_INFINITY,\n windowTime: number = Number.POSITIVE_INFINITY,\n private scheduler?: IScheduler) {\n super();\n this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n this._windowTime = windowTime < 1 ? 1 : windowTime;\n }\n\n next(value: T): void {\n const now = this._getNow();\n this._events.push(new ReplayEvent(now, value));\n this._trimBufferThenGetEvents();\n super.next(value);\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription {\n const _events = this._trimBufferThenGetEvents();\n const scheduler = this.scheduler;\n let subscription: Subscription;\n\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else if (this.hasError) {\n subscription = Subscription.EMPTY;\n } else if (this.isStopped) {\n subscription = Subscription.EMPTY;\n } else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n\n const len = _events.length;\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n\n if (this.hasError) {\n subscriber.error(this.thrownError);\n } else if (this.isStopped) {\n subscriber.complete();\n }\n\n return subscription;\n }\n\n _getNow(): number {\n return (this.scheduler || queue).now();\n }\n\n private _trimBufferThenGetEvents(): ReplayEvent[] {\n const now = this._getNow();\n const _bufferSize = this._bufferSize;\n const _windowTime = this._windowTime;\n const _events = this._events;\n\n let eventsCount = _events.length;\n let spliceCount = 0;\n\n // Trim events that fall out of the time window.\n // Start at the front of the list. Break early once\n // we encounter an event that falls within the window.\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n\n return _events;\n }\n}\n\nclass ReplayEvent {\n constructor(public time: number, public value: T) {\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Rx.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Rx.d.ts new file mode 100644 index 00000000000000..314d4aff60b5d5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Rx.d.ts @@ -0,0 +1,195 @@ +export { Subject, AnonymousSubject } from './Subject'; +export { Observable } from './Observable'; +import './add/observable/bindCallback'; +import './add/observable/bindNodeCallback'; +import './add/observable/combineLatest'; +import './add/observable/concat'; +import './add/observable/defer'; +import './add/observable/empty'; +import './add/observable/forkJoin'; +import './add/observable/from'; +import './add/observable/fromEvent'; +import './add/observable/fromEventPattern'; +import './add/observable/fromPromise'; +import './add/observable/generate'; +import './add/observable/if'; +import './add/observable/interval'; +import './add/observable/merge'; +import './add/observable/race'; +import './add/observable/never'; +import './add/observable/of'; +import './add/observable/onErrorResumeNext'; +import './add/observable/pairs'; +import './add/observable/range'; +import './add/observable/using'; +import './add/observable/throw'; +import './add/observable/timer'; +import './add/observable/zip'; +import './add/observable/dom/ajax'; +import './add/observable/dom/webSocket'; +import './add/operator/buffer'; +import './add/operator/bufferCount'; +import './add/operator/bufferTime'; +import './add/operator/bufferToggle'; +import './add/operator/bufferWhen'; +import './add/operator/catch'; +import './add/operator/combineAll'; +import './add/operator/combineLatest'; +import './add/operator/concat'; +import './add/operator/concatAll'; +import './add/operator/concatMap'; +import './add/operator/concatMapTo'; +import './add/operator/count'; +import './add/operator/dematerialize'; +import './add/operator/debounce'; +import './add/operator/debounceTime'; +import './add/operator/defaultIfEmpty'; +import './add/operator/delay'; +import './add/operator/delayWhen'; +import './add/operator/distinct'; +import './add/operator/distinctUntilChanged'; +import './add/operator/distinctUntilKeyChanged'; +import './add/operator/do'; +import './add/operator/exhaust'; +import './add/operator/exhaustMap'; +import './add/operator/expand'; +import './add/operator/elementAt'; +import './add/operator/filter'; +import './add/operator/finally'; +import './add/operator/find'; +import './add/operator/findIndex'; +import './add/operator/first'; +import './add/operator/groupBy'; +import './add/operator/ignoreElements'; +import './add/operator/isEmpty'; +import './add/operator/audit'; +import './add/operator/auditTime'; +import './add/operator/last'; +import './add/operator/let'; +import './add/operator/every'; +import './add/operator/map'; +import './add/operator/mapTo'; +import './add/operator/materialize'; +import './add/operator/max'; +import './add/operator/merge'; +import './add/operator/mergeAll'; +import './add/operator/mergeMap'; +import './add/operator/mergeMapTo'; +import './add/operator/mergeScan'; +import './add/operator/min'; +import './add/operator/multicast'; +import './add/operator/observeOn'; +import './add/operator/onErrorResumeNext'; +import './add/operator/pairwise'; +import './add/operator/partition'; +import './add/operator/pluck'; +import './add/operator/publish'; +import './add/operator/publishBehavior'; +import './add/operator/publishReplay'; +import './add/operator/publishLast'; +import './add/operator/race'; +import './add/operator/reduce'; +import './add/operator/repeat'; +import './add/operator/repeatWhen'; +import './add/operator/retry'; +import './add/operator/retryWhen'; +import './add/operator/sample'; +import './add/operator/sampleTime'; +import './add/operator/scan'; +import './add/operator/sequenceEqual'; +import './add/operator/share'; +import './add/operator/shareReplay'; +import './add/operator/single'; +import './add/operator/skip'; +import './add/operator/skipLast'; +import './add/operator/skipUntil'; +import './add/operator/skipWhile'; +import './add/operator/startWith'; +import './add/operator/subscribeOn'; +import './add/operator/switch'; +import './add/operator/switchMap'; +import './add/operator/switchMapTo'; +import './add/operator/take'; +import './add/operator/takeLast'; +import './add/operator/takeUntil'; +import './add/operator/takeWhile'; +import './add/operator/throttle'; +import './add/operator/throttleTime'; +import './add/operator/timeInterval'; +import './add/operator/timeout'; +import './add/operator/timeoutWith'; +import './add/operator/timestamp'; +import './add/operator/toArray'; +import './add/operator/toPromise'; +import './add/operator/window'; +import './add/operator/windowCount'; +import './add/operator/windowTime'; +import './add/operator/windowToggle'; +import './add/operator/windowWhen'; +import './add/operator/withLatestFrom'; +import './add/operator/zip'; +import './add/operator/zipAll'; +export { Operator } from './Operator'; +export { Observer } from './Observer'; +export { Subscription } from './Subscription'; +export { Subscriber } from './Subscriber'; +export { AsyncSubject } from './AsyncSubject'; +export { ReplaySubject } from './ReplaySubject'; +export { BehaviorSubject } from './BehaviorSubject'; +export { ConnectableObservable } from './observable/ConnectableObservable'; +export { Notification } from './Notification'; +export { EmptyError } from './util/EmptyError'; +export { ArgumentOutOfRangeError } from './util/ArgumentOutOfRangeError'; +export { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError'; +export { TimeoutError } from './util/TimeoutError'; +export { UnsubscriptionError } from './util/UnsubscriptionError'; +export { TimeInterval } from './operator/timeInterval'; +export { Timestamp } from './operators/timestamp'; +export { TestScheduler } from './testing/TestScheduler'; +export { VirtualTimeScheduler } from './scheduler/VirtualTimeScheduler'; +export { AjaxRequest, AjaxResponse, AjaxError, AjaxTimeoutError } from './observable/dom/AjaxObservable'; +export { pipe } from './util/pipe'; +import { AsapScheduler } from './scheduler/AsapScheduler'; +import { AsyncScheduler } from './scheduler/AsyncScheduler'; +import { QueueScheduler } from './scheduler/QueueScheduler'; +import { AnimationFrameScheduler } from './scheduler/AnimationFrameScheduler'; +import * as _operators from './operators'; +export declare const operators: typeof _operators; +/** + * @typedef {Object} Rx.Scheduler + * @property {Scheduler} queue Schedules on a queue in the current event frame + * (trampoline scheduler). Use this for iteration operations. + * @property {Scheduler} asap Schedules on the micro task queue, which uses the + * fastest transport mechanism available, either Node.js' `process.nextTick()` + * or Web Worker MessageChannel or setTimeout or others. Use this for + * asynchronous conversions. + * @property {Scheduler} async Schedules work with `setInterval`. Use this for + * time-based operations. + * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`. + * Use this for synchronizing with the platform's painting + */ +declare let Scheduler: { + asap: AsapScheduler; + queue: QueueScheduler; + animationFrame: AnimationFrameScheduler; + async: AsyncScheduler; +}; +/** + * @typedef {Object} Rx.Symbol + * @property {Symbol|string} rxSubscriber A symbol to use as a property name to + * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as + * an object that has all of the traits of an Rx Subscriber, including the + * ability to add and remove subscriptions to the subscription chain and + * guarantees involving event triggering (can't "next" after unsubscription, + * etc). + * @property {Symbol|string} observable A symbol to use as a property name to + * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable). + * @property {Symbol|string} iterator The ES6 symbol to use as a property name + * to retrieve an iterator from an object. + */ +declare let Symbol: { + rxSubscriber: any; + observable: any; + iterator: any; +}; +export { Scheduler, Symbol }; diff --git a/tools/node_modules/eslint/node_modules/rxjs/Rx.js b/tools/node_modules/eslint/node_modules/rxjs/Rx.js new file mode 100644 index 00000000000000..c159fee5b626b3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Rx.js @@ -0,0 +1,233 @@ +"use strict"; +/* tslint:disable:no-unused-variable */ +// Subject imported before Observable to bypass circular dependency issue since +// Subject extends Observable and Observable references Subject in it's +// definition +var Subject_1 = require('./Subject'); +exports.Subject = Subject_1.Subject; +exports.AnonymousSubject = Subject_1.AnonymousSubject; +/* tslint:enable:no-unused-variable */ +var Observable_1 = require('./Observable'); +exports.Observable = Observable_1.Observable; +// statics +/* tslint:disable:no-use-before-declare */ +require('./add/observable/bindCallback'); +require('./add/observable/bindNodeCallback'); +require('./add/observable/combineLatest'); +require('./add/observable/concat'); +require('./add/observable/defer'); +require('./add/observable/empty'); +require('./add/observable/forkJoin'); +require('./add/observable/from'); +require('./add/observable/fromEvent'); +require('./add/observable/fromEventPattern'); +require('./add/observable/fromPromise'); +require('./add/observable/generate'); +require('./add/observable/if'); +require('./add/observable/interval'); +require('./add/observable/merge'); +require('./add/observable/race'); +require('./add/observable/never'); +require('./add/observable/of'); +require('./add/observable/onErrorResumeNext'); +require('./add/observable/pairs'); +require('./add/observable/range'); +require('./add/observable/using'); +require('./add/observable/throw'); +require('./add/observable/timer'); +require('./add/observable/zip'); +//dom +require('./add/observable/dom/ajax'); +require('./add/observable/dom/webSocket'); +//operators +require('./add/operator/buffer'); +require('./add/operator/bufferCount'); +require('./add/operator/bufferTime'); +require('./add/operator/bufferToggle'); +require('./add/operator/bufferWhen'); +require('./add/operator/catch'); +require('./add/operator/combineAll'); +require('./add/operator/combineLatest'); +require('./add/operator/concat'); +require('./add/operator/concatAll'); +require('./add/operator/concatMap'); +require('./add/operator/concatMapTo'); +require('./add/operator/count'); +require('./add/operator/dematerialize'); +require('./add/operator/debounce'); +require('./add/operator/debounceTime'); +require('./add/operator/defaultIfEmpty'); +require('./add/operator/delay'); +require('./add/operator/delayWhen'); +require('./add/operator/distinct'); +require('./add/operator/distinctUntilChanged'); +require('./add/operator/distinctUntilKeyChanged'); +require('./add/operator/do'); +require('./add/operator/exhaust'); +require('./add/operator/exhaustMap'); +require('./add/operator/expand'); +require('./add/operator/elementAt'); +require('./add/operator/filter'); +require('./add/operator/finally'); +require('./add/operator/find'); +require('./add/operator/findIndex'); +require('./add/operator/first'); +require('./add/operator/groupBy'); +require('./add/operator/ignoreElements'); +require('./add/operator/isEmpty'); +require('./add/operator/audit'); +require('./add/operator/auditTime'); +require('./add/operator/last'); +require('./add/operator/let'); +require('./add/operator/every'); +require('./add/operator/map'); +require('./add/operator/mapTo'); +require('./add/operator/materialize'); +require('./add/operator/max'); +require('./add/operator/merge'); +require('./add/operator/mergeAll'); +require('./add/operator/mergeMap'); +require('./add/operator/mergeMapTo'); +require('./add/operator/mergeScan'); +require('./add/operator/min'); +require('./add/operator/multicast'); +require('./add/operator/observeOn'); +require('./add/operator/onErrorResumeNext'); +require('./add/operator/pairwise'); +require('./add/operator/partition'); +require('./add/operator/pluck'); +require('./add/operator/publish'); +require('./add/operator/publishBehavior'); +require('./add/operator/publishReplay'); +require('./add/operator/publishLast'); +require('./add/operator/race'); +require('./add/operator/reduce'); +require('./add/operator/repeat'); +require('./add/operator/repeatWhen'); +require('./add/operator/retry'); +require('./add/operator/retryWhen'); +require('./add/operator/sample'); +require('./add/operator/sampleTime'); +require('./add/operator/scan'); +require('./add/operator/sequenceEqual'); +require('./add/operator/share'); +require('./add/operator/shareReplay'); +require('./add/operator/single'); +require('./add/operator/skip'); +require('./add/operator/skipLast'); +require('./add/operator/skipUntil'); +require('./add/operator/skipWhile'); +require('./add/operator/startWith'); +require('./add/operator/subscribeOn'); +require('./add/operator/switch'); +require('./add/operator/switchMap'); +require('./add/operator/switchMapTo'); +require('./add/operator/take'); +require('./add/operator/takeLast'); +require('./add/operator/takeUntil'); +require('./add/operator/takeWhile'); +require('./add/operator/throttle'); +require('./add/operator/throttleTime'); +require('./add/operator/timeInterval'); +require('./add/operator/timeout'); +require('./add/operator/timeoutWith'); +require('./add/operator/timestamp'); +require('./add/operator/toArray'); +require('./add/operator/toPromise'); +require('./add/operator/window'); +require('./add/operator/windowCount'); +require('./add/operator/windowTime'); +require('./add/operator/windowToggle'); +require('./add/operator/windowWhen'); +require('./add/operator/withLatestFrom'); +require('./add/operator/zip'); +require('./add/operator/zipAll'); +/* tslint:disable:no-unused-variable */ +var Subscription_1 = require('./Subscription'); +exports.Subscription = Subscription_1.Subscription; +var Subscriber_1 = require('./Subscriber'); +exports.Subscriber = Subscriber_1.Subscriber; +var AsyncSubject_1 = require('./AsyncSubject'); +exports.AsyncSubject = AsyncSubject_1.AsyncSubject; +var ReplaySubject_1 = require('./ReplaySubject'); +exports.ReplaySubject = ReplaySubject_1.ReplaySubject; +var BehaviorSubject_1 = require('./BehaviorSubject'); +exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject; +var ConnectableObservable_1 = require('./observable/ConnectableObservable'); +exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable; +var Notification_1 = require('./Notification'); +exports.Notification = Notification_1.Notification; +var EmptyError_1 = require('./util/EmptyError'); +exports.EmptyError = EmptyError_1.EmptyError; +var ArgumentOutOfRangeError_1 = require('./util/ArgumentOutOfRangeError'); +exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError; +var ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError'); +exports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError; +var TimeoutError_1 = require('./util/TimeoutError'); +exports.TimeoutError = TimeoutError_1.TimeoutError; +var UnsubscriptionError_1 = require('./util/UnsubscriptionError'); +exports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError; +var timeInterval_1 = require('./operator/timeInterval'); +exports.TimeInterval = timeInterval_1.TimeInterval; +var timestamp_1 = require('./operators/timestamp'); +exports.Timestamp = timestamp_1.Timestamp; +var TestScheduler_1 = require('./testing/TestScheduler'); +exports.TestScheduler = TestScheduler_1.TestScheduler; +var VirtualTimeScheduler_1 = require('./scheduler/VirtualTimeScheduler'); +exports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler; +var AjaxObservable_1 = require('./observable/dom/AjaxObservable'); +exports.AjaxResponse = AjaxObservable_1.AjaxResponse; +exports.AjaxError = AjaxObservable_1.AjaxError; +exports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError; +var pipe_1 = require('./util/pipe'); +exports.pipe = pipe_1.pipe; +var asap_1 = require('./scheduler/asap'); +var async_1 = require('./scheduler/async'); +var queue_1 = require('./scheduler/queue'); +var animationFrame_1 = require('./scheduler/animationFrame'); +var rxSubscriber_1 = require('./symbol/rxSubscriber'); +var iterator_1 = require('./symbol/iterator'); +var observable_1 = require('./symbol/observable'); +var _operators = require('./operators'); +exports.operators = _operators; +/* tslint:enable:no-unused-variable */ +/** + * @typedef {Object} Rx.Scheduler + * @property {Scheduler} queue Schedules on a queue in the current event frame + * (trampoline scheduler). Use this for iteration operations. + * @property {Scheduler} asap Schedules on the micro task queue, which uses the + * fastest transport mechanism available, either Node.js' `process.nextTick()` + * or Web Worker MessageChannel or setTimeout or others. Use this for + * asynchronous conversions. + * @property {Scheduler} async Schedules work with `setInterval`. Use this for + * time-based operations. + * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`. + * Use this for synchronizing with the platform's painting + */ +var Scheduler = { + asap: asap_1.asap, + queue: queue_1.queue, + animationFrame: animationFrame_1.animationFrame, + async: async_1.async +}; +exports.Scheduler = Scheduler; +/** + * @typedef {Object} Rx.Symbol + * @property {Symbol|string} rxSubscriber A symbol to use as a property name to + * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as + * an object that has all of the traits of an Rx Subscriber, including the + * ability to add and remove subscriptions to the subscription chain and + * guarantees involving event triggering (can't "next" after unsubscription, + * etc). + * @property {Symbol|string} observable A symbol to use as a property name to + * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable). + * @property {Symbol|string} iterator The ES6 symbol to use as a property name + * to retrieve an iterator from an object. + */ +var Symbol = { + rxSubscriber: rxSubscriber_1.rxSubscriber, + observable: observable_1.observable, + iterator: iterator_1.iterator +}; +exports.Symbol = Symbol; +//# sourceMappingURL=Rx.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Rx.js.map b/tools/node_modules/eslint/node_modules/rxjs/Rx.js.map new file mode 100644 index 00000000000000..1a505ea485ea95 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Rx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Rx.js","sourceRoot":"","sources":["../src/Rx.ts"],"names":[],"mappings":"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","sourcesContent":["/* tslint:disable:no-unused-variable */\n// Subject imported before Observable to bypass circular dependency issue since\n// Subject extends Observable and Observable references Subject in it's\n// definition\nexport {Subject, AnonymousSubject} from './Subject';\n/* tslint:enable:no-unused-variable */\nexport {Observable} from './Observable';\n\n// statics\n/* tslint:disable:no-use-before-declare */\nimport './add/observable/bindCallback';\nimport './add/observable/bindNodeCallback';\nimport './add/observable/combineLatest';\nimport './add/observable/concat';\nimport './add/observable/defer';\nimport './add/observable/empty';\nimport './add/observable/forkJoin';\nimport './add/observable/from';\nimport './add/observable/fromEvent';\nimport './add/observable/fromEventPattern';\nimport './add/observable/fromPromise';\nimport './add/observable/generate';\nimport './add/observable/if';\nimport './add/observable/interval';\nimport './add/observable/merge';\nimport './add/observable/race';\nimport './add/observable/never';\nimport './add/observable/of';\nimport './add/observable/onErrorResumeNext';\nimport './add/observable/pairs';\nimport './add/observable/range';\nimport './add/observable/using';\nimport './add/observable/throw';\nimport './add/observable/timer';\nimport './add/observable/zip';\n\n//dom\nimport './add/observable/dom/ajax';\nimport './add/observable/dom/webSocket';\n\n//operators\nimport './add/operator/buffer';\nimport './add/operator/bufferCount';\nimport './add/operator/bufferTime';\nimport './add/operator/bufferToggle';\nimport './add/operator/bufferWhen';\nimport './add/operator/catch';\nimport './add/operator/combineAll';\nimport './add/operator/combineLatest';\nimport './add/operator/concat';\nimport './add/operator/concatAll';\nimport './add/operator/concatMap';\nimport './add/operator/concatMapTo';\nimport './add/operator/count';\nimport './add/operator/dematerialize';\nimport './add/operator/debounce';\nimport './add/operator/debounceTime';\nimport './add/operator/defaultIfEmpty';\nimport './add/operator/delay';\nimport './add/operator/delayWhen';\nimport './add/operator/distinct';\nimport './add/operator/distinctUntilChanged';\nimport './add/operator/distinctUntilKeyChanged';\nimport './add/operator/do';\nimport './add/operator/exhaust';\nimport './add/operator/exhaustMap';\nimport './add/operator/expand';\nimport './add/operator/elementAt';\nimport './add/operator/filter';\nimport './add/operator/finally';\nimport './add/operator/find';\nimport './add/operator/findIndex';\nimport './add/operator/first';\nimport './add/operator/groupBy';\nimport './add/operator/ignoreElements';\nimport './add/operator/isEmpty';\nimport './add/operator/audit';\nimport './add/operator/auditTime';\nimport './add/operator/last';\nimport './add/operator/let';\nimport './add/operator/every';\nimport './add/operator/map';\nimport './add/operator/mapTo';\nimport './add/operator/materialize';\nimport './add/operator/max';\nimport './add/operator/merge';\nimport './add/operator/mergeAll';\nimport './add/operator/mergeMap';\nimport './add/operator/mergeMapTo';\nimport './add/operator/mergeScan';\nimport './add/operator/min';\nimport './add/operator/multicast';\nimport './add/operator/observeOn';\nimport './add/operator/onErrorResumeNext';\nimport './add/operator/pairwise';\nimport './add/operator/partition';\nimport './add/operator/pluck';\nimport './add/operator/publish';\nimport './add/operator/publishBehavior';\nimport './add/operator/publishReplay';\nimport './add/operator/publishLast';\nimport './add/operator/race';\nimport './add/operator/reduce';\nimport './add/operator/repeat';\nimport './add/operator/repeatWhen';\nimport './add/operator/retry';\nimport './add/operator/retryWhen';\nimport './add/operator/sample';\nimport './add/operator/sampleTime';\nimport './add/operator/scan';\nimport './add/operator/sequenceEqual';\nimport './add/operator/share';\nimport './add/operator/shareReplay';\nimport './add/operator/single';\nimport './add/operator/skip';\nimport './add/operator/skipLast';\nimport './add/operator/skipUntil';\nimport './add/operator/skipWhile';\nimport './add/operator/startWith';\nimport './add/operator/subscribeOn';\nimport './add/operator/switch';\nimport './add/operator/switchMap';\nimport './add/operator/switchMapTo';\nimport './add/operator/take';\nimport './add/operator/takeLast';\nimport './add/operator/takeUntil';\nimport './add/operator/takeWhile';\nimport './add/operator/throttle';\nimport './add/operator/throttleTime';\nimport './add/operator/timeInterval';\nimport './add/operator/timeout';\nimport './add/operator/timeoutWith';\nimport './add/operator/timestamp';\nimport './add/operator/toArray';\nimport './add/operator/toPromise';\nimport './add/operator/window';\nimport './add/operator/windowCount';\nimport './add/operator/windowTime';\nimport './add/operator/windowToggle';\nimport './add/operator/windowWhen';\nimport './add/operator/withLatestFrom';\nimport './add/operator/zip';\nimport './add/operator/zipAll';\n\n/* tslint:disable:no-unused-variable */\nexport {Operator} from './Operator';\nexport {Observer} from './Observer';\nexport {Subscription} from './Subscription';\nexport {Subscriber} from './Subscriber';\nexport {AsyncSubject} from './AsyncSubject';\nexport {ReplaySubject} from './ReplaySubject';\nexport {BehaviorSubject} from './BehaviorSubject';\nexport {ConnectableObservable} from './observable/ConnectableObservable';\nexport {Notification} from './Notification';\nexport {EmptyError} from './util/EmptyError';\nexport {ArgumentOutOfRangeError} from './util/ArgumentOutOfRangeError';\nexport {ObjectUnsubscribedError} from './util/ObjectUnsubscribedError';\nexport {TimeoutError} from './util/TimeoutError';\nexport {UnsubscriptionError} from './util/UnsubscriptionError';\nexport {TimeInterval} from './operator/timeInterval';\nexport {Timestamp} from './operators/timestamp';\nexport {TestScheduler} from './testing/TestScheduler';\nexport {VirtualTimeScheduler} from './scheduler/VirtualTimeScheduler';\nexport {AjaxRequest, AjaxResponse, AjaxError, AjaxTimeoutError} from './observable/dom/AjaxObservable';\nexport { pipe } from './util/pipe';\n\nimport { asap } from './scheduler/asap';\nimport { async } from './scheduler/async';\nimport { queue } from './scheduler/queue';\nimport { animationFrame } from './scheduler/animationFrame';\nimport { AsapScheduler } from './scheduler/AsapScheduler';\nimport { AsyncScheduler } from './scheduler/AsyncScheduler';\nimport { QueueScheduler } from './scheduler/QueueScheduler';\nimport { AnimationFrameScheduler } from './scheduler/AnimationFrameScheduler';\nimport { rxSubscriber } from './symbol/rxSubscriber';\nimport { iterator } from './symbol/iterator';\nimport { observable } from './symbol/observable';\n\nimport * as _operators from './operators';\n\nexport const operators = _operators;\n\n/* tslint:enable:no-unused-variable */\n\n/**\n * @typedef {Object} Rx.Scheduler\n * @property {Scheduler} queue Schedules on a queue in the current event frame\n * (trampoline scheduler). Use this for iteration operations.\n * @property {Scheduler} asap Schedules on the micro task queue, which uses the\n * fastest transport mechanism available, either Node.js' `process.nextTick()`\n * or Web Worker MessageChannel or setTimeout or others. Use this for\n * asynchronous conversions.\n * @property {Scheduler} async Schedules work with `setInterval`. Use this for\n * time-based operations.\n * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.\n * Use this for synchronizing with the platform's painting\n */\nlet Scheduler = {\n asap,\n queue,\n animationFrame,\n async\n};\n\n/**\n * @typedef {Object} Rx.Symbol\n * @property {Symbol|string} rxSubscriber A symbol to use as a property name to\n * retrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\n * an object that has all of the traits of an Rx Subscriber, including the\n * ability to add and remove subscriptions to the subscription chain and\n * guarantees involving event triggering (can't \"next\" after unsubscription,\n * etc).\n * @property {Symbol|string} observable A symbol to use as a property name to\n * retrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable).\n * @property {Symbol|string} iterator The ES6 symbol to use as a property name\n * to retrieve an iterator from an object.\n */\nlet Symbol = {\n rxSubscriber,\n observable,\n iterator\n};\n\nexport {\n Scheduler,\n Symbol\n};\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Scheduler.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.d.ts new file mode 100644 index 00000000000000..8feeb4232d4ecb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.d.ts @@ -0,0 +1,54 @@ +import { Action } from './scheduler/Action'; +import { Subscription } from './Subscription'; +export interface IScheduler { + now(): number; + schedule(work: (this: Action, state?: T) => void, delay?: number, state?: T): Subscription; +} +/** + * An execution context and a data structure to order tasks and schedule their + * execution. Provides a notion of (potentially virtual) time, through the + * `now()` getter method. + * + * Each unit of work in a Scheduler is called an {@link Action}. + * + * ```ts + * class Scheduler { + * now(): number; + * schedule(work, delay?, state?): Subscription; + * } + * ``` + * + * @class Scheduler + */ +export declare class Scheduler implements IScheduler { + private SchedulerAction; + static now: () => number; + constructor(SchedulerAction: typeof Action, now?: () => number); + /** + * A getter method that returns a number representing the current time + * (at the time this function was called) according to the scheduler's own + * internal clock. + * @return {number} A number that represents the current time. May or may not + * have a relation to wall-clock time. May or may not refer to a time unit + * (e.g. milliseconds). + */ + now: () => number; + /** + * Schedules a function, `work`, for execution. May happen at some point in + * the future, according to the `delay` parameter, if specified. May be passed + * some context object, `state`, which will be passed to the `work` function. + * + * The given arguments will be processed an stored as an Action object in a + * queue of actions. + * + * @param {function(state: ?T): ?Subscription} work A function representing a + * task, or some unit of work to be executed by the Scheduler. + * @param {number} [delay] Time to wait before executing the work, where the + * time unit is implicit and defined by the Scheduler itself. + * @param {T} [state] Some contextual data that the `work` function uses when + * called by the Scheduler. + * @return {Subscription} A subscription in order to be able to unsubscribe + * the scheduled work. + */ + schedule(work: (this: Action, state?: T) => void, delay?: number, state?: T): Subscription; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js new file mode 100644 index 00000000000000..3bfbaf1295c025 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js @@ -0,0 +1,49 @@ +"use strict"; +/** + * An execution context and a data structure to order tasks and schedule their + * execution. Provides a notion of (potentially virtual) time, through the + * `now()` getter method. + * + * Each unit of work in a Scheduler is called an {@link Action}. + * + * ```ts + * class Scheduler { + * now(): number; + * schedule(work, delay?, state?): Subscription; + * } + * ``` + * + * @class Scheduler + */ +var Scheduler = (function () { + function Scheduler(SchedulerAction, now) { + if (now === void 0) { now = Scheduler.now; } + this.SchedulerAction = SchedulerAction; + this.now = now; + } + /** + * Schedules a function, `work`, for execution. May happen at some point in + * the future, according to the `delay` parameter, if specified. May be passed + * some context object, `state`, which will be passed to the `work` function. + * + * The given arguments will be processed an stored as an Action object in a + * queue of actions. + * + * @param {function(state: ?T): ?Subscription} work A function representing a + * task, or some unit of work to be executed by the Scheduler. + * @param {number} [delay] Time to wait before executing the work, where the + * time unit is implicit and defined by the Scheduler itself. + * @param {T} [state] Some contextual data that the `work` function uses when + * called by the Scheduler. + * @return {Subscription} A subscription in order to be able to unsubscribe + * the scheduled work. + */ + Scheduler.prototype.schedule = function (work, delay, state) { + if (delay === void 0) { delay = 0; } + return new this.SchedulerAction(this, work).schedule(state, delay); + }; + Scheduler.now = Date.now ? Date.now : function () { return +new Date(); }; + return Scheduler; +}()); +exports.Scheduler = Scheduler; +//# sourceMappingURL=Scheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js.map new file mode 100644 index 00000000000000..b9bd546a1f371e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Scheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":";AAOA;;;;;;;;;;;;;;;GAeG;AACH;IAIE,mBAAoB,eAA8B,EACtC,GAAiC;QAAjC,mBAAiC,GAAjC,MAAoB,SAAS,CAAC,GAAG;QADzB,oBAAe,GAAf,eAAe,CAAe;QAEhD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAYD;;;;;;;;;;;;;;;;OAgBG;IACI,4BAAQ,GAAf,UAAmB,IAA0C,EAAE,KAAiB,EAAE,KAAS;QAA5B,qBAAiB,GAAjB,SAAiB;QAC9E,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IApCa,aAAG,GAAiB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,cAAM,OAAA,CAAC,IAAI,IAAI,EAAE,EAAX,CAAW,CAAC;IAqC5E,gBAAC;AAAD,CAAC,AAvCD,IAuCC;AAvCY,iBAAS,YAuCrB,CAAA","sourcesContent":["import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\n\nexport interface IScheduler {\n now(): number;\n schedule(work: (this: Action, state?: T) => void, delay?: number, state?: T): Subscription;\n}\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nexport class Scheduler implements IScheduler {\n\n public static now: () => number = Date.now ? Date.now : () => +new Date();\n\n constructor(private SchedulerAction: typeof Action,\n now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: Action, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subject.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Subject.d.ts new file mode 100644 index 00000000000000..79e8349d381630 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subject.d.ts @@ -0,0 +1,43 @@ +import { Operator } from './Operator'; +import { Observer } from './Observer'; +import { Observable } from './Observable'; +import { Subscriber } from './Subscriber'; +import { ISubscription, Subscription, TeardownLogic } from './Subscription'; +/** + * @class SubjectSubscriber + */ +export declare class SubjectSubscriber extends Subscriber { + protected destination: Subject; + constructor(destination: Subject); +} +/** + * @class Subject + */ +export declare class Subject extends Observable implements ISubscription { + observers: Observer[]; + closed: boolean; + isStopped: boolean; + hasError: boolean; + thrownError: any; + constructor(); + static create: Function; + lift(operator: Operator): Observable; + next(value?: T): void; + error(err: any): void; + complete(): void; + unsubscribe(): void; + protected _trySubscribe(subscriber: Subscriber): TeardownLogic; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription; + asObservable(): Observable; +} +/** + * @class AnonymousSubject + */ +export declare class AnonymousSubject extends Subject { + protected destination: Observer; + constructor(destination?: Observer, source?: Observable); + next(value: T): void; + error(err: any): void; + complete(): void; + /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subject.js b/tools/node_modules/eslint/node_modules/rxjs/Subject.js new file mode 100644 index 00000000000000..fcf6b12d0ec9e0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subject.js @@ -0,0 +1,168 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Observable_1 = require('./Observable'); +var Subscriber_1 = require('./Subscriber'); +var Subscription_1 = require('./Subscription'); +var ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError'); +var SubjectSubscription_1 = require('./SubjectSubscription'); +var rxSubscriber_1 = require('./symbol/rxSubscriber'); +/** + * @class SubjectSubscriber + */ +var SubjectSubscriber = (function (_super) { + __extends(SubjectSubscriber, _super); + function SubjectSubscriber(destination) { + _super.call(this, destination); + this.destination = destination; + } + return SubjectSubscriber; +}(Subscriber_1.Subscriber)); +exports.SubjectSubscriber = SubjectSubscriber; +/** + * @class Subject + */ +var Subject = (function (_super) { + __extends(Subject, _super); + function Subject() { + _super.call(this); + this.observers = []; + this.closed = false; + this.isStopped = false; + this.hasError = false; + this.thrownError = null; + } + Subject.prototype[rxSubscriber_1.rxSubscriber] = function () { + return new SubjectSubscriber(this); + }; + Subject.prototype.lift = function (operator) { + var subject = new AnonymousSubject(this, this); + subject.operator = operator; + return subject; + }; + Subject.prototype.next = function (value) { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + if (!this.isStopped) { + var observers = this.observers; + var len = observers.length; + var copy = observers.slice(); + for (var i = 0; i < len; i++) { + copy[i].next(value); + } + } + }; + Subject.prototype.error = function (err) { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + this.hasError = true; + this.thrownError = err; + this.isStopped = true; + var observers = this.observers; + var len = observers.length; + var copy = observers.slice(); + for (var i = 0; i < len; i++) { + copy[i].error(err); + } + this.observers.length = 0; + }; + Subject.prototype.complete = function () { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + this.isStopped = true; + var observers = this.observers; + var len = observers.length; + var copy = observers.slice(); + for (var i = 0; i < len; i++) { + copy[i].complete(); + } + this.observers.length = 0; + }; + Subject.prototype.unsubscribe = function () { + this.isStopped = true; + this.closed = true; + this.observers = null; + }; + Subject.prototype._trySubscribe = function (subscriber) { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + else { + return _super.prototype._trySubscribe.call(this, subscriber); + } + }; + /** @deprecated internal use only */ Subject.prototype._subscribe = function (subscriber) { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + else if (this.hasError) { + subscriber.error(this.thrownError); + return Subscription_1.Subscription.EMPTY; + } + else if (this.isStopped) { + subscriber.complete(); + return Subscription_1.Subscription.EMPTY; + } + else { + this.observers.push(subscriber); + return new SubjectSubscription_1.SubjectSubscription(this, subscriber); + } + }; + Subject.prototype.asObservable = function () { + var observable = new Observable_1.Observable(); + observable.source = this; + return observable; + }; + Subject.create = function (destination, source) { + return new AnonymousSubject(destination, source); + }; + return Subject; +}(Observable_1.Observable)); +exports.Subject = Subject; +/** + * @class AnonymousSubject + */ +var AnonymousSubject = (function (_super) { + __extends(AnonymousSubject, _super); + function AnonymousSubject(destination, source) { + _super.call(this); + this.destination = destination; + this.source = source; + } + AnonymousSubject.prototype.next = function (value) { + var destination = this.destination; + if (destination && destination.next) { + destination.next(value); + } + }; + AnonymousSubject.prototype.error = function (err) { + var destination = this.destination; + if (destination && destination.error) { + this.destination.error(err); + } + }; + AnonymousSubject.prototype.complete = function () { + var destination = this.destination; + if (destination && destination.complete) { + this.destination.complete(); + } + }; + /** @deprecated internal use only */ AnonymousSubject.prototype._subscribe = function (subscriber) { + var source = this.source; + if (source) { + return this.source.subscribe(subscriber); + } + else { + return Subscription_1.Subscription.EMPTY; + } + }; + return AnonymousSubject; +}(Subject)); +exports.AnonymousSubject = AnonymousSubject; +//# sourceMappingURL=Subject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subject.js.map b/tools/node_modules/eslint/node_modules/rxjs/Subject.js.map new file mode 100644 index 00000000000000..701bfeb97fb14f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subject.js","sourceRoot":"","sources":["../src/Subject.ts"],"names":[],"mappings":"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","sourcesContent":["import { Operator } from './Operator';\nimport { Observer } from './Observer';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { ISubscription, Subscription, TeardownLogic } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber';\n\n/**\n * @class SubjectSubscriber\n */\nexport class SubjectSubscriber extends Subscriber {\n constructor(protected destination: Subject) {\n super(destination);\n }\n}\n\n/**\n * @class Subject\n */\nexport class Subject extends Observable implements ISubscription {\n\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n\n observers: Observer[] = [];\n\n closed = false;\n\n isStopped = false;\n\n hasError = false;\n\n thrownError: any = null;\n\n constructor() {\n super();\n }\n\n static create: Function = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n }\n\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n\n next(value?: T) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n\n error(err: any) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else {\n return super._trySubscribe(subscriber);\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n } else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n } else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n } else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n\n asObservable(): Observable {\n const observable = new Observable();\n (observable).source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(protected destination?: Observer, source?: Observable) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n\n error(err: any) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n\n /** @deprecated internal use only */ _subscribe(subscriber: Subscriber): Subscription {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n } else {\n return Subscription.EMPTY;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.d.ts b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.d.ts new file mode 100644 index 00000000000000..f22deafe67af1f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.d.ts @@ -0,0 +1,15 @@ +import { Subject } from './Subject'; +import { Observer } from './Observer'; +import { Subscription } from './Subscription'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export declare class SubjectSubscription extends Subscription { + subject: Subject; + subscriber: Observer; + closed: boolean; + constructor(subject: Subject, subscriber: Observer); + unsubscribe(): void; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js new file mode 100644 index 00000000000000..8e7b6afabef1a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js @@ -0,0 +1,40 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subscription_1 = require('./Subscription'); +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var SubjectSubscription = (function (_super) { + __extends(SubjectSubscription, _super); + function SubjectSubscription(subject, subscriber) { + _super.call(this); + this.subject = subject; + this.subscriber = subscriber; + this.closed = false; + } + SubjectSubscription.prototype.unsubscribe = function () { + if (this.closed) { + return; + } + this.closed = true; + var subject = this.subject; + var observers = subject.observers; + this.subject = null; + if (!observers || observers.length === 0 || subject.isStopped || subject.closed) { + return; + } + var subscriberIndex = observers.indexOf(this.subscriber); + if (subscriberIndex !== -1) { + observers.splice(subscriberIndex, 1); + } + }; + return SubjectSubscription; +}(Subscription_1.Subscription)); +exports.SubjectSubscription = SubjectSubscription; +//# sourceMappingURL=SubjectSubscription.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js.map b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js.map new file mode 100644 index 00000000000000..2a94c562088933 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/SubjectSubscription.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SubjectSubscription.js","sourceRoot":"","sources":["../src/SubjectSubscription.ts"],"names":[],"mappings":";;;;;;AAEA,6BAA6B,gBAAgB,CAAC,CAAA;AAE9C;;;;GAIG;AACH;IAA4C,uCAAY;IAGtD,6BAAmB,OAAmB,EAAS,UAAuB;QACpE,iBAAO,CAAC;QADS,YAAO,GAAP,OAAO,CAAY;QAAS,eAAU,GAAV,UAAU,CAAa;QAFtE,WAAM,GAAY,KAAK,CAAC;IAIxB,CAAC;IAED,yCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC;QACT,CAAC;QAED,IAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,EAAE,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AA7BD,CAA4C,2BAAY,GA6BvD;AA7BY,2BAAmB,sBA6B/B,CAAA","sourcesContent":["import { Subject } from './Subject';\nimport { Observer } from './Observer';\nimport { Subscription } from './Subscription';\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nexport class SubjectSubscription extends Subscription {\n closed: boolean = false;\n\n constructor(public subject: Subject, public subscriber: Observer) {\n super();\n }\n\n unsubscribe() {\n if (this.closed) {\n return;\n }\n\n this.closed = true;\n\n const subject = this.subject;\n const observers = subject.observers;\n\n this.subject = null;\n\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n\n const subscriberIndex = observers.indexOf(this.subscriber);\n\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscriber.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.d.ts new file mode 100644 index 00000000000000..c49ddd5c58b8ec --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.d.ts @@ -0,0 +1,68 @@ +import { Observer, PartialObserver } from './Observer'; +import { Subscription } from './Subscription'; +/** + * Implements the {@link Observer} interface and extends the + * {@link Subscription} class. While the {@link Observer} is the public API for + * consuming the values of an {@link Observable}, all Observers get converted to + * a Subscriber, in order to provide Subscription-like capabilities such as + * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for + * implementing operators, but it is rarely used as a public API. + * + * @class Subscriber + */ +export declare class Subscriber extends Subscription implements Observer { + /** + * A static factory for a Subscriber, given a (potentially partial) definition + * of an Observer. + * @param {function(x: ?T): void} [next] The `next` callback of an Observer. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + * @return {Subscriber} A Subscriber wrapping the (partially defined) + * Observer represented by the given arguments. + */ + static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber; + syncErrorValue: any; + syncErrorThrown: boolean; + syncErrorThrowable: boolean; + protected isStopped: boolean; + protected destination: PartialObserver; + /** + * @param {Observer|function(value: T): void} [destinationOrNext] A partially + * defined Observer or a `next` callback function. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + */ + constructor(destinationOrNext?: PartialObserver | ((value: T) => void), error?: (e?: any) => void, complete?: () => void); + /** + * The {@link Observer} callback to receive notifications of type `next` from + * the Observable, with a value. The Observable may call this method 0 or more + * times. + * @param {T} [value] The `next` value. + * @return {void} + */ + next(value?: T): void; + /** + * The {@link Observer} callback to receive notifications of type `error` from + * the Observable, with an attached {@link Error}. Notifies the Observer that + * the Observable has experienced an error condition. + * @param {any} [err] The `error` exception. + * @return {void} + */ + error(err?: any): void; + /** + * The {@link Observer} callback to receive a valueless notification of type + * `complete` from the Observable. Notifies the Observer that the Observable + * has finished sending push-based notifications. + * @return {void} + */ + complete(): void; + unsubscribe(): void; + protected _next(value: T): void; + protected _error(err: any): void; + protected _complete(): void; + /** @deprecated internal use only */ _unsubscribeAndRecycle(): Subscriber; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js new file mode 100644 index 00000000000000..af3183e309f5ba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js @@ -0,0 +1,271 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var isFunction_1 = require('./util/isFunction'); +var Subscription_1 = require('./Subscription'); +var Observer_1 = require('./Observer'); +var rxSubscriber_1 = require('./symbol/rxSubscriber'); +/** + * Implements the {@link Observer} interface and extends the + * {@link Subscription} class. While the {@link Observer} is the public API for + * consuming the values of an {@link Observable}, all Observers get converted to + * a Subscriber, in order to provide Subscription-like capabilities such as + * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for + * implementing operators, but it is rarely used as a public API. + * + * @class Subscriber + */ +var Subscriber = (function (_super) { + __extends(Subscriber, _super); + /** + * @param {Observer|function(value: T): void} [destinationOrNext] A partially + * defined Observer or a `next` callback function. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + */ + function Subscriber(destinationOrNext, error, complete) { + _super.call(this); + this.syncErrorValue = null; + this.syncErrorThrown = false; + this.syncErrorThrowable = false; + this.isStopped = false; + switch (arguments.length) { + case 0: + this.destination = Observer_1.empty; + break; + case 1: + if (!destinationOrNext) { + this.destination = Observer_1.empty; + break; + } + if (typeof destinationOrNext === 'object') { + // HACK(benlesh): To resolve an issue where Node users may have multiple + // copies of rxjs in their node_modules directory. + if (isTrustedSubscriber(destinationOrNext)) { + var trustedSubscriber = destinationOrNext[rxSubscriber_1.rxSubscriber](); + this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable; + this.destination = trustedSubscriber; + trustedSubscriber.add(this); + } + else { + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext); + } + break; + } + default: + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext, error, complete); + break; + } + } + Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; }; + /** + * A static factory for a Subscriber, given a (potentially partial) definition + * of an Observer. + * @param {function(x: ?T): void} [next] The `next` callback of an Observer. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + * @return {Subscriber} A Subscriber wrapping the (partially defined) + * Observer represented by the given arguments. + */ + Subscriber.create = function (next, error, complete) { + var subscriber = new Subscriber(next, error, complete); + subscriber.syncErrorThrowable = false; + return subscriber; + }; + /** + * The {@link Observer} callback to receive notifications of type `next` from + * the Observable, with a value. The Observable may call this method 0 or more + * times. + * @param {T} [value] The `next` value. + * @return {void} + */ + Subscriber.prototype.next = function (value) { + if (!this.isStopped) { + this._next(value); + } + }; + /** + * The {@link Observer} callback to receive notifications of type `error` from + * the Observable, with an attached {@link Error}. Notifies the Observer that + * the Observable has experienced an error condition. + * @param {any} [err] The `error` exception. + * @return {void} + */ + Subscriber.prototype.error = function (err) { + if (!this.isStopped) { + this.isStopped = true; + this._error(err); + } + }; + /** + * The {@link Observer} callback to receive a valueless notification of type + * `complete` from the Observable. Notifies the Observer that the Observable + * has finished sending push-based notifications. + * @return {void} + */ + Subscriber.prototype.complete = function () { + if (!this.isStopped) { + this.isStopped = true; + this._complete(); + } + }; + Subscriber.prototype.unsubscribe = function () { + if (this.closed) { + return; + } + this.isStopped = true; + _super.prototype.unsubscribe.call(this); + }; + Subscriber.prototype._next = function (value) { + this.destination.next(value); + }; + Subscriber.prototype._error = function (err) { + this.destination.error(err); + this.unsubscribe(); + }; + Subscriber.prototype._complete = function () { + this.destination.complete(); + this.unsubscribe(); + }; + /** @deprecated internal use only */ Subscriber.prototype._unsubscribeAndRecycle = function () { + var _a = this, _parent = _a._parent, _parents = _a._parents; + this._parent = null; + this._parents = null; + this.unsubscribe(); + this.closed = false; + this.isStopped = false; + this._parent = _parent; + this._parents = _parents; + return this; + }; + return Subscriber; +}(Subscription_1.Subscription)); +exports.Subscriber = Subscriber; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var SafeSubscriber = (function (_super) { + __extends(SafeSubscriber, _super); + function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) { + _super.call(this); + this._parentSubscriber = _parentSubscriber; + var next; + var context = this; + if (isFunction_1.isFunction(observerOrNext)) { + next = observerOrNext; + } + else if (observerOrNext) { + next = observerOrNext.next; + error = observerOrNext.error; + complete = observerOrNext.complete; + if (observerOrNext !== Observer_1.empty) { + context = Object.create(observerOrNext); + if (isFunction_1.isFunction(context.unsubscribe)) { + this.add(context.unsubscribe.bind(context)); + } + context.unsubscribe = this.unsubscribe.bind(this); + } + } + this._context = context; + this._next = next; + this._error = error; + this._complete = complete; + } + SafeSubscriber.prototype.next = function (value) { + if (!this.isStopped && this._next) { + var _parentSubscriber = this._parentSubscriber; + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(this._next, value); + } + else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) { + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.error = function (err) { + if (!this.isStopped) { + var _parentSubscriber = this._parentSubscriber; + if (this._error) { + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(this._error, err); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parentSubscriber, this._error, err); + this.unsubscribe(); + } + } + else if (!_parentSubscriber.syncErrorThrowable) { + this.unsubscribe(); + throw err; + } + else { + _parentSubscriber.syncErrorValue = err; + _parentSubscriber.syncErrorThrown = true; + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.complete = function () { + var _this = this; + if (!this.isStopped) { + var _parentSubscriber = this._parentSubscriber; + if (this._complete) { + var wrappedComplete = function () { return _this._complete.call(_this._context); }; + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(wrappedComplete); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parentSubscriber, wrappedComplete); + this.unsubscribe(); + } + } + else { + this.unsubscribe(); + } + } + }; + SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + this.unsubscribe(); + throw err; + } + }; + SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + parent.syncErrorValue = err; + parent.syncErrorThrown = true; + return true; + } + return false; + }; + /** @deprecated internal use only */ SafeSubscriber.prototype._unsubscribe = function () { + var _parentSubscriber = this._parentSubscriber; + this._context = null; + this._parentSubscriber = null; + _parentSubscriber.unsubscribe(); + }; + return SafeSubscriber; +}(Subscriber)); +function isTrustedSubscriber(obj) { + return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriber_1.rxSubscriber]); +} +//# sourceMappingURL=Subscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js.map new file mode 100644 index 00000000000000..13a6d71eebf55b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subscriber.js","sourceRoot":"","sources":["../src/Subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFunction } from './util/isFunction';\nimport { Observer, PartialObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { empty as emptyObserver } from './Observer';\nimport { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n\n [rxSubscriberSymbol]() { return this; }\n\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n static create(next?: (x?: T) => void,\n error?: (e?: any) => void,\n complete?: () => void): Subscriber {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n\n public syncErrorValue: any = null;\n public syncErrorThrown: boolean = false;\n public syncErrorThrowable: boolean = false;\n\n protected isStopped: boolean = false;\n protected destination: PartialObserver; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n constructor(destinationOrNext?: PartialObserver | ((value: T) => void),\n error?: (e?: any) => void,\n complete?: () => void) {\n super();\n\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n // HACK(benlesh): To resolve an issue where Node users may have multiple\n // copies of rxjs in their node_modules directory.\n if (isTrustedSubscriber(destinationOrNext)) {\n const trustedSubscriber = destinationOrNext[rxSubscriberSymbol]() as Subscriber;\n this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable;\n this.destination = trustedSubscriber;\n trustedSubscriber.add(this);\n } else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, > destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, <((value: T) => void)> destinationOrNext, error, complete);\n break;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n this.destination.error(err);\n this.unsubscribe();\n }\n\n protected _complete(): void {\n this.destination.complete();\n this.unsubscribe();\n }\n\n /** @deprecated internal use only */ _unsubscribeAndRecycle(): Subscriber {\n const { _parent, _parents } = this;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n return this;\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass SafeSubscriber extends Subscriber {\n\n private _context: any;\n\n constructor(private _parentSubscriber: Subscriber,\n observerOrNext?: PartialObserver | ((value: T) => void),\n error?: (e?: any) => void,\n complete?: () => void) {\n super();\n\n let next: ((value: T) => void);\n let context: any = this;\n\n if (isFunction(observerOrNext)) {\n next = (<((value: T) => void)> observerOrNext);\n } else if (observerOrNext) {\n next = (> observerOrNext).next;\n error = (> observerOrNext).error;\n complete = (> observerOrNext).complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(<() => void> context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n\n next(value?: T): void {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n } else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n\n error(err?: any): void {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._error) {\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n } else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n } else {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n }\n\n complete(): void {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n } else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n } else {\n this.unsubscribe();\n }\n }\n }\n\n private __tryOrUnsub(fn: Function, value?: any): void {\n try {\n fn.call(this._context, value);\n } catch (err) {\n this.unsubscribe();\n throw err;\n }\n }\n\n private __tryOrSetError(parent: Subscriber, fn: Function, value?: any): boolean {\n try {\n fn.call(this._context, value);\n } catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n }\n\n /** @deprecated internal use only */ _unsubscribe(): void {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n\nfunction isTrustedSubscriber(obj: any) {\n return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriberSymbol]);\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscription.d.ts b/tools/node_modules/eslint/node_modules/rxjs/Subscription.d.ts new file mode 100644 index 00000000000000..afe5f17751b8e8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscription.d.ts @@ -0,0 +1,70 @@ +export interface AnonymousSubscription { + unsubscribe(): void; +} +export declare type TeardownLogic = AnonymousSubscription | Function | void; +export interface ISubscription extends AnonymousSubscription { + unsubscribe(): void; + readonly closed: boolean; +} +/** + * Represents a disposable resource, such as the execution of an Observable. A + * Subscription has one important method, `unsubscribe`, that takes no argument + * and just disposes the resource held by the subscription. + * + * Additionally, subscriptions may be grouped together through the `add()` + * method, which will attach a child Subscription to the current Subscription. + * When a Subscription is unsubscribed, all its children (and its grandchildren) + * will be unsubscribed as well. + * + * @class Subscription + */ +export declare class Subscription implements ISubscription { + static EMPTY: Subscription; + /** + * A flag to indicate whether this Subscription has already been unsubscribed. + * @type {boolean} + */ + closed: boolean; + protected _parent: Subscription; + protected _parents: Subscription[]; + private _subscriptions; + /** + * @param {function(): void} [unsubscribe] A function describing how to + * perform the disposal of resources when the `unsubscribe` method is called. + */ + constructor(unsubscribe?: () => void); + /** + * Disposes the resources held by the subscription. May, for instance, cancel + * an ongoing Observable execution or cancel any other type of work that + * started when the Subscription was created. + * @return {void} + */ + unsubscribe(): void; + /** + * Adds a tear down to be called during the unsubscribe() of this + * Subscription. + * + * If the tear down being added is a subscription that is already + * unsubscribed, is the same reference `add` is being called on, or is + * `Subscription.EMPTY`, it will not be added. + * + * If this subscription is already in an `closed` state, the passed + * tear down logic will be executed immediately. + * + * @param {TeardownLogic} teardown The additional logic to execute on + * teardown. + * @return {Subscription} Returns the Subscription used or created to be + * added to the inner subscriptions list. This Subscription can be used with + * `remove()` to remove the passed teardown logic from the inner subscriptions + * list. + */ + add(teardown: TeardownLogic): Subscription; + /** + * Removes a Subscription from the internal list of subscriptions that will + * unsubscribe during the unsubscribe process of this Subscription. + * @param {Subscription} subscription The subscription to remove. + * @return {void} + */ + remove(subscription: Subscription): void; + private _addParent(parent); +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscription.js b/tools/node_modules/eslint/node_modules/rxjs/Subscription.js new file mode 100644 index 00000000000000..198728c0ca59cf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscription.js @@ -0,0 +1,193 @@ +"use strict"; +var isArray_1 = require('./util/isArray'); +var isObject_1 = require('./util/isObject'); +var isFunction_1 = require('./util/isFunction'); +var tryCatch_1 = require('./util/tryCatch'); +var errorObject_1 = require('./util/errorObject'); +var UnsubscriptionError_1 = require('./util/UnsubscriptionError'); +/** + * Represents a disposable resource, such as the execution of an Observable. A + * Subscription has one important method, `unsubscribe`, that takes no argument + * and just disposes the resource held by the subscription. + * + * Additionally, subscriptions may be grouped together through the `add()` + * method, which will attach a child Subscription to the current Subscription. + * When a Subscription is unsubscribed, all its children (and its grandchildren) + * will be unsubscribed as well. + * + * @class Subscription + */ +var Subscription = (function () { + /** + * @param {function(): void} [unsubscribe] A function describing how to + * perform the disposal of resources when the `unsubscribe` method is called. + */ + function Subscription(unsubscribe) { + /** + * A flag to indicate whether this Subscription has already been unsubscribed. + * @type {boolean} + */ + this.closed = false; + this._parent = null; + this._parents = null; + this._subscriptions = null; + if (unsubscribe) { + this._unsubscribe = unsubscribe; + } + } + /** + * Disposes the resources held by the subscription. May, for instance, cancel + * an ongoing Observable execution or cancel any other type of work that + * started when the Subscription was created. + * @return {void} + */ + Subscription.prototype.unsubscribe = function () { + var hasErrors = false; + var errors; + if (this.closed) { + return; + } + var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions; + this.closed = true; + this._parent = null; + this._parents = null; + // null out _subscriptions first so any child subscriptions that attempt + // to remove themselves from this subscription will noop + this._subscriptions = null; + var index = -1; + var len = _parents ? _parents.length : 0; + // if this._parent is null, then so is this._parents, and we + // don't have to remove ourselves from any parent subscriptions. + while (_parent) { + _parent.remove(this); + // if this._parents is null or index >= len, + // then _parent is set to null, and the loop exits + _parent = ++index < len && _parents[index] || null; + } + if (isFunction_1.isFunction(_unsubscribe)) { + var trial = tryCatch_1.tryCatch(_unsubscribe).call(this); + if (trial === errorObject_1.errorObject) { + hasErrors = true; + errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ? + flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]); + } + } + if (isArray_1.isArray(_subscriptions)) { + index = -1; + len = _subscriptions.length; + while (++index < len) { + var sub = _subscriptions[index]; + if (isObject_1.isObject(sub)) { + var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub); + if (trial === errorObject_1.errorObject) { + hasErrors = true; + errors = errors || []; + var err = errorObject_1.errorObject.e; + if (err instanceof UnsubscriptionError_1.UnsubscriptionError) { + errors = errors.concat(flattenUnsubscriptionErrors(err.errors)); + } + else { + errors.push(err); + } + } + } + } + } + if (hasErrors) { + throw new UnsubscriptionError_1.UnsubscriptionError(errors); + } + }; + /** + * Adds a tear down to be called during the unsubscribe() of this + * Subscription. + * + * If the tear down being added is a subscription that is already + * unsubscribed, is the same reference `add` is being called on, or is + * `Subscription.EMPTY`, it will not be added. + * + * If this subscription is already in an `closed` state, the passed + * tear down logic will be executed immediately. + * + * @param {TeardownLogic} teardown The additional logic to execute on + * teardown. + * @return {Subscription} Returns the Subscription used or created to be + * added to the inner subscriptions list. This Subscription can be used with + * `remove()` to remove the passed teardown logic from the inner subscriptions + * list. + */ + Subscription.prototype.add = function (teardown) { + if (!teardown || (teardown === Subscription.EMPTY)) { + return Subscription.EMPTY; + } + if (teardown === this) { + return this; + } + var subscription = teardown; + switch (typeof teardown) { + case 'function': + subscription = new Subscription(teardown); + case 'object': + if (subscription.closed || typeof subscription.unsubscribe !== 'function') { + return subscription; + } + else if (this.closed) { + subscription.unsubscribe(); + return subscription; + } + else if (typeof subscription._addParent !== 'function' /* quack quack */) { + var tmp = subscription; + subscription = new Subscription(); + subscription._subscriptions = [tmp]; + } + break; + default: + throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.'); + } + var subscriptions = this._subscriptions || (this._subscriptions = []); + subscriptions.push(subscription); + subscription._addParent(this); + return subscription; + }; + /** + * Removes a Subscription from the internal list of subscriptions that will + * unsubscribe during the unsubscribe process of this Subscription. + * @param {Subscription} subscription The subscription to remove. + * @return {void} + */ + Subscription.prototype.remove = function (subscription) { + var subscriptions = this._subscriptions; + if (subscriptions) { + var subscriptionIndex = subscriptions.indexOf(subscription); + if (subscriptionIndex !== -1) { + subscriptions.splice(subscriptionIndex, 1); + } + } + }; + Subscription.prototype._addParent = function (parent) { + var _a = this, _parent = _a._parent, _parents = _a._parents; + if (!_parent || _parent === parent) { + // If we don't have a parent, or the new parent is the same as the + // current parent, then set this._parent to the new parent. + this._parent = parent; + } + else if (!_parents) { + // If there's already one parent, but not multiple, allocate an Array to + // store the rest of the parent Subscriptions. + this._parents = [parent]; + } + else if (_parents.indexOf(parent) === -1) { + // Only add the new parent to the _parents list if it's not already there. + _parents.push(parent); + } + }; + Subscription.EMPTY = (function (empty) { + empty.closed = true; + return empty; + }(new Subscription())); + return Subscription; +}()); +exports.Subscription = Subscription; +function flattenUnsubscriptionErrors(errors) { + return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []); +} +//# sourceMappingURL=Subscription.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/Subscription.js.map b/tools/node_modules/eslint/node_modules/rxjs/Subscription.js.map new file mode 100644 index 00000000000000..793c4bf77c9fc1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/Subscription.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subscription.js","sourceRoot":"","sources":["../src/Subscription.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { tryCatch } from './util/tryCatch';\nimport { errorObject } from './util/errorObject';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\n\nexport interface AnonymousSubscription {\n unsubscribe(): void;\n}\n\nexport type TeardownLogic = AnonymousSubscription | Function | void;\n\nexport interface ISubscription extends AnonymousSubscription {\n unsubscribe(): void;\n readonly closed: boolean;\n}\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements ISubscription {\n public static EMPTY: Subscription = (function(empty: any){\n empty.closed = true;\n return empty;\n }(new Subscription()));\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n public closed: boolean = false;\n\n protected _parent: Subscription = null;\n protected _parents: Subscription[] = null;\n private _subscriptions: ISubscription[] = null;\n\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n constructor(unsubscribe?: () => void) {\n if (unsubscribe) {\n ( this)._unsubscribe = unsubscribe;\n }\n }\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let hasErrors = false;\n let errors: any[];\n\n if (this.closed) {\n return;\n }\n\n let { _parent, _parents, _unsubscribe, _subscriptions } = ( this);\n\n this.closed = true;\n this._parent = null;\n this._parents = null;\n // null out _subscriptions first so any child subscriptions that attempt\n // to remove themselves from this subscription will noop\n this._subscriptions = null;\n\n let index = -1;\n let len = _parents ? _parents.length : 0;\n\n // if this._parent is null, then so is this._parents, and we\n // don't have to remove ourselves from any parent subscriptions.\n while (_parent) {\n _parent.remove(this);\n // if this._parents is null or index >= len,\n // then _parent is set to null, and the loop exits\n _parent = ++index < len && _parents[index] || null;\n }\n\n if (isFunction(_unsubscribe)) {\n let trial = tryCatch(_unsubscribe).call(this);\n if (trial === errorObject) {\n hasErrors = true;\n errors = errors || (\n errorObject.e instanceof UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject.e.errors) : [errorObject.e]\n );\n }\n }\n\n if (isArray(_subscriptions)) {\n\n index = -1;\n len = _subscriptions.length;\n\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n let trial = tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject) {\n hasErrors = true;\n errors = errors || [];\n let err = errorObject.e;\n if (err instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n } else {\n errors.push(err);\n }\n }\n }\n }\n }\n\n if (hasErrors) {\n throw new UnsubscriptionError(errors);\n }\n }\n\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n add(teardown: TeardownLogic): Subscription {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n\n if (teardown === this) {\n return this;\n }\n\n let subscription = ( teardown);\n\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(<(() => void) > teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n } else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n } else if (typeof subscription._addParent !== 'function' /* quack quack */) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n\n const subscriptions = this._subscriptions || (this._subscriptions = []);\n\n subscriptions.push(subscription);\n subscription._addParent(this);\n\n return subscription;\n }\n\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n remove(subscription: Subscription): void {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n\n private _addParent(parent: Subscription) {\n let { _parent, _parents } = this;\n if (!_parent || _parent === parent) {\n // If we don't have a parent, or the new parent is the same as the\n // current parent, then set this._parent to the new parent.\n this._parent = parent;\n } else if (!_parents) {\n // If there's already one parent, but not multiple, allocate an Array to\n // store the rest of the parent Subscriptions.\n this._parents = [parent];\n } else if (_parents.indexOf(parent) === -1) {\n // Only add the new parent to the _parents list if it's not already there.\n _parents.push(parent);\n }\n }\n}\n\nfunction flattenUnsubscriptionErrors(errors: any[]) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js new file mode 100644 index 00000000000000..26f69a9ec03b70 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js @@ -0,0 +1,44 @@ +import { Subject } from './Subject'; +import { Subscription } from './Subscription'; +/** + * @class AsyncSubject + */ +export class AsyncSubject extends Subject { + constructor() { + super(...arguments); + this.value = null; + this.hasNext = false; + this.hasCompleted = false; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + if (this.hasError) { + subscriber.error(this.thrownError); + return Subscription.EMPTY; + } + else if (this.hasCompleted && this.hasNext) { + subscriber.next(this.value); + subscriber.complete(); + return Subscription.EMPTY; + } + return super._subscribe(subscriber); + } + next(value) { + if (!this.hasCompleted) { + this.value = value; + this.hasNext = true; + } + } + error(error) { + if (!this.hasCompleted) { + super.error(error); + } + } + complete() { + this.hasCompleted = true; + if (this.hasNext) { + super.next(this.value); + } + super.complete(); + } +} +//# sourceMappingURL=AsyncSubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js.map new file mode 100644 index 00000000000000..6d2e79ee814f74 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/AsyncSubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsyncSubject.js","sourceRoot":"","sources":["../src/AsyncSubject.ts"],"names":[],"mappings":"OAAO,EAAE,OAAO,EAAE,MAAM,WAAW;OAE5B,EAAE,YAAY,EAAE,MAAM,gBAAgB;AAE7C;;GAEG;AACH,kCAAqC,OAAO;IAA5C;QAAqC,oBAAU;QACrC,UAAK,GAAM,IAAI,CAAC;QAChB,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;IAkCxC,CAAC;IAhCC,oCAAoC,CAAC,UAAU,CAAC,UAA2B;QACzE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,KAAQ;QACX,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAU;QACd,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js new file mode 100644 index 00000000000000..0b6a75ca0fb549 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js @@ -0,0 +1,36 @@ +import { Subject } from './Subject'; +import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError'; +/** + * @class BehaviorSubject + */ +export class BehaviorSubject extends Subject { + constructor(_value) { + super(); + this._value = _value; + } + get value() { + return this.getValue(); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const subscription = super._subscribe(subscriber); + if (subscription && !subscription.closed) { + subscriber.next(this._value); + } + return subscription; + } + getValue() { + if (this.hasError) { + throw this.thrownError; + } + else if (this.closed) { + throw new ObjectUnsubscribedError(); + } + else { + return this._value; + } + } + next(value) { + super.next(this._value = value); + } +} +//# sourceMappingURL=BehaviorSubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js.map new file mode 100644 index 00000000000000..7595a597cb5127 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/BehaviorSubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BehaviorSubject.js","sourceRoot":"","sources":["../src/BehaviorSubject.ts"],"names":[],"mappings":"OAAO,EAAE,OAAO,EAAE,MAAM,WAAW;OAG5B,EAAE,uBAAuB,EAAE,MAAM,gCAAgC;AAExE;;GAEG;AACH,qCAAwC,OAAO;IAE7C,YAAoB,MAAS;QAC3B,OAAO,CAAC;QADU,WAAM,GAAN,MAAM,CAAG;IAE7B,CAAC;IAED,IAAI,KAAK;QACP,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAClD,EAAE,CAAC,CAAC,YAAY,IAAI,CAAiB,YAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAQ;QACX,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js new file mode 100644 index 00000000000000..90b76936dabca7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js @@ -0,0 +1,27 @@ +import { Subscriber } from './Subscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class InnerSubscriber extends Subscriber { + constructor(parent, outerValue, outerIndex) { + super(); + this.parent = parent; + this.outerValue = outerValue; + this.outerIndex = outerIndex; + this.index = 0; + } + _next(value) { + this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this); + } + _error(error) { + this.parent.notifyError(error, this); + this.unsubscribe(); + } + _complete() { + this.parent.notifyComplete(this); + this.unsubscribe(); + } +} +//# sourceMappingURL=InnerSubscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js.map new file mode 100644 index 00000000000000..e1922b3b9396f2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/InnerSubscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"InnerSubscriber.js","sourceRoot":"","sources":["../src/InnerSubscriber.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,cAAc;AAGzC;;;;GAIG;AACH,qCAA2C,UAAU;IAGnD,YAAoB,MAA6B,EAAU,UAAa,EAAU,UAAkB;QAClG,OAAO,CAAC;QADU,WAAM,GAAN,MAAM,CAAuB;QAAU,eAAU,GAAV,UAAU,CAAG;QAAU,eAAU,GAAV,UAAU,CAAQ;QAF5F,UAAK,GAAW,CAAC,CAAC;IAI1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAES,MAAM,CAAC,KAAU;QACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/LICENSE.txt b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/LICENSE.txt new file mode 100644 index 00000000000000..b6c40015e9acc0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/LICENSE.txt @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2017 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js new file mode 100644 index 00000000000000..7faf76059ec010 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js @@ -0,0 +1,124 @@ +import { Observable } from './Observable'; +/** + * Represents a push-based event or value that an {@link Observable} can emit. + * This class is particularly useful for operators that manage notifications, + * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and + * others. Besides wrapping the actual delivered value, it also annotates it + * with metadata of, for instance, what type of push message it is (`next`, + * `error`, or `complete`). + * + * @see {@link materialize} + * @see {@link dematerialize} + * @see {@link observeOn} + * + * @class Notification + */ +export class Notification { + constructor(kind, value, error) { + this.kind = kind; + this.value = value; + this.error = error; + this.hasValue = kind === 'N'; + } + /** + * Delivers to the given `observer` the value wrapped by this Notification. + * @param {Observer} observer + * @return + */ + observe(observer) { + switch (this.kind) { + case 'N': + return observer.next && observer.next(this.value); + case 'E': + return observer.error && observer.error(this.error); + case 'C': + return observer.complete && observer.complete(); + } + } + /** + * Given some {@link Observer} callbacks, deliver the value represented by the + * current Notification to the correctly corresponding callback. + * @param {function(value: T): void} next An Observer `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + do(next, error, complete) { + const kind = this.kind; + switch (kind) { + case 'N': + return next && next(this.value); + case 'E': + return error && error(this.error); + case 'C': + return complete && complete(); + } + } + /** + * Takes an Observer or its individual callback functions, and calls `observe` + * or `do` methods accordingly. + * @param {Observer|function(value: T): void} nextOrObserver An Observer or + * the `next` callback. + * @param {function(err: any): void} [error] An Observer `error` callback. + * @param {function(): void} [complete] An Observer `complete` callback. + * @return {any} + */ + accept(nextOrObserver, error, complete) { + if (nextOrObserver && typeof nextOrObserver.next === 'function') { + return this.observe(nextOrObserver); + } + else { + return this.do(nextOrObserver, error, complete); + } + } + /** + * Returns a simple Observable that just delivers the notification represented + * by this Notification instance. + * @return {any} + */ + toObservable() { + const kind = this.kind; + switch (kind) { + case 'N': + return Observable.of(this.value); + case 'E': + return Observable.throw(this.error); + case 'C': + return Observable.empty(); + } + throw new Error('unexpected notification kind value'); + } + /** + * A shortcut to create a Notification instance of the type `next` from a + * given value. + * @param {T} value The `next` value. + * @return {Notification} The "next" Notification representing the + * argument. + */ + static createNext(value) { + if (typeof value !== 'undefined') { + return new Notification('N', value); + } + return Notification.undefinedValueNotification; + } + /** + * A shortcut to create a Notification instance of the type `error` from a + * given error. + * @param {any} [err] The `error` error. + * @return {Notification} The "error" Notification representing the + * argument. + */ + static createError(err) { + return new Notification('E', undefined, err); + } + /** + * A shortcut to create a Notification instance of the type `complete`. + * @return {Notification} The valueless "complete" Notification. + */ + static createComplete() { + return Notification.completeNotification; + } +} +Notification.completeNotification = new Notification('C'); +Notification.undefinedValueNotification = new Notification('N', undefined); +//# sourceMappingURL=Notification.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js.map new file mode 100644 index 00000000000000..7a2dfb7e61bb4c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Notification.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../src/Notification.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js new file mode 100644 index 00000000000000..9a3f597656bee6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js @@ -0,0 +1,296 @@ +import { root } from './util/root'; +import { toSubscriber } from './util/toSubscriber'; +import { observable as Symbol_observable } from './symbol/observable'; +import { pipeFromArray } from './util/pipe'; +/** + * A representation of any set of values over any amount of time. This is the most basic building block + * of RxJS. + * + * @class Observable + */ +export class Observable { + /** + * @constructor + * @param {Function} subscribe the function that is called when the Observable is + * initially subscribed to. This function is given a Subscriber, to which new values + * can be `next`ed, or an `error` method can be called to raise an error, or + * `complete` can be called to notify of a successful completion. + */ + constructor(subscribe) { + this._isScalar = false; + if (subscribe) { + this._subscribe = subscribe; + } + } + /** + * Creates a new Observable, with this Observable as the source, and the passed + * operator defined as the new observable's operator. + * @method lift + * @param {Operator} operator the operator defining the operation to take on the observable + * @return {Observable} a new observable with the Operator applied + */ + lift(operator) { + const observable = new Observable(); + observable.source = this; + observable.operator = operator; + return observable; + } + /** + * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit. + * + * Use it when you have all these Observables, but still nothing is happening. + * + * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It + * might be for example a function that you passed to a {@link create} static factory, but most of the time it is + * a library implementation, which defines what and when will be emitted by an Observable. This means that calling + * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often + * thought. + * + * Apart from starting the execution of an Observable, this method allows you to listen for values + * that an Observable emits, as well as for when it completes or errors. You can achieve this in two + * following ways. + * + * The first way is creating an object that implements {@link Observer} interface. It should have methods + * defined by that interface, but note that it should be just a regular JavaScript object, which you can create + * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do + * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also + * that your object does not have to implement all methods. If you find yourself creating a method that doesn't + * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will + * be left uncaught. + * + * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods. + * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent + * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer, + * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`, + * since `subscribe` recognizes these functions by where they were placed in function call. When it comes + * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown. + * + * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object. + * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean + * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback + * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable. + * + * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously. + * It is an Observable itself that decides when these functions will be called. For example {@link of} + * by default emits all its values synchronously. Always check documentation for how given Observable + * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}. + * + * @example Subscribe with an Observer + * const sumObserver = { + * sum: 0, + * next(value) { + * console.log('Adding: ' + value); + * this.sum = this.sum + value; + * }, + * error() { // We actually could just remove this method, + * }, // since we do not really care about errors right now. + * complete() { + * console.log('Sum equals: ' + this.sum); + * } + * }; + * + * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes. + * .subscribe(sumObserver); + * + * // Logs: + * // "Adding: 1" + * // "Adding: 2" + * // "Adding: 3" + * // "Sum equals: 6" + * + * + * @example Subscribe with functions + * let sum = 0; + * + * Rx.Observable.of(1, 2, 3) + * .subscribe( + * function(value) { + * console.log('Adding: ' + value); + * sum = sum + value; + * }, + * undefined, + * function() { + * console.log('Sum equals: ' + sum); + * } + * ); + * + * // Logs: + * // "Adding: 1" + * // "Adding: 2" + * // "Adding: 3" + * // "Sum equals: 6" + * + * + * @example Cancel a subscription + * const subscription = Rx.Observable.interval(1000).subscribe( + * num => console.log(num), + * undefined, + * () => console.log('completed!') // Will not be called, even + * ); // when cancelling subscription + * + * + * setTimeout(() => { + * subscription.unsubscribe(); + * console.log('unsubscribed!'); + * }, 2500); + * + * // Logs: + * // 0 after 1s + * // 1 after 2s + * // "unsubscribed!" after 2.5s + * + * + * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called, + * or the first of three possible handlers, which is the handler for each value emitted from the subscribed + * Observable. + * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided, + * the error will be thrown as unhandled. + * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion. + * @return {ISubscription} a subscription reference to the registered handlers + * @method subscribe + */ + subscribe(observerOrNext, error, complete) { + const { operator } = this; + const sink = toSubscriber(observerOrNext, error, complete); + if (operator) { + operator.call(sink, this.source); + } + else { + sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink)); + } + if (sink.syncErrorThrowable) { + sink.syncErrorThrowable = false; + if (sink.syncErrorThrown) { + throw sink.syncErrorValue; + } + } + return sink; + } + _trySubscribe(sink) { + try { + return this._subscribe(sink); + } + catch (err) { + sink.syncErrorThrown = true; + sink.syncErrorValue = err; + sink.error(err); + } + } + /** + * @method forEach + * @param {Function} next a handler for each value emitted by the observable + * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise + * @return {Promise} a promise that either resolves on observable completion or + * rejects with the handled error + */ + forEach(next, PromiseCtor) { + if (!PromiseCtor) { + if (root.Rx && root.Rx.config && root.Rx.config.Promise) { + PromiseCtor = root.Rx.config.Promise; + } + else if (root.Promise) { + PromiseCtor = root.Promise; + } + } + if (!PromiseCtor) { + throw new Error('no Promise impl found'); + } + return new PromiseCtor((resolve, reject) => { + // Must be declared in a separate statement to avoid a RefernceError when + // accessing subscription below in the closure due to Temporal Dead Zone. + let subscription; + subscription = this.subscribe((value) => { + if (subscription) { + // if there is a subscription, then we can surmise + // the next handling is asynchronous. Any errors thrown + // need to be rejected explicitly and unsubscribe must be + // called manually + try { + next(value); + } + catch (err) { + reject(err); + subscription.unsubscribe(); + } + } + else { + // if there is NO subscription, then we're getting a nexted + // value synchronously during subscription. We can just call it. + // If it errors, Observable's `subscribe` will ensure the + // unsubscription logic is called, then synchronously rethrow the error. + // After that, Promise will trap the error and send it + // down the rejection path. + next(value); + } + }, reject, resolve); + }); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + return this.source.subscribe(subscriber); + } + /** + * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable + * @method Symbol.observable + * @return {Observable} this instance of the observable + */ + [Symbol_observable]() { + return this; + } + /* tslint:enable:max-line-length */ + /** + * Used to stitch together functional operators into a chain. + * @method pipe + * @return {Observable} the Observable result of all of the operators having + * been called in the order they were passed in. + * + * @example + * + * import { map, filter, scan } from 'rxjs/operators'; + * + * Rx.Observable.interval(1000) + * .pipe( + * filter(x => x % 2 === 0), + * map(x => x + x), + * scan((acc, x) => acc + x) + * ) + * .subscribe(x => console.log(x)) + */ + pipe(...operations) { + if (operations.length === 0) { + return this; + } + return pipeFromArray(operations)(this); + } + /* tslint:enable:max-line-length */ + toPromise(PromiseCtor) { + if (!PromiseCtor) { + if (root.Rx && root.Rx.config && root.Rx.config.Promise) { + PromiseCtor = root.Rx.config.Promise; + } + else if (root.Promise) { + PromiseCtor = root.Promise; + } + } + if (!PromiseCtor) { + throw new Error('no Promise impl found'); + } + return new PromiseCtor((resolve, reject) => { + let value; + this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value)); + }); + } +} +// HACK: Since TypeScript inherits static properties too, we have to +// fight against TypeScript here so Subject can have a different static create signature +/** + * Creates a new cold Observable by calling the Observable constructor + * @static true + * @owner Observable + * @method create + * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor + * @return {Observable} a new cold observable + */ +Observable.create = (subscribe) => { + return new Observable(subscribe); +}; +//# sourceMappingURL=Observable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js.map new file mode 100644 index 00000000000000..8238eb19b17d25 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Observable.js","sourceRoot":"","sources":["../src/Observable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js new file mode 100644 index 00000000000000..edfadbaa137e6a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js @@ -0,0 +1,7 @@ +export const empty = { + closed: true, + next(value) { }, + error(err) { throw err; }, + complete() { } +}; +//# sourceMappingURL=Observer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js.map new file mode 100644 index 00000000000000..162fe9241e2668 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Observer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Observer.js","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"AA8BA,OAAO,MAAM,KAAK,GAAkB;IAClC,MAAM,EAAE,IAAI;IACZ,IAAI,CAAC,KAAU,IAAoB,CAAC;IACpC,KAAK,CAAC,GAAQ,IAAU,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,QAAQ,KAAoB,CAAC;CAC9B,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js new file mode 100644 index 00000000000000..463a42e480da75 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js @@ -0,0 +1 @@ +//# sourceMappingURL=Operator.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js.map new file mode 100644 index 00000000000000..ce9fa2ecd4a258 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Operator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Operator.js","sourceRoot":"","sources":["../src/Operator.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js new file mode 100644 index 00000000000000..4ee8be3f0e256d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js @@ -0,0 +1,18 @@ +import { Subscriber } from './Subscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class OuterSubscriber extends Subscriber { + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.destination.next(innerValue); + } + notifyError(error, innerSub) { + this.destination.error(error); + } + notifyComplete(innerSub) { + this.destination.complete(); + } +} +//# sourceMappingURL=OuterSubscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js.map new file mode 100644 index 00000000000000..8701c263d59432 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/OuterSubscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"OuterSubscriber.js","sourceRoot":"","sources":["../src/OuterSubscriber.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,cAAc;AAGzC;;;;GAIG;AACH,qCAA2C,UAAU;IACnD,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAA+B;QACrD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,QAA+B;QAC5C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/README.md b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/README.md new file mode 100644 index 00000000000000..f8eda12a2be10a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/README.md @@ -0,0 +1,204 @@ +[![Build Status](https://travis-ci.org/ReactiveX/rxjs.svg?branch=master)](https://travis-ci.org/ReactiveX/rxjs) +[![Coverage Status](https://coveralls.io/repos/github/ReactiveX/rxjs/badge.svg?branch=master)](https://coveralls.io/github/ReactiveX/rxjs?branch=master) +[![npm version](https://badge.fury.io/js/%40reactivex%2Frxjs.svg)](http://badge.fury.io/js/%40reactivex%2Frxjs) +[![Join the chat at https://gitter.im/Reactive-Extensions/RxJS](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Reactive-Extensions/RxJS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +[![Selenium Test Status](https://saucelabs.com/browser-matrix/rxjs5.svg)](https://saucelabs.com/u/rxjs5) + +# RxJS 5 + +Reactive Extensions Library for JavaScript. This is a rewrite of [Reactive-Extensions/RxJS](https://github.com/Reactive-Extensions/RxJS) and is the latest production-ready version of RxJS. This rewrite is meant to have better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface. + +[Apache 2.0 License](LICENSE.txt) + +- [Code of Conduct](CODE_OF_CONDUCT.md) +- [Contribution Guidelines](CONTRIBUTING.md) +- [Maintainer Guidelines](doc/maintainer-guidelines.md) +- [Creating Operators](doc/operator-creation.md) +- [Migrating From RxJS 4 to RxJS 5](MIGRATION.md) +- [API Documentation (WIP)](http://reactivex.io/rxjs) + +## Versions In This Repository + +- [master](https://github.com/ReactiveX/rxjs/commits/master) - commits that will be included in the next _minor_ or _patch_ release +- [next](https://github.com/ReactiveX/rxjs/commits/next) - commits that will be included in the next _major_ release (breaking changes) + +Most PRs should be made to **master**, unless you know it is a breaking change. + +## Important + +By contributing or commenting on issues in this repository, whether you've read them or not, you're agreeing to the [Contributor Code of Conduct](CODE_OF_CONDUCT.md). Much like traffic laws, ignorance doesn't grant you immunity. + +## Installation and Usage + +### ES6 via npm + +```sh +npm install rxjs +``` + +To import the entire core set of functionality: + +```js +import Rx from 'rxjs/Rx'; + +Rx.Observable.of(1,2,3) +``` + +To import only what you need by patching (this is useful for size-sensitive bundling): + +```js +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/of'; +import 'rxjs/add/operator/map'; + +Observable.of(1,2,3).map(x => x + '!!!'); // etc +``` + +To import what you need and use it with proposed [bind operator](https://github.com/tc39/proposal-bind-operator): + +> Note: This additional syntax requires [transpiler support](http://babeljs.io/docs/plugins/transform-function-bind/) and this syntax may be completely withdrawn from TC39 without notice! Use at your own risk. + +```js +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; +import { map } from 'rxjs/operator/map'; + +Observable::of(1,2,3)::map(x => x + '!!!'); // etc +``` + +### CommonJS via npm + +To install this library for CommonJS (CJS) usage, use the following command: + +```sh +npm install rxjs +``` + +Import all core functionality: + +```js +var Rx = require('rxjs/Rx'); + +Rx.Observable.of(1,2,3); // etc +``` + +Import only what you need and patch Observable (this is useful in size-sensitive bundling scenarios): + +```js +var Observable = require('rxjs/Observable').Observable; +// patch Observable with appropriate methods +require('rxjs/add/observable/of'); +require('rxjs/add/operator/map'); + +Observable.of(1,2,3).map(function (x) { return x + '!!!'; }); // etc +``` + +Import operators and use them _manually_ you can do the following (this is also useful for bundling): + +```js +var of = require('rxjs/observable/of').of; +var map = require('rxjs/operator/map').map; + +map.call(of(1,2,3), function (x) { return x + '!!!'; }); +``` + +You can also use the above method to build your own Observable and export it from your own module. + + +### All Module Types (CJS/ES6/AMD/TypeScript) via npm + +To install this library via [npm](https://www.npmjs.org) **version 3**, use the following command: + +```sh +npm install @reactivex/rxjs +``` + +This will include CJS/Global builds and can be used for all module types. + +If you are using npm **version 2** before this library has achieved a stable version, you need to specify the library version explicitly: + +```sh +npm install @reactivex/rxjs@5.0.0 +``` + +### CDN + +For CDN, you can use [unpkg](https://unpkg.com/): + +https://unpkg.com/rxjs/bundles/Rx.min.js + +#### Node.js Usage: + +```js +var Rx = require('@reactivex/rxjs'); + +Rx.Observable.of('hello world') + .subscribe(function(x) { console.log(x); }); +``` + +## Goals + +- Provide better performance than preceding versions of RxJS +- To model/follow the [Observable Spec Proposal](https://github.com/zenparsing/es-observable) to the observable. +- Provide more modular file structure in a variety of formats +- Provide more debuggable call stacks than preceding versions of RxJS + +## Building/Testing + +The build and test structure is fairly primitive at the moment. There are various npm scripts that can be run: + +- build_es6: Transpiles the TypeScript files from `src/` to `dist/es6` +- build_cjs: Transpiles the ES6 files from `dist/es6` to `dist/cjs` +- build_amd: Transpiles the ES6 files from `dist/es6` to `dist/amd` +- build_global: Transpiles/Bundles the CommonJS files from `dist/cjs` to `dist/global/Rx.js` +- build_all: Performs all of the above in the proper order. +- build_test: builds ES6, then CommonJS, then runs the tests with `jasmine` +- build_perf: builds ES6, CommonJS, then global, then runs the performance tests with `protractor` +- build_docs: generates API documentation from `dist/es6` to `dist/docs` +- build_cover: runs `istanbul` code coverage against test cases +- test: runs tests with `jasmine`, must have built prior to running. +- tests2png: generates PNG marble diagrams from test cases. + +`npm run info` will list available script. + +### Example + +```sh +# build all the things! +npm run build_all +``` + +## Performance Tests + +Run `npm run build_perf` or `npm run perf` to run the performance tests with `protractor`. +Run `npm run perf_micro` to run micro performance test benchmarking operator. + +## Adding documentation +RxNext uses [ESDoc](https://esdoc.org/) to generate API documentation. Refer to ESDoc's documentation for syntax. Run `npm run build_docs` to generate. + +## Generating PNG marble diagrams + +The script `npm run tests2png` requires some native packages installed locally: `imagemagick`, `graphicsmagick`, and `ghostscript`. + +For Mac OS X with [Homebrew](http://brew.sh/): + +- `brew install imagemagick` +- `brew install graphicsmagick` +- `brew install ghostscript` +- You may need to install the Ghostscript fonts manually: + - Download the tarball from the [gs-fonts project](https://sourceforge.net/projects/gs-fonts) + - `mkdir -p /usr/local/share/ghostscript && tar zxvf /path/to/ghostscript-fonts.tar.gz -C /usr/local/share/ghostscript` + +For Debian Linux: + +- `sudo add-apt-repository ppa:dhor/myway` +- `apt-get install imagemagick` +- `apt-get install graphicsmagick` +- `apt-get install ghostscript` + +For Windows and other Operating Systems, check the download instructions here: + +- http://imagemagick.org +- http://www.graphicsmagick.org +- http://www.ghostscript.com/ diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js new file mode 100644 index 00000000000000..f34fe52b5d6741 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js @@ -0,0 +1,90 @@ +import { Subject } from './Subject'; +import { queue } from './scheduler/queue'; +import { Subscription } from './Subscription'; +import { ObserveOnSubscriber } from './operators/observeOn'; +import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError'; +import { SubjectSubscription } from './SubjectSubscription'; +/** + * @class ReplaySubject + */ +export class ReplaySubject extends Subject { + constructor(bufferSize = Number.POSITIVE_INFINITY, windowTime = Number.POSITIVE_INFINITY, scheduler) { + super(); + this.scheduler = scheduler; + this._events = []; + this._bufferSize = bufferSize < 1 ? 1 : bufferSize; + this._windowTime = windowTime < 1 ? 1 : windowTime; + } + next(value) { + const now = this._getNow(); + this._events.push(new ReplayEvent(now, value)); + this._trimBufferThenGetEvents(); + super.next(value); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const _events = this._trimBufferThenGetEvents(); + const scheduler = this.scheduler; + let subscription; + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + else if (this.hasError) { + subscription = Subscription.EMPTY; + } + else if (this.isStopped) { + subscription = Subscription.EMPTY; + } + else { + this.observers.push(subscriber); + subscription = new SubjectSubscription(this, subscriber); + } + if (scheduler) { + subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler)); + } + const len = _events.length; + for (let i = 0; i < len && !subscriber.closed; i++) { + subscriber.next(_events[i].value); + } + if (this.hasError) { + subscriber.error(this.thrownError); + } + else if (this.isStopped) { + subscriber.complete(); + } + return subscription; + } + _getNow() { + return (this.scheduler || queue).now(); + } + _trimBufferThenGetEvents() { + const now = this._getNow(); + const _bufferSize = this._bufferSize; + const _windowTime = this._windowTime; + const _events = this._events; + let eventsCount = _events.length; + let spliceCount = 0; + // Trim events that fall out of the time window. + // Start at the front of the list. Break early once + // we encounter an event that falls within the window. + while (spliceCount < eventsCount) { + if ((now - _events[spliceCount].time) < _windowTime) { + break; + } + spliceCount++; + } + if (eventsCount > _bufferSize) { + spliceCount = Math.max(spliceCount, eventsCount - _bufferSize); + } + if (spliceCount > 0) { + _events.splice(0, spliceCount); + } + return _events; + } +} +class ReplayEvent { + constructor(time, value) { + this.time = time; + this.value = value; + } +} +//# sourceMappingURL=ReplaySubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js.map new file mode 100644 index 00000000000000..1be9721e9e8340 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/ReplaySubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReplaySubject.js","sourceRoot":"","sources":["../src/ReplaySubject.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js new file mode 100644 index 00000000000000..23fd5c3f42b68b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js @@ -0,0 +1,204 @@ +/* tslint:disable:no-unused-variable */ +// Subject imported before Observable to bypass circular dependency issue since +// Subject extends Observable and Observable references Subject in it's +// definition +export { Subject, AnonymousSubject } from './Subject'; +/* tslint:enable:no-unused-variable */ +export { Observable } from './Observable'; +import './add/observable/bindCallback'; +import './add/observable/bindNodeCallback'; +import './add/observable/combineLatest'; +import './add/observable/concat'; +import './add/observable/defer'; +import './add/observable/empty'; +import './add/observable/forkJoin'; +import './add/observable/from'; +import './add/observable/fromEvent'; +import './add/observable/fromEventPattern'; +import './add/observable/fromPromise'; +import './add/observable/generate'; +import './add/observable/if'; +import './add/observable/interval'; +import './add/observable/merge'; +import './add/observable/race'; +import './add/observable/never'; +import './add/observable/of'; +import './add/observable/onErrorResumeNext'; +import './add/observable/pairs'; +import './add/observable/range'; +import './add/observable/using'; +import './add/observable/throw'; +import './add/observable/timer'; +import './add/observable/zip'; +import './add/observable/dom/ajax'; +import './add/observable/dom/webSocket'; +import './add/operator/buffer'; +import './add/operator/bufferCount'; +import './add/operator/bufferTime'; +import './add/operator/bufferToggle'; +import './add/operator/bufferWhen'; +import './add/operator/catch'; +import './add/operator/combineAll'; +import './add/operator/combineLatest'; +import './add/operator/concat'; +import './add/operator/concatAll'; +import './add/operator/concatMap'; +import './add/operator/concatMapTo'; +import './add/operator/count'; +import './add/operator/dematerialize'; +import './add/operator/debounce'; +import './add/operator/debounceTime'; +import './add/operator/defaultIfEmpty'; +import './add/operator/delay'; +import './add/operator/delayWhen'; +import './add/operator/distinct'; +import './add/operator/distinctUntilChanged'; +import './add/operator/distinctUntilKeyChanged'; +import './add/operator/do'; +import './add/operator/exhaust'; +import './add/operator/exhaustMap'; +import './add/operator/expand'; +import './add/operator/elementAt'; +import './add/operator/filter'; +import './add/operator/finally'; +import './add/operator/find'; +import './add/operator/findIndex'; +import './add/operator/first'; +import './add/operator/groupBy'; +import './add/operator/ignoreElements'; +import './add/operator/isEmpty'; +import './add/operator/audit'; +import './add/operator/auditTime'; +import './add/operator/last'; +import './add/operator/let'; +import './add/operator/every'; +import './add/operator/map'; +import './add/operator/mapTo'; +import './add/operator/materialize'; +import './add/operator/max'; +import './add/operator/merge'; +import './add/operator/mergeAll'; +import './add/operator/mergeMap'; +import './add/operator/mergeMapTo'; +import './add/operator/mergeScan'; +import './add/operator/min'; +import './add/operator/multicast'; +import './add/operator/observeOn'; +import './add/operator/onErrorResumeNext'; +import './add/operator/pairwise'; +import './add/operator/partition'; +import './add/operator/pluck'; +import './add/operator/publish'; +import './add/operator/publishBehavior'; +import './add/operator/publishReplay'; +import './add/operator/publishLast'; +import './add/operator/race'; +import './add/operator/reduce'; +import './add/operator/repeat'; +import './add/operator/repeatWhen'; +import './add/operator/retry'; +import './add/operator/retryWhen'; +import './add/operator/sample'; +import './add/operator/sampleTime'; +import './add/operator/scan'; +import './add/operator/sequenceEqual'; +import './add/operator/share'; +import './add/operator/shareReplay'; +import './add/operator/single'; +import './add/operator/skip'; +import './add/operator/skipLast'; +import './add/operator/skipUntil'; +import './add/operator/skipWhile'; +import './add/operator/startWith'; +import './add/operator/subscribeOn'; +import './add/operator/switch'; +import './add/operator/switchMap'; +import './add/operator/switchMapTo'; +import './add/operator/take'; +import './add/operator/takeLast'; +import './add/operator/takeUntil'; +import './add/operator/takeWhile'; +import './add/operator/throttle'; +import './add/operator/throttleTime'; +import './add/operator/timeInterval'; +import './add/operator/timeout'; +import './add/operator/timeoutWith'; +import './add/operator/timestamp'; +import './add/operator/toArray'; +import './add/operator/toPromise'; +import './add/operator/window'; +import './add/operator/windowCount'; +import './add/operator/windowTime'; +import './add/operator/windowToggle'; +import './add/operator/windowWhen'; +import './add/operator/withLatestFrom'; +import './add/operator/zip'; +import './add/operator/zipAll'; +/* tslint:disable:no-unused-variable */ +export { Subscription } from './Subscription'; +export { Subscriber } from './Subscriber'; +export { AsyncSubject } from './AsyncSubject'; +export { ReplaySubject } from './ReplaySubject'; +export { BehaviorSubject } from './BehaviorSubject'; +export { ConnectableObservable } from './observable/ConnectableObservable'; +export { Notification } from './Notification'; +export { EmptyError } from './util/EmptyError'; +export { ArgumentOutOfRangeError } from './util/ArgumentOutOfRangeError'; +export { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError'; +export { TimeoutError } from './util/TimeoutError'; +export { UnsubscriptionError } from './util/UnsubscriptionError'; +export { TimeInterval } from './operator/timeInterval'; +export { Timestamp } from './operators/timestamp'; +export { TestScheduler } from './testing/TestScheduler'; +export { VirtualTimeScheduler } from './scheduler/VirtualTimeScheduler'; +export { AjaxResponse, AjaxError, AjaxTimeoutError } from './observable/dom/AjaxObservable'; +export { pipe } from './util/pipe'; +import { asap } from './scheduler/asap'; +import { async } from './scheduler/async'; +import { queue } from './scheduler/queue'; +import { animationFrame } from './scheduler/animationFrame'; +import { rxSubscriber } from './symbol/rxSubscriber'; +import { iterator } from './symbol/iterator'; +import { observable } from './symbol/observable'; +import * as _operators from './operators'; +export const operators = _operators; +/* tslint:enable:no-unused-variable */ +/** + * @typedef {Object} Rx.Scheduler + * @property {Scheduler} queue Schedules on a queue in the current event frame + * (trampoline scheduler). Use this for iteration operations. + * @property {Scheduler} asap Schedules on the micro task queue, which uses the + * fastest transport mechanism available, either Node.js' `process.nextTick()` + * or Web Worker MessageChannel or setTimeout or others. Use this for + * asynchronous conversions. + * @property {Scheduler} async Schedules work with `setInterval`. Use this for + * time-based operations. + * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`. + * Use this for synchronizing with the platform's painting + */ +let Scheduler = { + asap, + queue, + animationFrame, + async +}; +/** + * @typedef {Object} Rx.Symbol + * @property {Symbol|string} rxSubscriber A symbol to use as a property name to + * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as + * an object that has all of the traits of an Rx Subscriber, including the + * ability to add and remove subscriptions to the subscription chain and + * guarantees involving event triggering (can't "next" after unsubscription, + * etc). + * @property {Symbol|string} observable A symbol to use as a property name to + * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable). + * @property {Symbol|string} iterator The ES6 symbol to use as a property name + * to retrieve an iterator from an object. + */ +let Symbol = { + rxSubscriber, + observable, + iterator +}; +export { Scheduler, Symbol }; +//# sourceMappingURL=Rx.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js.map new file mode 100644 index 00000000000000..0da980e57ce1dd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Rx.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Rx.js","sourceRoot":"","sources":["../src/Rx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js new file mode 100644 index 00000000000000..c04bab2999f394 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js @@ -0,0 +1,44 @@ +/** + * An execution context and a data structure to order tasks and schedule their + * execution. Provides a notion of (potentially virtual) time, through the + * `now()` getter method. + * + * Each unit of work in a Scheduler is called an {@link Action}. + * + * ```ts + * class Scheduler { + * now(): number; + * schedule(work, delay?, state?): Subscription; + * } + * ``` + * + * @class Scheduler + */ +export class Scheduler { + constructor(SchedulerAction, now = Scheduler.now) { + this.SchedulerAction = SchedulerAction; + this.now = now; + } + /** + * Schedules a function, `work`, for execution. May happen at some point in + * the future, according to the `delay` parameter, if specified. May be passed + * some context object, `state`, which will be passed to the `work` function. + * + * The given arguments will be processed an stored as an Action object in a + * queue of actions. + * + * @param {function(state: ?T): ?Subscription} work A function representing a + * task, or some unit of work to be executed by the Scheduler. + * @param {number} [delay] Time to wait before executing the work, where the + * time unit is implicit and defined by the Scheduler itself. + * @param {T} [state] Some contextual data that the `work` function uses when + * called by the Scheduler. + * @return {Subscription} A subscription in order to be able to unsubscribe + * the scheduled work. + */ + schedule(work, delay = 0, state) { + return new this.SchedulerAction(this, work).schedule(state, delay); + } +} +Scheduler.now = Date.now ? Date.now : () => +new Date(); +//# sourceMappingURL=Scheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js.map new file mode 100644 index 00000000000000..e02e8a737761da --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Scheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH;IAIE,YAAoB,eAA8B,EACtC,GAAG,GAAiB,SAAS,CAAC,GAAG;QADzB,oBAAe,GAAf,eAAe,CAAe;QAEhD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAYD;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,CAAI,IAA0C,EAAE,KAAK,GAAW,CAAC,EAAE,KAAS;QACzF,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AArCe,aAAG,GAAiB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAqC1E"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js new file mode 100644 index 00000000000000..dade0f5fa81ff7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js @@ -0,0 +1,153 @@ +import { Observable } from './Observable'; +import { Subscriber } from './Subscriber'; +import { Subscription } from './Subscription'; +import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError'; +import { SubjectSubscription } from './SubjectSubscription'; +import { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber'; +/** + * @class SubjectSubscriber + */ +export class SubjectSubscriber extends Subscriber { + constructor(destination) { + super(destination); + this.destination = destination; + } +} +/** + * @class Subject + */ +export class Subject extends Observable { + constructor() { + super(); + this.observers = []; + this.closed = false; + this.isStopped = false; + this.hasError = false; + this.thrownError = null; + } + [rxSubscriberSymbol]() { + return new SubjectSubscriber(this); + } + lift(operator) { + const subject = new AnonymousSubject(this, this); + subject.operator = operator; + return subject; + } + next(value) { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + if (!this.isStopped) { + const { observers } = this; + const len = observers.length; + const copy = observers.slice(); + for (let i = 0; i < len; i++) { + copy[i].next(value); + } + } + } + error(err) { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + this.hasError = true; + this.thrownError = err; + this.isStopped = true; + const { observers } = this; + const len = observers.length; + const copy = observers.slice(); + for (let i = 0; i < len; i++) { + copy[i].error(err); + } + this.observers.length = 0; + } + complete() { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + this.isStopped = true; + const { observers } = this; + const len = observers.length; + const copy = observers.slice(); + for (let i = 0; i < len; i++) { + copy[i].complete(); + } + this.observers.length = 0; + } + unsubscribe() { + this.isStopped = true; + this.closed = true; + this.observers = null; + } + _trySubscribe(subscriber) { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + else { + return super._trySubscribe(subscriber); + } + } + /** @deprecated internal use only */ _subscribe(subscriber) { + if (this.closed) { + throw new ObjectUnsubscribedError(); + } + else if (this.hasError) { + subscriber.error(this.thrownError); + return Subscription.EMPTY; + } + else if (this.isStopped) { + subscriber.complete(); + return Subscription.EMPTY; + } + else { + this.observers.push(subscriber); + return new SubjectSubscription(this, subscriber); + } + } + asObservable() { + const observable = new Observable(); + observable.source = this; + return observable; + } +} +Subject.create = (destination, source) => { + return new AnonymousSubject(destination, source); +}; +/** + * @class AnonymousSubject + */ +export class AnonymousSubject extends Subject { + constructor(destination, source) { + super(); + this.destination = destination; + this.source = source; + } + next(value) { + const { destination } = this; + if (destination && destination.next) { + destination.next(value); + } + } + error(err) { + const { destination } = this; + if (destination && destination.error) { + this.destination.error(err); + } + } + complete() { + const { destination } = this; + if (destination && destination.complete) { + this.destination.complete(); + } + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const { source } = this; + if (source) { + return this.source.subscribe(subscriber); + } + else { + return Subscription.EMPTY; + } + } +} +//# sourceMappingURL=Subject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js.map new file mode 100644 index 00000000000000..9a245d72c8d11c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subject.js","sourceRoot":"","sources":["../src/Subject.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js new file mode 100644 index 00000000000000..7687174f8fcf20 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js @@ -0,0 +1,31 @@ +import { Subscription } from './Subscription'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class SubjectSubscription extends Subscription { + constructor(subject, subscriber) { + super(); + this.subject = subject; + this.subscriber = subscriber; + this.closed = false; + } + unsubscribe() { + if (this.closed) { + return; + } + this.closed = true; + const subject = this.subject; + const observers = subject.observers; + this.subject = null; + if (!observers || observers.length === 0 || subject.isStopped || subject.closed) { + return; + } + const subscriberIndex = observers.indexOf(this.subscriber); + if (subscriberIndex !== -1) { + observers.splice(subscriberIndex, 1); + } + } +} +//# sourceMappingURL=SubjectSubscription.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js.map new file mode 100644 index 00000000000000..2f93eed2511454 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/SubjectSubscription.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SubjectSubscription.js","sourceRoot":"","sources":["../src/SubjectSubscription.ts"],"names":[],"mappings":"OAEO,EAAE,YAAY,EAAE,MAAM,gBAAgB;AAE7C;;;;GAIG;AACH,yCAA4C,YAAY;IAGtD,YAAmB,OAAmB,EAAS,UAAuB;QACpE,OAAO,CAAC;QADS,YAAO,GAAP,OAAO,CAAY;QAAS,eAAU,GAAV,UAAU,CAAa;QAFtE,WAAM,GAAY,KAAK,CAAC;IAIxB,CAAC;IAED,WAAW;QACT,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC;QACT,CAAC;QAED,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,EAAE,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js new file mode 100644 index 00000000000000..e6468ff3eca59b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js @@ -0,0 +1,259 @@ +import { isFunction } from './util/isFunction'; +import { Subscription } from './Subscription'; +import { empty as emptyObserver } from './Observer'; +import { rxSubscriber as rxSubscriberSymbol } from './symbol/rxSubscriber'; +/** + * Implements the {@link Observer} interface and extends the + * {@link Subscription} class. While the {@link Observer} is the public API for + * consuming the values of an {@link Observable}, all Observers get converted to + * a Subscriber, in order to provide Subscription-like capabilities such as + * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for + * implementing operators, but it is rarely used as a public API. + * + * @class Subscriber + */ +export class Subscriber extends Subscription { + /** + * @param {Observer|function(value: T): void} [destinationOrNext] A partially + * defined Observer or a `next` callback function. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + */ + constructor(destinationOrNext, error, complete) { + super(); + this.syncErrorValue = null; + this.syncErrorThrown = false; + this.syncErrorThrowable = false; + this.isStopped = false; + switch (arguments.length) { + case 0: + this.destination = emptyObserver; + break; + case 1: + if (!destinationOrNext) { + this.destination = emptyObserver; + break; + } + if (typeof destinationOrNext === 'object') { + // HACK(benlesh): To resolve an issue where Node users may have multiple + // copies of rxjs in their node_modules directory. + if (isTrustedSubscriber(destinationOrNext)) { + const trustedSubscriber = destinationOrNext[rxSubscriberSymbol](); + this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable; + this.destination = trustedSubscriber; + trustedSubscriber.add(this); + } + else { + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext); + } + break; + } + default: + this.syncErrorThrowable = true; + this.destination = new SafeSubscriber(this, destinationOrNext, error, complete); + break; + } + } + [rxSubscriberSymbol]() { return this; } + /** + * A static factory for a Subscriber, given a (potentially partial) definition + * of an Observer. + * @param {function(x: ?T): void} [next] The `next` callback of an Observer. + * @param {function(e: ?any): void} [error] The `error` callback of an + * Observer. + * @param {function(): void} [complete] The `complete` callback of an + * Observer. + * @return {Subscriber} A Subscriber wrapping the (partially defined) + * Observer represented by the given arguments. + */ + static create(next, error, complete) { + const subscriber = new Subscriber(next, error, complete); + subscriber.syncErrorThrowable = false; + return subscriber; + } + /** + * The {@link Observer} callback to receive notifications of type `next` from + * the Observable, with a value. The Observable may call this method 0 or more + * times. + * @param {T} [value] The `next` value. + * @return {void} + */ + next(value) { + if (!this.isStopped) { + this._next(value); + } + } + /** + * The {@link Observer} callback to receive notifications of type `error` from + * the Observable, with an attached {@link Error}. Notifies the Observer that + * the Observable has experienced an error condition. + * @param {any} [err] The `error` exception. + * @return {void} + */ + error(err) { + if (!this.isStopped) { + this.isStopped = true; + this._error(err); + } + } + /** + * The {@link Observer} callback to receive a valueless notification of type + * `complete` from the Observable. Notifies the Observer that the Observable + * has finished sending push-based notifications. + * @return {void} + */ + complete() { + if (!this.isStopped) { + this.isStopped = true; + this._complete(); + } + } + unsubscribe() { + if (this.closed) { + return; + } + this.isStopped = true; + super.unsubscribe(); + } + _next(value) { + this.destination.next(value); + } + _error(err) { + this.destination.error(err); + this.unsubscribe(); + } + _complete() { + this.destination.complete(); + this.unsubscribe(); + } + /** @deprecated internal use only */ _unsubscribeAndRecycle() { + const { _parent, _parents } = this; + this._parent = null; + this._parents = null; + this.unsubscribe(); + this.closed = false; + this.isStopped = false; + this._parent = _parent; + this._parents = _parents; + return this; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SafeSubscriber extends Subscriber { + constructor(_parentSubscriber, observerOrNext, error, complete) { + super(); + this._parentSubscriber = _parentSubscriber; + let next; + let context = this; + if (isFunction(observerOrNext)) { + next = observerOrNext; + } + else if (observerOrNext) { + next = observerOrNext.next; + error = observerOrNext.error; + complete = observerOrNext.complete; + if (observerOrNext !== emptyObserver) { + context = Object.create(observerOrNext); + if (isFunction(context.unsubscribe)) { + this.add(context.unsubscribe.bind(context)); + } + context.unsubscribe = this.unsubscribe.bind(this); + } + } + this._context = context; + this._next = next; + this._error = error; + this._complete = complete; + } + next(value) { + if (!this.isStopped && this._next) { + const { _parentSubscriber } = this; + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(this._next, value); + } + else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) { + this.unsubscribe(); + } + } + } + error(err) { + if (!this.isStopped) { + const { _parentSubscriber } = this; + if (this._error) { + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(this._error, err); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parentSubscriber, this._error, err); + this.unsubscribe(); + } + } + else if (!_parentSubscriber.syncErrorThrowable) { + this.unsubscribe(); + throw err; + } + else { + _parentSubscriber.syncErrorValue = err; + _parentSubscriber.syncErrorThrown = true; + this.unsubscribe(); + } + } + } + complete() { + if (!this.isStopped) { + const { _parentSubscriber } = this; + if (this._complete) { + const wrappedComplete = () => this._complete.call(this._context); + if (!_parentSubscriber.syncErrorThrowable) { + this.__tryOrUnsub(wrappedComplete); + this.unsubscribe(); + } + else { + this.__tryOrSetError(_parentSubscriber, wrappedComplete); + this.unsubscribe(); + } + } + else { + this.unsubscribe(); + } + } + } + __tryOrUnsub(fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + this.unsubscribe(); + throw err; + } + } + __tryOrSetError(parent, fn, value) { + try { + fn.call(this._context, value); + } + catch (err) { + parent.syncErrorValue = err; + parent.syncErrorThrown = true; + return true; + } + return false; + } + /** @deprecated internal use only */ _unsubscribe() { + const { _parentSubscriber } = this; + this._context = null; + this._parentSubscriber = null; + _parentSubscriber.unsubscribe(); + } +} +function isTrustedSubscriber(obj) { + return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriberSymbol]); +} +//# sourceMappingURL=Subscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js.map new file mode 100644 index 00000000000000..7ba8572193c9a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subscriber.js","sourceRoot":"","sources":["../src/Subscriber.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js new file mode 100644 index 00000000000000..9752ef894c8c9a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js @@ -0,0 +1,190 @@ +import { isArray } from './util/isArray'; +import { isObject } from './util/isObject'; +import { isFunction } from './util/isFunction'; +import { tryCatch } from './util/tryCatch'; +import { errorObject } from './util/errorObject'; +import { UnsubscriptionError } from './util/UnsubscriptionError'; +/** + * Represents a disposable resource, such as the execution of an Observable. A + * Subscription has one important method, `unsubscribe`, that takes no argument + * and just disposes the resource held by the subscription. + * + * Additionally, subscriptions may be grouped together through the `add()` + * method, which will attach a child Subscription to the current Subscription. + * When a Subscription is unsubscribed, all its children (and its grandchildren) + * will be unsubscribed as well. + * + * @class Subscription + */ +export class Subscription { + /** + * @param {function(): void} [unsubscribe] A function describing how to + * perform the disposal of resources when the `unsubscribe` method is called. + */ + constructor(unsubscribe) { + /** + * A flag to indicate whether this Subscription has already been unsubscribed. + * @type {boolean} + */ + this.closed = false; + this._parent = null; + this._parents = null; + this._subscriptions = null; + if (unsubscribe) { + this._unsubscribe = unsubscribe; + } + } + /** + * Disposes the resources held by the subscription. May, for instance, cancel + * an ongoing Observable execution or cancel any other type of work that + * started when the Subscription was created. + * @return {void} + */ + unsubscribe() { + let hasErrors = false; + let errors; + if (this.closed) { + return; + } + let { _parent, _parents, _unsubscribe, _subscriptions } = this; + this.closed = true; + this._parent = null; + this._parents = null; + // null out _subscriptions first so any child subscriptions that attempt + // to remove themselves from this subscription will noop + this._subscriptions = null; + let index = -1; + let len = _parents ? _parents.length : 0; + // if this._parent is null, then so is this._parents, and we + // don't have to remove ourselves from any parent subscriptions. + while (_parent) { + _parent.remove(this); + // if this._parents is null or index >= len, + // then _parent is set to null, and the loop exits + _parent = ++index < len && _parents[index] || null; + } + if (isFunction(_unsubscribe)) { + let trial = tryCatch(_unsubscribe).call(this); + if (trial === errorObject) { + hasErrors = true; + errors = errors || (errorObject.e instanceof UnsubscriptionError ? + flattenUnsubscriptionErrors(errorObject.e.errors) : [errorObject.e]); + } + } + if (isArray(_subscriptions)) { + index = -1; + len = _subscriptions.length; + while (++index < len) { + const sub = _subscriptions[index]; + if (isObject(sub)) { + let trial = tryCatch(sub.unsubscribe).call(sub); + if (trial === errorObject) { + hasErrors = true; + errors = errors || []; + let err = errorObject.e; + if (err instanceof UnsubscriptionError) { + errors = errors.concat(flattenUnsubscriptionErrors(err.errors)); + } + else { + errors.push(err); + } + } + } + } + } + if (hasErrors) { + throw new UnsubscriptionError(errors); + } + } + /** + * Adds a tear down to be called during the unsubscribe() of this + * Subscription. + * + * If the tear down being added is a subscription that is already + * unsubscribed, is the same reference `add` is being called on, or is + * `Subscription.EMPTY`, it will not be added. + * + * If this subscription is already in an `closed` state, the passed + * tear down logic will be executed immediately. + * + * @param {TeardownLogic} teardown The additional logic to execute on + * teardown. + * @return {Subscription} Returns the Subscription used or created to be + * added to the inner subscriptions list. This Subscription can be used with + * `remove()` to remove the passed teardown logic from the inner subscriptions + * list. + */ + add(teardown) { + if (!teardown || (teardown === Subscription.EMPTY)) { + return Subscription.EMPTY; + } + if (teardown === this) { + return this; + } + let subscription = teardown; + switch (typeof teardown) { + case 'function': + subscription = new Subscription(teardown); + case 'object': + if (subscription.closed || typeof subscription.unsubscribe !== 'function') { + return subscription; + } + else if (this.closed) { + subscription.unsubscribe(); + return subscription; + } + else if (typeof subscription._addParent !== 'function' /* quack quack */) { + const tmp = subscription; + subscription = new Subscription(); + subscription._subscriptions = [tmp]; + } + break; + default: + throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.'); + } + const subscriptions = this._subscriptions || (this._subscriptions = []); + subscriptions.push(subscription); + subscription._addParent(this); + return subscription; + } + /** + * Removes a Subscription from the internal list of subscriptions that will + * unsubscribe during the unsubscribe process of this Subscription. + * @param {Subscription} subscription The subscription to remove. + * @return {void} + */ + remove(subscription) { + const subscriptions = this._subscriptions; + if (subscriptions) { + const subscriptionIndex = subscriptions.indexOf(subscription); + if (subscriptionIndex !== -1) { + subscriptions.splice(subscriptionIndex, 1); + } + } + } + _addParent(parent) { + let { _parent, _parents } = this; + if (!_parent || _parent === parent) { + // If we don't have a parent, or the new parent is the same as the + // current parent, then set this._parent to the new parent. + this._parent = parent; + } + else if (!_parents) { + // If there's already one parent, but not multiple, allocate an Array to + // store the rest of the parent Subscriptions. + this._parents = [parent]; + } + else if (_parents.indexOf(parent) === -1) { + // Only add the new parent to the _parents list if it's not already there. + _parents.push(parent); + } + } +} +Subscription.EMPTY = (function (empty) { + empty.closed = true; + return empty; +}(new Subscription())); +function flattenUnsubscriptionErrors(errors) { + return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []); +} +//# sourceMappingURL=Subscription.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js.map new file mode 100644 index 00000000000000..903318ea9f3c52 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/Subscription.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Subscription.js","sourceRoot":"","sources":["../src/Subscription.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js new file mode 100644 index 00000000000000..0f1db94a097462 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bindCallback as staticBindCallback } from '../../observable/bindCallback'; +Observable.bindCallback = staticBindCallback; +//# sourceMappingURL=bindCallback.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js.map new file mode 100644 index 00000000000000..356b47e9133a48 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindCallback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bindCallback.js","sourceRoot":"","sources":["../../../src/add/observable/bindCallback.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,+BAA+B;AAElF,UAAU,CAAC,YAAY,GAAG,kBAAkB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js new file mode 100644 index 00000000000000..2b1e47e9146277 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bindNodeCallback as staticBindNodeCallback } from '../../observable/bindNodeCallback'; +Observable.bindNodeCallback = staticBindNodeCallback; +//# sourceMappingURL=bindNodeCallback.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js.map new file mode 100644 index 00000000000000..1e4b0a2dd3fff5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/bindNodeCallback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bindNodeCallback.js","sourceRoot":"","sources":["../../../src/add/observable/bindNodeCallback.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mCAAmC;AAE9F,UAAU,CAAC,gBAAgB,GAAG,sBAAsB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js new file mode 100644 index 00000000000000..39b7bc09e3ed71 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { combineLatest as combineLatestStatic } from '../../observable/combineLatest'; +Observable.combineLatest = combineLatestStatic; +//# sourceMappingURL=combineLatest.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js.map new file mode 100644 index 00000000000000..adf36f0be61dce --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/combineLatest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineLatest.js","sourceRoot":"","sources":["../../../src/add/observable/combineLatest.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gCAAgC;AAErF,UAAU,CAAC,aAAa,GAAG,mBAAmB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js new file mode 100644 index 00000000000000..3fbd22fba8d24b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { concat as concatStatic } from '../../observable/concat'; +Observable.concat = concatStatic; +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js.map new file mode 100644 index 00000000000000..cb035092938d02 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../src/add/observable/concat.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,yBAAyB;AAEhE,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js new file mode 100644 index 00000000000000..eeaf67d4ef6f40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { defer as staticDefer } from '../../observable/defer'; +Observable.defer = staticDefer; +//# sourceMappingURL=defer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js.map new file mode 100644 index 00000000000000..39bdc56774a5ad --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/defer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defer.js","sourceRoot":"","sources":["../../../src/add/observable/defer.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js new file mode 100644 index 00000000000000..24174932525055 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js @@ -0,0 +1,4 @@ +import { Observable } from '../../../Observable'; +import { ajax as staticAjax } from '../../../observable/dom/ajax'; +Observable.ajax = staticAjax; +//# sourceMappingURL=ajax.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js.map new file mode 100644 index 00000000000000..b1a72fce496cc3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/ajax.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ajax.js","sourceRoot":"","sources":["../../../../src/add/observable/dom/ajax.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB;OACzC,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,8BAA8B;AAGjE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js new file mode 100644 index 00000000000000..acd4cf0e68d5e0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js @@ -0,0 +1,4 @@ +import { Observable } from '../../../Observable'; +import { webSocket as staticWebSocket } from '../../../observable/dom/webSocket'; +Observable.webSocket = staticWebSocket; +//# sourceMappingURL=webSocket.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js.map new file mode 100644 index 00000000000000..c57fcff3fb202f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/dom/webSocket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webSocket.js","sourceRoot":"","sources":["../../../../src/add/observable/dom/webSocket.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB;OACzC,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,mCAAmC;AAEhF,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js new file mode 100644 index 00000000000000..b19ba02f6144f8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { empty as staticEmpty } from '../../observable/empty'; +Observable.empty = staticEmpty; +//# sourceMappingURL=empty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js.map new file mode 100644 index 00000000000000..f7e8ba6847f039 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/empty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../src/add/observable/empty.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js new file mode 100644 index 00000000000000..77162a1fe1ce7b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { forkJoin as staticForkJoin } from '../../observable/forkJoin'; +Observable.forkJoin = staticForkJoin; +//# sourceMappingURL=forkJoin.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js.map new file mode 100644 index 00000000000000..8ced0a5c28a2ea --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/forkJoin.js.map @@ -0,0 +1 @@ +{"version":3,"file":"forkJoin.js","sourceRoot":"","sources":["../../../src/add/observable/forkJoin.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,2BAA2B;AAEtE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js new file mode 100644 index 00000000000000..c13211da4a25d0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { from as staticFrom } from '../../observable/from'; +Observable.from = staticFrom; +//# sourceMappingURL=from.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js.map new file mode 100644 index 00000000000000..1c72bc29f633d3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/from.js.map @@ -0,0 +1 @@ +{"version":3,"file":"from.js","sourceRoot":"","sources":["../../../src/add/observable/from.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,uBAAuB;AAE1D,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js new file mode 100644 index 00000000000000..2ab5efa940b49f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { fromEvent as staticFromEvent } from '../../observable/fromEvent'; +Observable.fromEvent = staticFromEvent; +//# sourceMappingURL=fromEvent.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js.map new file mode 100644 index 00000000000000..cf5ee4979eb518 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEvent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromEvent.js","sourceRoot":"","sources":["../../../src/add/observable/fromEvent.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,4BAA4B;AAEzE,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js new file mode 100644 index 00000000000000..35205b5230af44 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { fromEventPattern as staticFromEventPattern } from '../../observable/fromEventPattern'; +Observable.fromEventPattern = staticFromEventPattern; +//# sourceMappingURL=fromEventPattern.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js.map new file mode 100644 index 00000000000000..47ea597d93aabc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromEventPattern.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromEventPattern.js","sourceRoot":"","sources":["../../../src/add/observable/fromEventPattern.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mCAAmC;AAE9F,UAAU,CAAC,gBAAgB,GAAG,sBAAsB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js new file mode 100644 index 00000000000000..166b5e4ccbfe3d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { fromPromise as staticFromPromise } from '../../observable/fromPromise'; +Observable.fromPromise = staticFromPromise; +//# sourceMappingURL=fromPromise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js.map new file mode 100644 index 00000000000000..3901e0a59f9e0c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/fromPromise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromPromise.js","sourceRoot":"","sources":["../../../src/add/observable/fromPromise.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,8BAA8B;AAE/E,UAAU,CAAC,WAAW,GAAG,iBAAiB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js new file mode 100644 index 00000000000000..c2ecc29cbac945 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { generate as staticGenerate } from '../../observable/generate'; +Observable.generate = staticGenerate; +//# sourceMappingURL=generate.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js.map new file mode 100644 index 00000000000000..4fbe347933015f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/generate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/add/observable/generate.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,2BAA2B;AAEtE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js new file mode 100644 index 00000000000000..bf4da9393e1bef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { _if } from '../../observable/if'; +Observable.if = _if; +//# sourceMappingURL=if.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js.map new file mode 100644 index 00000000000000..8b2343f3c027b1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/if.js.map @@ -0,0 +1 @@ +{"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/add/observable/if.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,EAAE,MAAM,qBAAqB;AAEzC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js new file mode 100644 index 00000000000000..df4048e01380ac --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { interval as staticInterval } from '../../observable/interval'; +Observable.interval = staticInterval; +//# sourceMappingURL=interval.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js.map new file mode 100644 index 00000000000000..06684f89677451 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/interval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../../src/add/observable/interval.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,2BAA2B;AAEtE,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js new file mode 100644 index 00000000000000..1e846ddd39ee40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { merge as mergeStatic } from '../../observable/merge'; +Observable.merge = mergeStatic; +//# sourceMappingURL=merge.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js.map new file mode 100644 index 00000000000000..c592cade664c2e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/merge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/add/observable/merge.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js new file mode 100644 index 00000000000000..e44cfa015fa52d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { never as staticNever } from '../../observable/never'; +Observable.never = staticNever; +//# sourceMappingURL=never.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js.map new file mode 100644 index 00000000000000..5e139d5c333221 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/never.js.map @@ -0,0 +1 @@ +{"version":3,"file":"never.js","sourceRoot":"","sources":["../../../src/add/observable/never.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js new file mode 100644 index 00000000000000..267d9bbba60685 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { of as staticOf } from '../../observable/of'; +Observable.of = staticOf; +//# sourceMappingURL=of.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js.map new file mode 100644 index 00000000000000..37b7c88bf5f3fe --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/of.js.map @@ -0,0 +1 @@ +{"version":3,"file":"of.js","sourceRoot":"","sources":["../../../src/add/observable/of.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,qBAAqB;AAEpD,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js new file mode 100644 index 00000000000000..a2b8b29c683e85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { onErrorResumeNext as staticOnErrorResumeNext } from '../../observable/onErrorResumeNext'; +Observable.onErrorResumeNext = staticOnErrorResumeNext; +//# sourceMappingURL=onErrorResumeNext.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js.map new file mode 100644 index 00000000000000..af74b57229c81c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/onErrorResumeNext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../../src/add/observable/onErrorResumeNext.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,oCAAoC;AAEjG,UAAU,CAAC,iBAAiB,GAAG,uBAAuB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js new file mode 100644 index 00000000000000..5654a6c4437a32 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { pairs as staticPairs } from '../../observable/pairs'; +Observable.pairs = staticPairs; +//# sourceMappingURL=pairs.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js.map new file mode 100644 index 00000000000000..2a046c87bebede --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/pairs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pairs.js","sourceRoot":"","sources":["../../../src/add/observable/pairs.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js new file mode 100644 index 00000000000000..dc8e858643311f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { race as staticRace } from '../../observable/race'; +Observable.race = staticRace; +//# sourceMappingURL=race.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js.map new file mode 100644 index 00000000000000..e9daf89b4ffaa4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/race.js.map @@ -0,0 +1 @@ +{"version":3,"file":"race.js","sourceRoot":"","sources":["../../../src/add/observable/race.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,uBAAuB;AAE1D,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js new file mode 100644 index 00000000000000..3967d03b45a23f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { range as staticRange } from '../../observable/range'; +Observable.range = staticRange; +//# sourceMappingURL=range.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js.map new file mode 100644 index 00000000000000..a0fb1323b5bcda --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/range.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/add/observable/range.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js new file mode 100644 index 00000000000000..aedfe476d8dda5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { _throw } from '../../observable/throw'; +Observable.throw = _throw; +//# sourceMappingURL=throw.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js.map new file mode 100644 index 00000000000000..b08cdd4249824a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/throw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throw.js","sourceRoot":"","sources":["../../../src/add/observable/throw.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,wBAAwB;AAE/C,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js new file mode 100644 index 00000000000000..b8ca5f05be50a7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { timer as staticTimer } from '../../observable/timer'; +Observable.timer = staticTimer; +//# sourceMappingURL=timer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js.map new file mode 100644 index 00000000000000..0996c0dc19884c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/timer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../../src/add/observable/timer.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js new file mode 100644 index 00000000000000..f54e091114dc2c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { using as staticUsing } from '../../observable/using'; +Observable.using = staticUsing; +//# sourceMappingURL=using.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js.map new file mode 100644 index 00000000000000..a4d7ecf73c0ab0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/using.js.map @@ -0,0 +1 @@ +{"version":3,"file":"using.js","sourceRoot":"","sources":["../../../src/add/observable/using.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAE7D,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js new file mode 100644 index 00000000000000..9cb666005507a4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { zip as zipStatic } from '../../observable/zip'; +Observable.zip = zipStatic; +//# sourceMappingURL=zip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js.map new file mode 100644 index 00000000000000..3e75ebfacd36f9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/observable/zip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/add/observable/zip.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,sBAAsB;AAEvD,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js new file mode 100644 index 00000000000000..5f14e305d2fbaf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { audit } from '../../operator/audit'; +Observable.prototype.audit = audit; +//# sourceMappingURL=audit.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js.map new file mode 100644 index 00000000000000..b7b430d6cf6ee2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/audit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/add/operator/audit.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js new file mode 100644 index 00000000000000..91ed2df50c9799 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { auditTime } from '../../operator/auditTime'; +Observable.prototype.auditTime = auditTime; +//# sourceMappingURL=auditTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js.map new file mode 100644 index 00000000000000..2732e3a821f1d8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/auditTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auditTime.js","sourceRoot":"","sources":["../../../src/add/operator/auditTime.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js new file mode 100644 index 00000000000000..91a0b1040f525e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { buffer } from '../../operator/buffer'; +Observable.prototype.buffer = buffer; +//# sourceMappingURL=buffer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js.map new file mode 100644 index 00000000000000..d591739d78d94e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/buffer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../../src/add/operator/buffer.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js new file mode 100644 index 00000000000000..d8337523166825 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bufferCount } from '../../operator/bufferCount'; +Observable.prototype.bufferCount = bufferCount; +//# sourceMappingURL=bufferCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js.map new file mode 100644 index 00000000000000..a84b6dc3736439 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferCount.js","sourceRoot":"","sources":["../../../src/add/operator/bufferCount.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js new file mode 100644 index 00000000000000..6415f04e9d5f95 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bufferTime } from '../../operator/bufferTime'; +Observable.prototype.bufferTime = bufferTime; +//# sourceMappingURL=bufferTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js.map new file mode 100644 index 00000000000000..eeadbae65d2c88 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferTime.js","sourceRoot":"","sources":["../../../src/add/operator/bufferTime.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js new file mode 100644 index 00000000000000..5ff022c9406105 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bufferToggle } from '../../operator/bufferToggle'; +Observable.prototype.bufferToggle = bufferToggle; +//# sourceMappingURL=bufferToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js.map new file mode 100644 index 00000000000000..e9bc07ba8e5d1c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferToggle.js","sourceRoot":"","sources":["../../../src/add/operator/bufferToggle.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,EAAE,MAAM,6BAA6B;AAE1D,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js new file mode 100644 index 00000000000000..d54c9d92b9b31b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { bufferWhen } from '../../operator/bufferWhen'; +Observable.prototype.bufferWhen = bufferWhen; +//# sourceMappingURL=bufferWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js.map new file mode 100644 index 00000000000000..3f7f8406fc1838 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/bufferWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferWhen.js","sourceRoot":"","sources":["../../../src/add/operator/bufferWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js new file mode 100644 index 00000000000000..16fa04fa760ebf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { _catch } from '../../operator/catch'; +Observable.prototype.catch = _catch; +Observable.prototype._catch = _catch; +//# sourceMappingURL=catch.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js.map new file mode 100644 index 00000000000000..1c9bad85d6b5f5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/catch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"catch.js","sourceRoot":"","sources":["../../../src/add/operator/catch.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,sBAAsB;AAE7C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC;AACpC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js new file mode 100644 index 00000000000000..a04f4a0811272a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { combineAll } from '../../operator/combineAll'; +Observable.prototype.combineAll = combineAll; +//# sourceMappingURL=combineAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js.map new file mode 100644 index 00000000000000..9bb75f1709278f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineAll.js","sourceRoot":"","sources":["../../../src/add/operator/combineAll.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js new file mode 100644 index 00000000000000..a9442d9dabcce1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { combineLatest } from '../../operator/combineLatest'; +Observable.prototype.combineLatest = combineLatest; +//# sourceMappingURL=combineLatest.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js.map new file mode 100644 index 00000000000000..3806d7e1d8e578 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/combineLatest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineLatest.js","sourceRoot":"","sources":["../../../src/add/operator/combineLatest.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,aAAa,EAAE,MAAM,8BAA8B;AAE5D,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js new file mode 100644 index 00000000000000..5c2b6e4d55bbf9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { concat } from '../../operator/concat'; +Observable.prototype.concat = concat; +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js.map new file mode 100644 index 00000000000000..277d7d4931df2e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../src/add/operator/concat.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js new file mode 100644 index 00000000000000..5bfbce5817f0a5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { concatAll } from '../../operator/concatAll'; +Observable.prototype.concatAll = concatAll; +//# sourceMappingURL=concatAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js.map new file mode 100644 index 00000000000000..0539708f8423e6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatAll.js","sourceRoot":"","sources":["../../../src/add/operator/concatAll.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js new file mode 100644 index 00000000000000..297bc0739623ff --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { concatMap } from '../../operator/concatMap'; +Observable.prototype.concatMap = concatMap; +//# sourceMappingURL=concatMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js.map new file mode 100644 index 00000000000000..40af13feed935e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMap.js","sourceRoot":"","sources":["../../../src/add/operator/concatMap.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js new file mode 100644 index 00000000000000..c92f243d82eaeb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { concatMapTo } from '../../operator/concatMapTo'; +Observable.prototype.concatMapTo = concatMapTo; +//# sourceMappingURL=concatMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js.map new file mode 100644 index 00000000000000..83d634567b7f1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/concatMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMapTo.js","sourceRoot":"","sources":["../../../src/add/operator/concatMapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js new file mode 100644 index 00000000000000..1d353e819e13ce --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { count } from '../../operator/count'; +Observable.prototype.count = count; +//# sourceMappingURL=count.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js.map new file mode 100644 index 00000000000000..e21cbb81402024 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/count.js.map @@ -0,0 +1 @@ +{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/add/operator/count.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js new file mode 100644 index 00000000000000..fa7a57560175a1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { debounce } from '../../operator/debounce'; +Observable.prototype.debounce = debounce; +//# sourceMappingURL=debounce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js.map new file mode 100644 index 00000000000000..eb8da464bef3f6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/add/operator/debounce.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js new file mode 100644 index 00000000000000..946dad97ca9dfd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { debounceTime } from '../../operator/debounceTime'; +Observable.prototype.debounceTime = debounceTime; +//# sourceMappingURL=debounceTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js.map new file mode 100644 index 00000000000000..901a4aa830528d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/debounceTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounceTime.js","sourceRoot":"","sources":["../../../src/add/operator/debounceTime.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,EAAE,MAAM,6BAA6B;AAE1D,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js new file mode 100644 index 00000000000000..8b3a128b179acb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { defaultIfEmpty } from '../../operator/defaultIfEmpty'; +Observable.prototype.defaultIfEmpty = defaultIfEmpty; +//# sourceMappingURL=defaultIfEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js.map new file mode 100644 index 00000000000000..fc748ed8afa13b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/defaultIfEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaultIfEmpty.js","sourceRoot":"","sources":["../../../src/add/operator/defaultIfEmpty.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,cAAc,EAAE,MAAM,+BAA+B;AAE9D,UAAU,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js new file mode 100644 index 00000000000000..e135a67e590fb4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { delay } from '../../operator/delay'; +Observable.prototype.delay = delay; +//# sourceMappingURL=delay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js.map new file mode 100644 index 00000000000000..e591a59a0deb96 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../src/add/operator/delay.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js new file mode 100644 index 00000000000000..8cd8cbe0670ba3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { delayWhen } from '../../operator/delayWhen'; +Observable.prototype.delayWhen = delayWhen; +//# sourceMappingURL=delayWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js.map new file mode 100644 index 00000000000000..18ea4d73247e12 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/delayWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delayWhen.js","sourceRoot":"","sources":["../../../src/add/operator/delayWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js new file mode 100644 index 00000000000000..75ad79e97c1f21 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { dematerialize } from '../../operator/dematerialize'; +Observable.prototype.dematerialize = dematerialize; +//# sourceMappingURL=dematerialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js.map new file mode 100644 index 00000000000000..07eb8bc02ec799 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/dematerialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dematerialize.js","sourceRoot":"","sources":["../../../src/add/operator/dematerialize.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,aAAa,EAAE,MAAM,8BAA8B;AAE5D,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js new file mode 100644 index 00000000000000..f1ac2f3049a7a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { distinct } from '../../operator/distinct'; +Observable.prototype.distinct = distinct; +//# sourceMappingURL=distinct.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js.map new file mode 100644 index 00000000000000..fd1daac99b1269 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinct.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../../src/add/operator/distinct.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js new file mode 100644 index 00000000000000..617fe3aeb12690 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { distinctUntilChanged } from '../../operator/distinctUntilChanged'; +Observable.prototype.distinctUntilChanged = distinctUntilChanged; +//# sourceMappingURL=distinctUntilChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js.map new file mode 100644 index 00000000000000..c3154a856ae95d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilChanged.js","sourceRoot":"","sources":["../../../src/add/operator/distinctUntilChanged.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,oBAAoB,EAAE,MAAM,qCAAqC;AAE1E,UAAU,CAAC,SAAS,CAAC,oBAAoB,GAAG,oBAAoB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js new file mode 100644 index 00000000000000..dbb12a62afb5a6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { distinctUntilKeyChanged } from '../../operator/distinctUntilKeyChanged'; +Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged; +//# sourceMappingURL=distinctUntilKeyChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js.map new file mode 100644 index 00000000000000..12228a7916f54c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/distinctUntilKeyChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilKeyChanged.js","sourceRoot":"","sources":["../../../src/add/operator/distinctUntilKeyChanged.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,uBAAuB,EAAE,MAAM,wCAAwC;AAEhF,UAAU,CAAC,SAAS,CAAC,uBAAuB,GAAG,uBAAuB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js new file mode 100644 index 00000000000000..a4e526697ca896 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { _do } from '../../operator/do'; +Observable.prototype.do = _do; +Observable.prototype._do = _do; +//# sourceMappingURL=do.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js.map new file mode 100644 index 00000000000000..fe50770d9ca978 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/do.js.map @@ -0,0 +1 @@ +{"version":3,"file":"do.js","sourceRoot":"","sources":["../../../src/add/operator/do.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,EAAE,MAAM,mBAAmB;AAEvC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC;AAC9B,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js new file mode 100644 index 00000000000000..9995e376e294dc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { elementAt } from '../../operator/elementAt'; +Observable.prototype.elementAt = elementAt; +//# sourceMappingURL=elementAt.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js.map new file mode 100644 index 00000000000000..531f6cb8d02f4d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/elementAt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"elementAt.js","sourceRoot":"","sources":["../../../src/add/operator/elementAt.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js new file mode 100644 index 00000000000000..a5b95f89278de9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { every } from '../../operator/every'; +Observable.prototype.every = every; +//# sourceMappingURL=every.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js.map new file mode 100644 index 00000000000000..548ff57ec45d5d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/every.js.map @@ -0,0 +1 @@ +{"version":3,"file":"every.js","sourceRoot":"","sources":["../../../src/add/operator/every.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js new file mode 100644 index 00000000000000..29c03e13b63c3d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { exhaust } from '../../operator/exhaust'; +Observable.prototype.exhaust = exhaust; +//# sourceMappingURL=exhaust.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js.map new file mode 100644 index 00000000000000..fcd4564b4307f7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaust.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaust.js","sourceRoot":"","sources":["../../../src/add/operator/exhaust.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js new file mode 100644 index 00000000000000..988ed28b743f25 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { exhaustMap } from '../../operator/exhaustMap'; +Observable.prototype.exhaustMap = exhaustMap; +//# sourceMappingURL=exhaustMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js.map new file mode 100644 index 00000000000000..0268bb136e6b5e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/exhaustMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaustMap.js","sourceRoot":"","sources":["../../../src/add/operator/exhaustMap.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js new file mode 100644 index 00000000000000..31ee76e81a8651 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { expand } from '../../operator/expand'; +Observable.prototype.expand = expand; +//# sourceMappingURL=expand.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js.map new file mode 100644 index 00000000000000..6439cef5c0dba4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/expand.js.map @@ -0,0 +1 @@ +{"version":3,"file":"expand.js","sourceRoot":"","sources":["../../../src/add/operator/expand.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js new file mode 100644 index 00000000000000..09e71d31c144a3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { filter } from '../../operator/filter'; +Observable.prototype.filter = filter; +//# sourceMappingURL=filter.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js.map new file mode 100644 index 00000000000000..adcf585e24919e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/add/operator/filter.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js new file mode 100644 index 00000000000000..b37b947a929d22 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { _finally } from '../../operator/finally'; +Observable.prototype.finally = _finally; +Observable.prototype._finally = _finally; +//# sourceMappingURL=finally.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js.map new file mode 100644 index 00000000000000..b6a05142a1bf76 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/finally.js.map @@ -0,0 +1 @@ +{"version":3,"file":"finally.js","sourceRoot":"","sources":["../../../src/add/operator/finally.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,wBAAwB;AAEjD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;AACxC,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js new file mode 100644 index 00000000000000..41d5eab92392e7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { find } from '../../operator/find'; +Observable.prototype.find = find; +//# sourceMappingURL=find.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js.map new file mode 100644 index 00000000000000..643b75aae2c009 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/find.js.map @@ -0,0 +1 @@ +{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../src/add/operator/find.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js new file mode 100644 index 00000000000000..a985ad7c4e0cb8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { findIndex } from '../../operator/findIndex'; +Observable.prototype.findIndex = findIndex; +//# sourceMappingURL=findIndex.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js.map new file mode 100644 index 00000000000000..0f3c5e4a34e462 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/findIndex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"findIndex.js","sourceRoot":"","sources":["../../../src/add/operator/findIndex.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js new file mode 100644 index 00000000000000..d8cf6f91036ad2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { first } from '../../operator/first'; +Observable.prototype.first = first; +//# sourceMappingURL=first.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js.map new file mode 100644 index 00000000000000..2558027ce18e9d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/first.js.map @@ -0,0 +1 @@ +{"version":3,"file":"first.js","sourceRoot":"","sources":["../../../src/add/operator/first.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAQ,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js new file mode 100644 index 00000000000000..2ff1a19935a068 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { groupBy } from '../../operator/groupBy'; +Observable.prototype.groupBy = groupBy; +//# sourceMappingURL=groupBy.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js.map new file mode 100644 index 00000000000000..8fa90b35470bf4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/groupBy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../../src/add/operator/groupBy.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAQ,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js new file mode 100644 index 00000000000000..949c7ef5e5db55 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { ignoreElements } from '../../operator/ignoreElements'; +Observable.prototype.ignoreElements = ignoreElements; +//# sourceMappingURL=ignoreElements.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js.map new file mode 100644 index 00000000000000..bce942d1167070 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/ignoreElements.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ignoreElements.js","sourceRoot":"","sources":["../../../src/add/operator/ignoreElements.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,cAAc,EAAE,MAAM,+BAA+B;AAE9D,UAAU,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js new file mode 100644 index 00000000000000..83b57e56c8f621 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { isEmpty } from '../../operator/isEmpty'; +Observable.prototype.isEmpty = isEmpty; +//# sourceMappingURL=isEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js.map new file mode 100644 index 00000000000000..b1ba63bc57ad12 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/isEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isEmpty.js","sourceRoot":"","sources":["../../../src/add/operator/isEmpty.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js new file mode 100644 index 00000000000000..5df19c2657158f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { last } from '../../operator/last'; +Observable.prototype.last = last; +//# sourceMappingURL=last.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js.map new file mode 100644 index 00000000000000..0a3f7d273cb3c7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/last.js.map @@ -0,0 +1 @@ +{"version":3,"file":"last.js","sourceRoot":"","sources":["../../../src/add/operator/last.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAQ,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js new file mode 100644 index 00000000000000..fb390682390448 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { letProto } from '../../operator/let'; +Observable.prototype.let = letProto; +Observable.prototype.letBind = letProto; +//# sourceMappingURL=let.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js.map new file mode 100644 index 00000000000000..0255712d44b47a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/let.js.map @@ -0,0 +1 @@ +{"version":3,"file":"let.js","sourceRoot":"","sources":["../../../src/add/operator/let.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,oBAAoB;AAE7C,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC;AACpC,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js new file mode 100644 index 00000000000000..029a540a53aae7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { map } from '../../operator/map'; +Observable.prototype.map = map; +//# sourceMappingURL=map.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js.map new file mode 100644 index 00000000000000..c0272bea42da4e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/map.js.map @@ -0,0 +1 @@ +{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/add/operator/map.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,EAAE,MAAM,oBAAoB;AAExC,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js new file mode 100644 index 00000000000000..b4db0c8c13af0f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { mapTo } from '../../operator/mapTo'; +Observable.prototype.mapTo = mapTo; +//# sourceMappingURL=mapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js.map new file mode 100644 index 00000000000000..af985e505c7b19 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mapTo.js","sourceRoot":"","sources":["../../../src/add/operator/mapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js new file mode 100644 index 00000000000000..2fe29e321a6fef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { materialize } from '../../operator/materialize'; +Observable.prototype.materialize = materialize; +//# sourceMappingURL=materialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js.map new file mode 100644 index 00000000000000..cf39a9dcc14b3c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/materialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../../src/add/operator/materialize.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js new file mode 100644 index 00000000000000..20d430c30daa29 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { max } from '../../operator/max'; +Observable.prototype.max = max; +//# sourceMappingURL=max.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js.map new file mode 100644 index 00000000000000..53ff69d101fdbf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/max.js.map @@ -0,0 +1 @@ +{"version":3,"file":"max.js","sourceRoot":"","sources":["../../../src/add/operator/max.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,EAAE,MAAM,oBAAoB;AAExC,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js new file mode 100644 index 00000000000000..0c0389610f23ae --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { merge } from '../../operator/merge'; +Observable.prototype.merge = merge; +//# sourceMappingURL=merge.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js.map new file mode 100644 index 00000000000000..980477e70eb0b7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/merge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/add/operator/merge.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js new file mode 100644 index 00000000000000..3608a75dbd56b1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { mergeAll } from '../../operator/mergeAll'; +Observable.prototype.mergeAll = mergeAll; +//# sourceMappingURL=mergeAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js.map new file mode 100644 index 00000000000000..b73e09e0b85b5e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeAll.js","sourceRoot":"","sources":["../../../src/add/operator/mergeAll.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js new file mode 100644 index 00000000000000..081b529731bf02 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { mergeMap } from '../../operator/mergeMap'; +Observable.prototype.mergeMap = mergeMap; +Observable.prototype.flatMap = mergeMap; +//# sourceMappingURL=mergeMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js.map new file mode 100644 index 00000000000000..bbe2e51b82751a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMap.js","sourceRoot":"","sources":["../../../src/add/operator/mergeMap.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAQ,QAAQ,CAAC;AAC9C,UAAU,CAAC,SAAS,CAAC,OAAO,GAAQ,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js new file mode 100644 index 00000000000000..f01b21f25ed10f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { mergeMapTo } from '../../operator/mergeMapTo'; +Observable.prototype.flatMapTo = mergeMapTo; +Observable.prototype.mergeMapTo = mergeMapTo; +//# sourceMappingURL=mergeMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js.map new file mode 100644 index 00000000000000..964d9ec011b78d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMapTo.js","sourceRoot":"","sources":["../../../src/add/operator/mergeMapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAQ,UAAU,CAAC;AACjD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAQ,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js new file mode 100644 index 00000000000000..f815aa0956246a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { mergeScan } from '../../operator/mergeScan'; +Observable.prototype.mergeScan = mergeScan; +//# sourceMappingURL=mergeScan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js.map new file mode 100644 index 00000000000000..e2367429679996 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/mergeScan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeScan.js","sourceRoot":"","sources":["../../../src/add/operator/mergeScan.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js new file mode 100644 index 00000000000000..710fd78d76aeba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { min } from '../../operator/min'; +Observable.prototype.min = min; +//# sourceMappingURL=min.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js.map new file mode 100644 index 00000000000000..53a518e7b05a53 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"min.js","sourceRoot":"","sources":["../../../src/add/operator/min.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,GAAG,EAAE,MAAM,oBAAoB;AAExC,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js new file mode 100644 index 00000000000000..5073d13b94a370 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { multicast } from '../../operator/multicast'; +Observable.prototype.multicast = multicast; +//# sourceMappingURL=multicast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js.map new file mode 100644 index 00000000000000..86c681316fbf4d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/multicast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../../../src/add/operator/multicast.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAQ,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js new file mode 100644 index 00000000000000..244e0fad457fa1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { observeOn } from '../../operator/observeOn'; +Observable.prototype.observeOn = observeOn; +//# sourceMappingURL=observeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js.map new file mode 100644 index 00000000000000..50d3637a0c4b61 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/observeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observeOn.js","sourceRoot":"","sources":["../../../src/add/operator/observeOn.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js new file mode 100644 index 00000000000000..0bf1e0d9fca488 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { onErrorResumeNext } from '../../operator/onErrorResumeNext'; +Observable.prototype.onErrorResumeNext = onErrorResumeNext; +//# sourceMappingURL=onErrorResumeNext.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js.map new file mode 100644 index 00000000000000..afbddc9636aa3d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/onErrorResumeNext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../../src/add/operator/onErrorResumeNext.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,iBAAiB,EAAE,MAAM,kCAAkC;AAEpE,UAAU,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js new file mode 100644 index 00000000000000..05b9e9fdd14d27 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { pairwise } from '../../operator/pairwise'; +Observable.prototype.pairwise = pairwise; +//# sourceMappingURL=pairwise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js.map new file mode 100644 index 00000000000000..f1c7cbce6fe4e9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pairwise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pairwise.js","sourceRoot":"","sources":["../../../src/add/operator/pairwise.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js new file mode 100644 index 00000000000000..827741e7cd969f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { partition } from '../../operator/partition'; +Observable.prototype.partition = partition; +//# sourceMappingURL=partition.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js.map new file mode 100644 index 00000000000000..9b034d9193bfbc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/partition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"partition.js","sourceRoot":"","sources":["../../../src/add/operator/partition.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js new file mode 100644 index 00000000000000..3c93abec51a43f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { pluck } from '../../operator/pluck'; +Observable.prototype.pluck = pluck; +//# sourceMappingURL=pluck.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js.map new file mode 100644 index 00000000000000..f1e329367f9dad --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/pluck.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pluck.js","sourceRoot":"","sources":["../../../src/add/operator/pluck.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js new file mode 100644 index 00000000000000..d3a06e071a8f55 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { publish } from '../../operator/publish'; +Observable.prototype.publish = publish; +//# sourceMappingURL=publish.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js.map new file mode 100644 index 00000000000000..18753cb5fe2c9e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publish.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/add/operator/publish.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAQ,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js new file mode 100644 index 00000000000000..7555f4a3f3dd85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { publishBehavior } from '../../operator/publishBehavior'; +Observable.prototype.publishBehavior = publishBehavior; +//# sourceMappingURL=publishBehavior.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js.map new file mode 100644 index 00000000000000..2bb0c42aeb5491 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishBehavior.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishBehavior.js","sourceRoot":"","sources":["../../../src/add/operator/publishBehavior.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,eAAe,EAAE,MAAM,gCAAgC;AAEhE,UAAU,CAAC,SAAS,CAAC,eAAe,GAAG,eAAe,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js new file mode 100644 index 00000000000000..df2fd387788413 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { publishLast } from '../../operator/publishLast'; +Observable.prototype.publishLast = publishLast; +//# sourceMappingURL=publishLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js.map new file mode 100644 index 00000000000000..fd2cfbc8503ba7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishLast.js","sourceRoot":"","sources":["../../../src/add/operator/publishLast.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js new file mode 100644 index 00000000000000..8807d12fc3d232 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { publishReplay } from '../../operator/publishReplay'; +Observable.prototype.publishReplay = publishReplay; +//# sourceMappingURL=publishReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js.map new file mode 100644 index 00000000000000..68fc5011412d99 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/publishReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishReplay.js","sourceRoot":"","sources":["../../../src/add/operator/publishReplay.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,aAAa,EAAE,MAAM,8BAA8B;AAE5D,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js new file mode 100644 index 00000000000000..ec1984858245e7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { race } from '../../operator/race'; +Observable.prototype.race = race; +//# sourceMappingURL=race.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js.map new file mode 100644 index 00000000000000..e6cf7ea66a4af3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/race.js.map @@ -0,0 +1 @@ +{"version":3,"file":"race.js","sourceRoot":"","sources":["../../../src/add/operator/race.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js new file mode 100644 index 00000000000000..897690d3c4156d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { reduce } from '../../operator/reduce'; +Observable.prototype.reduce = reduce; +//# sourceMappingURL=reduce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js.map new file mode 100644 index 00000000000000..b6585dc66b888f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/reduce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../../src/add/operator/reduce.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js new file mode 100644 index 00000000000000..c0dbbb0c3c7643 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { repeat } from '../../operator/repeat'; +Observable.prototype.repeat = repeat; +//# sourceMappingURL=repeat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js.map new file mode 100644 index 00000000000000..bcdbe76d596ce1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../src/add/operator/repeat.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js new file mode 100644 index 00000000000000..6942635368ecec --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { repeatWhen } from '../../operator/repeatWhen'; +Observable.prototype.repeatWhen = repeatWhen; +//# sourceMappingURL=repeatWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js.map new file mode 100644 index 00000000000000..ed4e662be8bc33 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/repeatWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeatWhen.js","sourceRoot":"","sources":["../../../src/add/operator/repeatWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js new file mode 100644 index 00000000000000..13c4f11a1d9f1f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { retry } from '../../operator/retry'; +Observable.prototype.retry = retry; +//# sourceMappingURL=retry.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js.map new file mode 100644 index 00000000000000..7fcabbf1b8fcb0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/add/operator/retry.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js new file mode 100644 index 00000000000000..7fee774edba37f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { retryWhen } from '../../operator/retryWhen'; +Observable.prototype.retryWhen = retryWhen; +//# sourceMappingURL=retryWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js.map new file mode 100644 index 00000000000000..76e6ed74a4d390 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/retryWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retryWhen.js","sourceRoot":"","sources":["../../../src/add/operator/retryWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js new file mode 100644 index 00000000000000..ca78e32bd98a56 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { sample } from '../../operator/sample'; +Observable.prototype.sample = sample; +//# sourceMappingURL=sample.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js.map new file mode 100644 index 00000000000000..79e0a68ff41148 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sample.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../src/add/operator/sample.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js new file mode 100644 index 00000000000000..53abf883e473ed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { sampleTime } from '../../operator/sampleTime'; +Observable.prototype.sampleTime = sampleTime; +//# sourceMappingURL=sampleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js.map new file mode 100644 index 00000000000000..e102b73312c48f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sampleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sampleTime.js","sourceRoot":"","sources":["../../../src/add/operator/sampleTime.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js new file mode 100644 index 00000000000000..651e18c1b66d78 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { scan } from '../../operator/scan'; +Observable.prototype.scan = scan; +//# sourceMappingURL=scan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js.map new file mode 100644 index 00000000000000..7c1fe66dcb3ce5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/scan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/add/operator/scan.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OAEtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js new file mode 100644 index 00000000000000..2582117e35db5d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { sequenceEqual } from '../../operator/sequenceEqual'; +Observable.prototype.sequenceEqual = sequenceEqual; +//# sourceMappingURL=sequenceEqual.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js.map new file mode 100644 index 00000000000000..a3de597b84e502 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/sequenceEqual.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sequenceEqual.js","sourceRoot":"","sources":["../../../src/add/operator/sequenceEqual.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,aAAa,EAAE,MAAM,8BAA8B;AAE5D,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js new file mode 100644 index 00000000000000..83a639d9d4d926 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { share } from '../../operator/share'; +Observable.prototype.share = share; +//# sourceMappingURL=share.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js.map new file mode 100644 index 00000000000000..540b9ecb1e0a40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/share.js.map @@ -0,0 +1 @@ +{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/add/operator/share.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,KAAK,EAAE,MAAM,sBAAsB;AAE5C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js new file mode 100644 index 00000000000000..afa8c007f245bb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { shareReplay } from '../../operator/shareReplay'; +Observable.prototype.shareReplay = shareReplay; +//# sourceMappingURL=shareReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js.map new file mode 100644 index 00000000000000..fe8aadfb85683b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/shareReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shareReplay.js","sourceRoot":"","sources":["../../../src/add/operator/shareReplay.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js new file mode 100644 index 00000000000000..05eb212a6a9d23 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { single } from '../../operator/single'; +Observable.prototype.single = single; +//# sourceMappingURL=single.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js.map new file mode 100644 index 00000000000000..0218f7b322bf81 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/single.js.map @@ -0,0 +1 @@ +{"version":3,"file":"single.js","sourceRoot":"","sources":["../../../src/add/operator/single.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js new file mode 100644 index 00000000000000..47b3da95371c72 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { skip } from '../../operator/skip'; +Observable.prototype.skip = skip; +//# sourceMappingURL=skip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js.map new file mode 100644 index 00000000000000..8e76fde5fddd79 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skip.js","sourceRoot":"","sources":["../../../src/add/operator/skip.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js new file mode 100644 index 00000000000000..d634402ae768f4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { skipLast } from '../../operator/skipLast'; +Observable.prototype.skipLast = skipLast; +//# sourceMappingURL=skipLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js.map new file mode 100644 index 00000000000000..d654de9b8eeb7d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipLast.js","sourceRoot":"","sources":["../../../src/add/operator/skipLast.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js new file mode 100644 index 00000000000000..a40bf41bdf5b0e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { skipUntil } from '../../operator/skipUntil'; +Observable.prototype.skipUntil = skipUntil; +//# sourceMappingURL=skipUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js.map new file mode 100644 index 00000000000000..1241bcda95001a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipUntil.js","sourceRoot":"","sources":["../../../src/add/operator/skipUntil.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js new file mode 100644 index 00000000000000..7888238cb83b4f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { skipWhile } from '../../operator/skipWhile'; +Observable.prototype.skipWhile = skipWhile; +//# sourceMappingURL=skipWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js.map new file mode 100644 index 00000000000000..4df3927d4e34a4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/skipWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipWhile.js","sourceRoot":"","sources":["../../../src/add/operator/skipWhile.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js new file mode 100644 index 00000000000000..25fecefa862824 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { startWith } from '../../operator/startWith'; +Observable.prototype.startWith = startWith; +//# sourceMappingURL=startWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js.map new file mode 100644 index 00000000000000..fecea096bacdc9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/startWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"startWith.js","sourceRoot":"","sources":["../../../src/add/operator/startWith.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js new file mode 100644 index 00000000000000..0d8a75eb3b42a8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { subscribeOn } from '../../operator/subscribeOn'; +Observable.prototype.subscribeOn = subscribeOn; +//# sourceMappingURL=subscribeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js.map new file mode 100644 index 00000000000000..ef7b25bd9e29f7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/subscribeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"subscribeOn.js","sourceRoot":"","sources":["../../../src/add/operator/subscribeOn.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js new file mode 100644 index 00000000000000..02b02efc5a9661 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js @@ -0,0 +1,5 @@ +import { Observable } from '../../Observable'; +import { _switch } from '../../operator/switch'; +Observable.prototype.switch = _switch; +Observable.prototype._switch = _switch; +//# sourceMappingURL=switch.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js.map new file mode 100644 index 00000000000000..3d42bd6516eb08 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/add/operator/switch.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,uBAAuB;AAE/C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC;AACtC,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js new file mode 100644 index 00000000000000..7dc5024d4ad33e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { switchMap } from '../../operator/switchMap'; +Observable.prototype.switchMap = switchMap; +//# sourceMappingURL=switchMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js.map new file mode 100644 index 00000000000000..d738a94448e989 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../../../src/add/operator/switchMap.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js new file mode 100644 index 00000000000000..c4042be35f820b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { switchMapTo } from '../../operator/switchMapTo'; +Observable.prototype.switchMapTo = switchMapTo; +//# sourceMappingURL=switchMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js.map new file mode 100644 index 00000000000000..bd5af839c9a323 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/switchMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMapTo.js","sourceRoot":"","sources":["../../../src/add/operator/switchMapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js new file mode 100644 index 00000000000000..e8bac3ac6f8db2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { take } from '../../operator/take'; +Observable.prototype.take = take; +//# sourceMappingURL=take.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js.map new file mode 100644 index 00000000000000..b9236de7c996bb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/take.js.map @@ -0,0 +1 @@ +{"version":3,"file":"take.js","sourceRoot":"","sources":["../../../src/add/operator/take.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,IAAI,EAAE,MAAM,qBAAqB;AAE1C,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js new file mode 100644 index 00000000000000..6e6e5d9bcc96c1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { takeLast } from '../../operator/takeLast'; +Observable.prototype.takeLast = takeLast; +//# sourceMappingURL=takeLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js.map new file mode 100644 index 00000000000000..6aa0e22b1cd582 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeLast.js","sourceRoot":"","sources":["../../../src/add/operator/takeLast.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js new file mode 100644 index 00000000000000..a30c3d25011b41 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { takeUntil } from '../../operator/takeUntil'; +Observable.prototype.takeUntil = takeUntil; +//# sourceMappingURL=takeUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js.map new file mode 100644 index 00000000000000..d73bb558b0f75d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeUntil.js","sourceRoot":"","sources":["../../../src/add/operator/takeUntil.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js new file mode 100644 index 00000000000000..6fbd622ae01c40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { takeWhile } from '../../operator/takeWhile'; +Observable.prototype.takeWhile = takeWhile; +//# sourceMappingURL=takeWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js.map new file mode 100644 index 00000000000000..36c3f0a06228d2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/takeWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeWhile.js","sourceRoot":"","sources":["../../../src/add/operator/takeWhile.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js new file mode 100644 index 00000000000000..59854a01797e9a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { throttle } from '../../operator/throttle'; +Observable.prototype.throttle = throttle; +//# sourceMappingURL=throttle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js.map new file mode 100644 index 00000000000000..760b105b33ff0d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/add/operator/throttle.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,yBAAyB;AAElD,UAAU,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js new file mode 100644 index 00000000000000..857a4f170d85cc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { throttleTime } from '../../operator/throttleTime'; +Observable.prototype.throttleTime = throttleTime; +//# sourceMappingURL=throttleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js.map new file mode 100644 index 00000000000000..b94a392db912cd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/throttleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttleTime.js","sourceRoot":"","sources":["../../../src/add/operator/throttleTime.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,EAAE,MAAM,6BAA6B;AAE1D,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js new file mode 100644 index 00000000000000..421255ca9b65df --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { timeInterval } from '../../operator/timeInterval'; +Observable.prototype.timeInterval = timeInterval; +//# sourceMappingURL=timeInterval.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js.map new file mode 100644 index 00000000000000..cb3b85a61edaa9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeInterval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeInterval.js","sourceRoot":"","sources":["../../../src/add/operator/timeInterval.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,EAAE,MAAM,6BAA6B;AAE1D,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js new file mode 100644 index 00000000000000..93a9a35e74ac2f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { timeout } from '../../operator/timeout'; +Observable.prototype.timeout = timeout; +//# sourceMappingURL=timeout.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js.map new file mode 100644 index 00000000000000..19b0e0b2cb77ab --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/add/operator/timeout.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js new file mode 100644 index 00000000000000..67481560927b48 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { timeoutWith } from '../../operator/timeoutWith'; +Observable.prototype.timeoutWith = timeoutWith; +//# sourceMappingURL=timeoutWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js.map new file mode 100644 index 00000000000000..86ed14846c1b1f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timeoutWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeoutWith.js","sourceRoot":"","sources":["../../../src/add/operator/timeoutWith.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js new file mode 100644 index 00000000000000..bb9ad90e739027 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { timestamp } from '../../operator/timestamp'; +Observable.prototype.timestamp = timestamp; +//# sourceMappingURL=timestamp.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js.map new file mode 100644 index 00000000000000..9bc45bac618ac5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/timestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../src/add/operator/timestamp.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,SAAS,EAAE,MAAM,0BAA0B;AAEpD,UAAU,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js new file mode 100644 index 00000000000000..5a0b7600e3565d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { toArray } from '../../operator/toArray'; +Observable.prototype.toArray = toArray; +//# sourceMappingURL=toArray.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js.map new file mode 100644 index 00000000000000..bb19a203dff260 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toArray.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toArray.js","sourceRoot":"","sources":["../../../src/add/operator/toArray.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,OAAO,EAAE,MAAM,wBAAwB;AAEhD,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js new file mode 100644 index 00000000000000..5e65742c7c8222 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js @@ -0,0 +1,3 @@ +// HACK: does nothing, because `toPromise` now lives on the `Observable` itself. +// leaving this module here to prevent breakage. +//# sourceMappingURL=toPromise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js.map new file mode 100644 index 00000000000000..643c9061c687c3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/toPromise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toPromise.js","sourceRoot":"","sources":["../../../src/add/operator/toPromise.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gDAAgD"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js new file mode 100644 index 00000000000000..a45a78518c2ff2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { window } from '../../operator/window'; +Observable.prototype.window = window; +//# sourceMappingURL=window.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js.map new file mode 100644 index 00000000000000..80c1de64b7bcf1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/window.js.map @@ -0,0 +1 @@ +{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../src/add/operator/window.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js new file mode 100644 index 00000000000000..f4762e97f457ff --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { windowCount } from '../../operator/windowCount'; +Observable.prototype.windowCount = windowCount; +//# sourceMappingURL=windowCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js.map new file mode 100644 index 00000000000000..edc6be1ba6c8cf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowCount.js","sourceRoot":"","sources":["../../../src/add/operator/windowCount.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,WAAW,EAAE,MAAM,4BAA4B;AAExD,UAAU,CAAC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js new file mode 100644 index 00000000000000..d6aa1e2a5e4121 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { windowTime } from '../../operator/windowTime'; +Observable.prototype.windowTime = windowTime; +//# sourceMappingURL=windowTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js.map new file mode 100644 index 00000000000000..1c9fff6a0110e5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowTime.js","sourceRoot":"","sources":["../../../src/add/operator/windowTime.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js new file mode 100644 index 00000000000000..26532657b0d41d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { windowToggle } from '../../operator/windowToggle'; +Observable.prototype.windowToggle = windowToggle; +//# sourceMappingURL=windowToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js.map new file mode 100644 index 00000000000000..1cf1921f54d5d7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowToggle.js","sourceRoot":"","sources":["../../../src/add/operator/windowToggle.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,YAAY,EAAE,MAAM,6BAA6B;AAE1D,UAAU,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js new file mode 100644 index 00000000000000..77e02df0996dd6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { windowWhen } from '../../operator/windowWhen'; +Observable.prototype.windowWhen = windowWhen; +//# sourceMappingURL=windowWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js.map new file mode 100644 index 00000000000000..1f594206f80bf3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/windowWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowWhen.js","sourceRoot":"","sources":["../../../src/add/operator/windowWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,UAAU,EAAE,MAAM,2BAA2B;AAEtD,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js new file mode 100644 index 00000000000000..0d093b0925c39a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { withLatestFrom } from '../../operator/withLatestFrom'; +Observable.prototype.withLatestFrom = withLatestFrom; +//# sourceMappingURL=withLatestFrom.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js.map new file mode 100644 index 00000000000000..d3cc7a71d6ec1d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/withLatestFrom.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withLatestFrom.js","sourceRoot":"","sources":["../../../src/add/operator/withLatestFrom.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,cAAc,EAAE,MAAM,+BAA+B;AAE9D,UAAU,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js new file mode 100644 index 00000000000000..38b5e89fd7770f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { zipProto } from '../../operator/zip'; +Observable.prototype.zip = zipProto; +//# sourceMappingURL=zip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js.map new file mode 100644 index 00000000000000..cd953a9f38da49 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/add/operator/zip.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,QAAQ,EAAE,MAAM,oBAAoB;AAE7C,UAAU,CAAC,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js new file mode 100644 index 00000000000000..33d7970fc61f08 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js @@ -0,0 +1,4 @@ +import { Observable } from '../../Observable'; +import { zipAll } from '../../operator/zipAll'; +Observable.prototype.zipAll = zipAll; +//# sourceMappingURL=zipAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js.map new file mode 100644 index 00000000000000..71b067ccd9991c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/add/operator/zipAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zipAll.js","sourceRoot":"","sources":["../../../src/add/operator/zipAll.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,kBAAkB;OACtC,EAAE,MAAM,EAAE,MAAM,uBAAuB;AAE9C,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js new file mode 100644 index 00000000000000..eb519ecf694ec6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js @@ -0,0 +1 @@ +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js.map new file mode 100644 index 00000000000000..8fb5f7d1795b90 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js new file mode 100644 index 00000000000000..552a25bd971261 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js @@ -0,0 +1,61 @@ +import { Observable } from '../Observable'; +import { ScalarObservable } from './ScalarObservable'; +import { EmptyObservable } from './EmptyObservable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class ArrayLikeObservable extends Observable { + constructor(arrayLike, scheduler) { + super(); + this.arrayLike = arrayLike; + this.scheduler = scheduler; + if (!scheduler && arrayLike.length === 1) { + this._isScalar = true; + this.value = arrayLike[0]; + } + } + static create(arrayLike, scheduler) { + const length = arrayLike.length; + if (length === 0) { + return new EmptyObservable(); + } + else if (length === 1) { + return new ScalarObservable(arrayLike[0], scheduler); + } + else { + return new ArrayLikeObservable(arrayLike, scheduler); + } + } + static dispatch(state) { + const { arrayLike, index, length, subscriber } = state; + if (subscriber.closed) { + return; + } + if (index >= length) { + subscriber.complete(); + return; + } + subscriber.next(arrayLike[index]); + state.index = index + 1; + this.schedule(state); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + let index = 0; + const { arrayLike, scheduler } = this; + const length = arrayLike.length; + if (scheduler) { + return scheduler.schedule(ArrayLikeObservable.dispatch, 0, { + arrayLike, index, length, subscriber + }); + } + else { + for (let i = 0; i < length && !subscriber.closed; i++) { + subscriber.next(arrayLike[i]); + } + subscriber.complete(); + } + } +} +//# sourceMappingURL=ArrayLikeObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js.map new file mode 100644 index 00000000000000..f5ec01781974ab --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayLikeObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ArrayLikeObservable.js","sourceRoot":"","sources":["../../src/observable/ArrayLikeObservable.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,gBAAgB,EAAE,MAAM,oBAAoB;OAC9C,EAAE,eAAe,EAAE,MAAM,mBAAmB;AAInD;;;;GAIG;AACH,yCAA4C,UAAU;IAmCpD,YAAoB,SAAuB,EAAU,SAAsB;QACzE,OAAO,CAAC;QADU,cAAS,GAAT,SAAS,CAAc;QAAU,cAAS,GAAT,SAAS,CAAa;QAEzE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAvCD,OAAO,MAAM,CAAI,SAAuB,EAAE,SAAsB;QAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,eAAe,EAAK,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,gBAAgB,CAAS,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QACxB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAEvD,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;YACpB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAElC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAEjB,IAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAaD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAEhC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACzD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js new file mode 100644 index 00000000000000..321086ebca36e2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js @@ -0,0 +1,109 @@ +import { Observable } from '../Observable'; +import { ScalarObservable } from './ScalarObservable'; +import { EmptyObservable } from './EmptyObservable'; +import { isScheduler } from '../util/isScheduler'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class ArrayObservable extends Observable { + constructor(array, scheduler) { + super(); + this.array = array; + this.scheduler = scheduler; + if (!scheduler && array.length === 1) { + this._isScalar = true; + this.value = array[0]; + } + } + static create(array, scheduler) { + return new ArrayObservable(array, scheduler); + } + /** + * Creates an Observable that emits some values you specify as arguments, + * immediately one after the other, and then emits a complete notification. + * + * Emits the arguments you provide, then completes. + * + * + * + * + * This static operator is useful for creating a simple Observable that only + * emits the arguments given, and the complete notification thereafter. It can + * be used for composing with other Observables, such as with {@link concat}. + * By default, it uses a `null` IScheduler, which means the `next` + * notifications are sent synchronously, although with a different IScheduler + * it is possible to determine when those notifications will be delivered. + * + * @example Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second. + * var numbers = Rx.Observable.of(10, 20, 30); + * var letters = Rx.Observable.of('a', 'b', 'c'); + * var interval = Rx.Observable.interval(1000); + * var result = numbers.concat(letters).concat(interval); + * result.subscribe(x => console.log(x)); + * + * @see {@link create} + * @see {@link empty} + * @see {@link never} + * @see {@link throw} + * + * @param {...T} values Arguments that represent `next` values to be emitted. + * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling + * the emissions of the `next` notifications. + * @return {Observable} An Observable that emits each given input value. + * @static true + * @name of + * @owner Observable + */ + static of(...array) { + let scheduler = array[array.length - 1]; + if (isScheduler(scheduler)) { + array.pop(); + } + else { + scheduler = null; + } + const len = array.length; + if (len > 1) { + return new ArrayObservable(array, scheduler); + } + else if (len === 1) { + return new ScalarObservable(array[0], scheduler); + } + else { + return new EmptyObservable(scheduler); + } + } + static dispatch(state) { + const { array, index, count, subscriber } = state; + if (index >= count) { + subscriber.complete(); + return; + } + subscriber.next(array[index]); + if (subscriber.closed) { + return; + } + state.index = index + 1; + this.schedule(state); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + let index = 0; + const array = this.array; + const count = array.length; + const scheduler = this.scheduler; + if (scheduler) { + return scheduler.schedule(ArrayObservable.dispatch, 0, { + array, index, count, subscriber + }); + } + else { + for (let i = 0; i < count && !subscriber.closed; i++) { + subscriber.next(array[i]); + } + subscriber.complete(); + } + } +} +//# sourceMappingURL=ArrayObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js.map new file mode 100644 index 00000000000000..061e66eb2063dc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ArrayObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ArrayObservable.js","sourceRoot":"","sources":["../../src/observable/ArrayObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js new file mode 100644 index 00000000000000..0c2c5a065a5624 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js @@ -0,0 +1,242 @@ +import { Observable } from '../Observable'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { AsyncSubject } from '../AsyncSubject'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class BoundCallbackObservable extends Observable { + constructor(callbackFunc, selector, args, context, scheduler) { + super(); + this.callbackFunc = callbackFunc; + this.selector = selector; + this.args = args; + this.context = context; + this.scheduler = scheduler; + } + /* tslint:enable:max-line-length */ + /** + * Converts a callback API to a function that returns an Observable. + * + * Give it a function `f` of type `f(x, callback)` and + * it will return a function `g` that when called as `g(x)` will output an + * Observable. + * + * `bindCallback` is not an operator because its input and output are not + * Observables. The input is a function `func` with some parameters, the + * last parameter must be a callback function that `func` calls when it is + * done. + * + * The output of `bindCallback` is a function that takes the same parameters + * as `func`, except the last one (the callback). When the output function + * is called with arguments it will return an Observable. If function `func` + * calls its callback with one argument the Observable will emit that value. + * If on the other hand the callback is called with multiple values the resulting + * Observable will emit an array with said values as arguments. + * + * It is very important to remember that input function `func` is not called + * when the output function is, but rather when the Observable returned by the output + * function is subscribed. This means if `func` makes an AJAX request, that request + * will be made every time someone subscribes to the resulting Observable, but not before. + * + * Optionally, a selector function can be passed to `bindObservable`. The selector function + * takes the same arguments as the callback and returns the value that will be emitted by the Observable. + * Even though by default multiple arguments passed to callback appear in the stream as an array + * the selector function will be called with arguments directly, just as the callback would. + * This means you can imagine the default selector (when one is not provided explicitly) + * as a function that aggregates all its arguments into an array, or simply returns first argument + * if there is only one. + * + * The last optional parameter - {@link Scheduler} - can be used to control when the call + * to `func` happens after someone subscribes to Observable, as well as when results + * passed to callback will be emitted. By default, the subscription to an Observable calls `func` + * synchronously, but using `Scheduler.async` as the last parameter will defer the call to `func`, + * just like wrapping the call in `setTimeout` with a timeout of `0` would. If you use the async Scheduler + * and call `subscribe` on the output Observable all function calls that are currently executing + * will end before `func` is invoked. + * + * By default results passed to the callback are emitted immediately after `func` invokes the callback. + * In particular, if the callback is called synchronously the subscription of the resulting Observable + * will call the `next` function synchronously as well. If you want to defer that call, + * you may use `Scheduler.async` just as before. This means that by using `Scheduler.async` you can + * ensure that `func` always calls its callback asynchronously, thus avoiding terrifying Zalgo. + * + * Note that the Observable created by the output function will always emit a single value + * and then complete immediately. If `func` calls the callback multiple times, values from subsequent + * calls will not appear in the stream. If you need to listen for multiple calls, + * you probably want to use {@link fromEvent} or {@link fromEventPattern} instead. + * + * If `func` depends on some context (`this` property) and is not already bound the context of `func` + * will be the context that the output function has at call time. In particular, if `func` + * is called as a method of some objec and if `func` is not already bound, in order to preserve the context + * it is recommended that the context of the output function is set to that object as well. + * + * If the input function calls its callback in the "node style" (i.e. first argument to callback is + * optional error parameter signaling whether the call failed or not), {@link bindNodeCallback} + * provides convenient error handling and probably is a better choice. + * `bindCallback` will treat such functions the same as any other and error parameters + * (whether passed or not) will always be interpreted as regular callback argument. + * + * + * @example Convert jQuery's getJSON to an Observable API + * // Suppose we have jQuery.getJSON('/my/url', callback) + * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON); + * var result = getJSONAsObservable('/my/url'); + * result.subscribe(x => console.log(x), e => console.error(e)); + * + * + * @example Receive an array of arguments passed to a callback + * someFunction((a, b, c) => { + * console.log(a); // 5 + * console.log(b); // 'some string' + * console.log(c); // {someProperty: 'someValue'} + * }); + * + * const boundSomeFunction = Rx.Observable.bindCallback(someFunction); + * boundSomeFunction().subscribe(values => { + * console.log(values) // [5, 'some string', {someProperty: 'someValue'}] + * }); + * + * + * @example Use bindCallback with a selector function + * someFunction((a, b, c) => { + * console.log(a); // 'a' + * console.log(b); // 'b' + * console.log(c); // 'c' + * }); + * + * const boundSomeFunction = Rx.Observable.bindCallback(someFunction, (a, b, c) => a + b + c); + * boundSomeFunction().subscribe(value => { + * console.log(value) // 'abc' + * }); + * + * + * @example Compare behaviour with and without async Scheduler + * function iCallMyCallbackSynchronously(cb) { + * cb(); + * } + * + * const boundSyncFn = Rx.Observable.bindCallback(iCallMyCallbackSynchronously); + * const boundAsyncFn = Rx.Observable.bindCallback(iCallMyCallbackSynchronously, null, Rx.Scheduler.async); + * + * boundSyncFn().subscribe(() => console.log('I was sync!')); + * boundAsyncFn().subscribe(() => console.log('I was async!')); + * console.log('This happened...'); + * + * // Logs: + * // I was sync! + * // This happened... + * // I was async! + * + * + * @example Use bindCallback on an object method + * const boundMethod = Rx.Observable.bindCallback(someObject.methodWithCallback); + * boundMethod.call(someObject) // make sure methodWithCallback has access to someObject + * .subscribe(subscriber); + * + * + * @see {@link bindNodeCallback} + * @see {@link from} + * @see {@link fromPromise} + * + * @param {function} func A function with a callback as the last parameter. + * @param {function} [selector] A function which takes the arguments from the + * callback and maps them to a value that is emitted on the output Observable. + * @param {Scheduler} [scheduler] The scheduler on which to schedule the + * callbacks. + * @return {function(...params: *): Observable} A function which returns the + * Observable that delivers the same values the callback would deliver. + * @static true + * @name bindCallback + * @owner Observable + */ + static create(func, selector = undefined, scheduler) { + return function (...args) { + return new BoundCallbackObservable(func, selector, args, this, scheduler); + }; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const callbackFunc = this.callbackFunc; + const args = this.args; + const scheduler = this.scheduler; + let subject = this.subject; + if (!scheduler) { + if (!subject) { + subject = this.subject = new AsyncSubject(); + const handler = function handlerFn(...innerArgs) { + const source = handlerFn.source; + const { selector, subject } = source; + if (selector) { + const result = tryCatch(selector).apply(this, innerArgs); + if (result === errorObject) { + subject.error(errorObject.e); + } + else { + subject.next(result); + subject.complete(); + } + } + else { + subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs); + subject.complete(); + } + }; + // use named function instance to avoid closure. + handler.source = this; + const result = tryCatch(callbackFunc).apply(this.context, args.concat(handler)); + if (result === errorObject) { + subject.error(errorObject.e); + } + } + return subject.subscribe(subscriber); + } + else { + return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber, context: this.context }); + } + } + static dispatch(state) { + const self = this; + const { source, subscriber, context } = state; + const { callbackFunc, args, scheduler } = source; + let subject = source.subject; + if (!subject) { + subject = source.subject = new AsyncSubject(); + const handler = function handlerFn(...innerArgs) { + const source = handlerFn.source; + const { selector, subject } = source; + if (selector) { + const result = tryCatch(selector).apply(this, innerArgs); + if (result === errorObject) { + self.add(scheduler.schedule(dispatchError, 0, { err: errorObject.e, subject })); + } + else { + self.add(scheduler.schedule(dispatchNext, 0, { value: result, subject })); + } + } + else { + const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs; + self.add(scheduler.schedule(dispatchNext, 0, { value, subject })); + } + }; + // use named function to pass values in without closure + handler.source = source; + const result = tryCatch(callbackFunc).apply(context, args.concat(handler)); + if (result === errorObject) { + subject.error(errorObject.e); + } + } + self.add(subject.subscribe(subscriber)); + } +} +function dispatchNext(arg) { + const { value, subject } = arg; + subject.next(value); + subject.complete(); +} +function dispatchError(arg) { + const { err, subject } = arg; + subject.error(err); +} +//# sourceMappingURL=BoundCallbackObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js.map new file mode 100644 index 00000000000000..f9764c9726b756 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundCallbackObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BoundCallbackObservable.js","sourceRoot":"","sources":["../../src/observable/BoundCallbackObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,eAAe;OAInC,EAAE,QAAQ,EAAE,MAAM,kBAAkB;OACpC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,YAAY,EAAE,MAAM,iBAAiB;AAE9C;;;;GAIG;AACH,6CAAgD,UAAU;IAsKxD,YAAoB,YAAsB,EACtB,QAAkB,EAClB,IAAW,EACX,OAAY,EACZ,SAAqB;QACvC,OAAO,CAAC;QALU,iBAAY,GAAZ,YAAY,CAAU;QACtB,aAAQ,GAAR,QAAQ,CAAU;QAClB,SAAI,GAAJ,IAAI,CAAO;QACX,YAAO,GAAP,OAAO,CAAK;QACZ,cAAS,GAAT,SAAS,CAAY;IAEzC,CAAC;IAvJD,mCAAmC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsIG;IACH,OAAO,MAAM,CAAI,IAAc,EACd,QAAQ,GAAoB,SAAS,EACrC,SAAsB;QACrC,MAAM,CAAC,UAAoB,GAAG,IAAW;YACvC,MAAM,CAAC,IAAI,uBAAuB,CAAI,IAAI,EAAO,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACpF,CAAC,CAAC;IACJ,CAAC;IAUD,oCAAoC,CAAC,UAAU,CAAC,UAA+B;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE3B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACf,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAK,CAAC;gBAC/C,MAAM,OAAO,GAAG,mBAA8B,GAAG,SAAgB;oBAC/D,MAAM,MAAM,GAAS,SAAU,CAAC,MAAM,CAAC;oBACvC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;oBACrC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;wBACzD,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;4BAC3B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBACjC,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACrB,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrB,CAAC;oBACH,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;wBAC/D,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC,CAAC;gBACF,gDAAgD;gBAC1C,OAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChF,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAI,KAAsF;QACvG,MAAM,IAAI,GAAuB,IAAK,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC9C,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QACjD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE7B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,YAAY,EAAK,CAAC;YAEjD,MAAM,OAAO,GAAG,mBAA8B,GAAG,SAAgB;gBAC/D,MAAM,MAAM,GAAS,SAAU,CAAC,MAAM,CAAC;gBACvC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBACrC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBAClF,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;oBAC/D,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC;YACF,uDAAuD;YACjD,OAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YAE/B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3E,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAMD,sBAAyB,GAAuB;IAC9C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC;AAMD,uBAA0B,GAAwB;IAChD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js new file mode 100644 index 00000000000000..3ed8a5cc26228e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js @@ -0,0 +1,241 @@ +import { Observable } from '../Observable'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { AsyncSubject } from '../AsyncSubject'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class BoundNodeCallbackObservable extends Observable { + constructor(callbackFunc, selector, args, context, scheduler) { + super(); + this.callbackFunc = callbackFunc; + this.selector = selector; + this.args = args; + this.context = context; + this.scheduler = scheduler; + } + /* tslint:enable:max-line-length */ + /** + * Converts a Node.js-style callback API to a function that returns an + * Observable. + * + * It's just like {@link bindCallback}, but the + * callback is expected to be of type `callback(error, result)`. + * + * `bindNodeCallback` is not an operator because its input and output are not + * Observables. The input is a function `func` with some parameters, but the + * last parameter must be a callback function that `func` calls when it is + * done. The callback function is expected to follow Node.js conventions, + * where the first argument to the callback is an error object, signaling + * whether call was successful. If that object is passed to callback, it means + * something went wrong. + * + * The output of `bindNodeCallback` is a function that takes the same + * parameters as `func`, except the last one (the callback). When the output + * function is called with arguments, it will return an Observable. + * If `func` calls its callback with error parameter present, Observable will + * error with that value as well. If error parameter is not passed, Observable will emit + * second parameter. If there are more parameters (third and so on), + * Observable will emit an array with all arguments, except first error argument. + * + * Optionally `bindNodeCallback` accepts selector function, which allows you to + * make resulting Observable emit value computed by selector, instead of regular + * callback arguments. It works similarly to {@link bindCallback} selector, but + * Node.js-style error argument will never be passed to that function. + * + * Note that `func` will not be called at the same time output function is, + * but rather whenever resulting Observable is subscribed. By default call to + * `func` will happen synchronously after subscription, but that can be changed + * with proper {@link Scheduler} provided as optional third parameter. Scheduler + * can also control when values from callback will be emitted by Observable. + * To find out more, check out documentation for {@link bindCallback}, where + * Scheduler works exactly the same. + * + * As in {@link bindCallback}, context (`this` property) of input function will be set to context + * of returned function, when it is called. + * + * After Observable emits value, it will complete immediately. This means + * even if `func` calls callback again, values from second and consecutive + * calls will never appear on the stream. If you need to handle functions + * that call callbacks multiple times, check out {@link fromEvent} or + * {@link fromEventPattern} instead. + * + * Note that `bindNodeCallback` can be used in non-Node.js environments as well. + * "Node.js-style" callbacks are just a convention, so if you write for + * browsers or any other environment and API you use implements that callback style, + * `bindNodeCallback` can be safely used on that API functions as well. + * + * Remember that Error object passed to callback does not have to be an instance + * of JavaScript built-in `Error` object. In fact, it does not even have to an object. + * Error parameter of callback function is interpreted as "present", when value + * of that parameter is truthy. It could be, for example, non-zero number, non-empty + * string or boolean `true`. In all of these cases resulting Observable would error + * with that value. This means usually regular style callbacks will fail very often when + * `bindNodeCallback` is used. If your Observable errors much more often then you + * would expect, check if callback really is called in Node.js-style and, if not, + * switch to {@link bindCallback} instead. + * + * Note that even if error parameter is technically present in callback, but its value + * is falsy, it still won't appear in array emitted by Observable or in selector function. + * + * + * @example Read a file from the filesystem and get the data as an Observable + * import * as fs from 'fs'; + * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile); + * var result = readFileAsObservable('./roadNames.txt', 'utf8'); + * result.subscribe(x => console.log(x), e => console.error(e)); + * + * + * @example Use on function calling callback with multiple arguments + * someFunction((err, a, b) => { + * console.log(err); // null + * console.log(a); // 5 + * console.log(b); // "some string" + * }); + * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction); + * boundSomeFunction() + * .subscribe(value => { + * console.log(value); // [5, "some string"] + * }); + * + * + * @example Use with selector function + * someFunction((err, a, b) => { + * console.log(err); // undefined + * console.log(a); // "abc" + * console.log(b); // "DEF" + * }); + * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction, (a, b) => a + b); + * boundSomeFunction() + * .subscribe(value => { + * console.log(value); // "abcDEF" + * }); + * + * + * @example Use on function calling callback in regular style + * someFunction(a => { + * console.log(a); // 5 + * }); + * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction); + * boundSomeFunction() + * .subscribe( + * value => {} // never gets called + * err => console.log(err) // 5 + *); + * + * + * @see {@link bindCallback} + * @see {@link from} + * @see {@link fromPromise} + * + * @param {function} func Function with a Node.js-style callback as the last parameter. + * @param {function} [selector] A function which takes the arguments from the + * callback and maps those to a value to emit on the output Observable. + * @param {Scheduler} [scheduler] The scheduler on which to schedule the + * callbacks. + * @return {function(...params: *): Observable} A function which returns the + * Observable that delivers the same values the Node.js callback would + * deliver. + * @static true + * @name bindNodeCallback + * @owner Observable + */ + static create(func, selector = undefined, scheduler) { + return function (...args) { + return new BoundNodeCallbackObservable(func, selector, args, this, scheduler); + }; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const callbackFunc = this.callbackFunc; + const args = this.args; + const scheduler = this.scheduler; + let subject = this.subject; + if (!scheduler) { + if (!subject) { + subject = this.subject = new AsyncSubject(); + const handler = function handlerFn(...innerArgs) { + const source = handlerFn.source; + const { selector, subject } = source; + const err = innerArgs.shift(); + if (err) { + subject.error(err); + } + else if (selector) { + const result = tryCatch(selector).apply(this, innerArgs); + if (result === errorObject) { + subject.error(errorObject.e); + } + else { + subject.next(result); + subject.complete(); + } + } + else { + subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs); + subject.complete(); + } + }; + // use named function instance to avoid closure. + handler.source = this; + const result = tryCatch(callbackFunc).apply(this.context, args.concat(handler)); + if (result === errorObject) { + subject.error(errorObject.e); + } + } + return subject.subscribe(subscriber); + } + else { + return scheduler.schedule(dispatch, 0, { source: this, subscriber, context: this.context }); + } + } +} +function dispatch(state) { + const self = this; + const { source, subscriber, context } = state; + // XXX: cast to `any` to access to the private field in `source`. + const { callbackFunc, args, scheduler } = source; + let subject = source.subject; + if (!subject) { + subject = source.subject = new AsyncSubject(); + const handler = function handlerFn(...innerArgs) { + const source = handlerFn.source; + const { selector, subject } = source; + const err = innerArgs.shift(); + if (err) { + self.add(scheduler.schedule(dispatchError, 0, { err, subject })); + } + else if (selector) { + const result = tryCatch(selector).apply(this, innerArgs); + if (result === errorObject) { + self.add(scheduler.schedule(dispatchError, 0, { err: errorObject.e, subject })); + } + else { + self.add(scheduler.schedule(dispatchNext, 0, { value: result, subject })); + } + } + else { + const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs; + self.add(scheduler.schedule(dispatchNext, 0, { value, subject })); + } + }; + // use named function to pass values in without closure + handler.source = source; + const result = tryCatch(callbackFunc).apply(context, args.concat(handler)); + if (result === errorObject) { + self.add(scheduler.schedule(dispatchError, 0, { err: errorObject.e, subject })); + } + } + self.add(subject.subscribe(subscriber)); +} +function dispatchNext(arg) { + const { value, subject } = arg; + subject.next(value); + subject.complete(); +} +function dispatchError(arg) { + const { err, subject } = arg; + subject.error(err); +} +//# sourceMappingURL=BoundNodeCallbackObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js.map new file mode 100644 index 00000000000000..1ebd41c1ef5362 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/BoundNodeCallbackObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BoundNodeCallbackObservable.js","sourceRoot":"","sources":["../../src/observable/BoundNodeCallbackObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js new file mode 100644 index 00000000000000..9eba70d8bdecc3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js @@ -0,0 +1,157 @@ +import { SubjectSubscriber } from '../Subject'; +import { Observable } from '../Observable'; +import { Subscriber } from '../Subscriber'; +import { Subscription } from '../Subscription'; +import { refCount as higherOrderRefCount } from '../operators/refCount'; +/** + * @class ConnectableObservable + */ +export class ConnectableObservable extends Observable { + constructor(/** @deprecated internal use only */ source, + /** @deprecated internal use only */ subjectFactory) { + super(); + this.source = source; + this.subjectFactory = subjectFactory; + /** @deprecated internal use only */ this._refCount = 0; + this._isComplete = false; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + return this.getSubject().subscribe(subscriber); + } + /** @deprecated internal use only */ getSubject() { + const subject = this._subject; + if (!subject || subject.isStopped) { + this._subject = this.subjectFactory(); + } + return this._subject; + } + connect() { + let connection = this._connection; + if (!connection) { + this._isComplete = false; + connection = this._connection = new Subscription(); + connection.add(this.source + .subscribe(new ConnectableSubscriber(this.getSubject(), this))); + if (connection.closed) { + this._connection = null; + connection = Subscription.EMPTY; + } + else { + this._connection = connection; + } + } + return connection; + } + refCount() { + return higherOrderRefCount()(this); + } +} +const connectableProto = ConnectableObservable.prototype; +export const connectableObservableDescriptor = { + operator: { value: null }, + _refCount: { value: 0, writable: true }, + _subject: { value: null, writable: true }, + _connection: { value: null, writable: true }, + _subscribe: { value: connectableProto._subscribe }, + _isComplete: { value: connectableProto._isComplete, writable: true }, + getSubject: { value: connectableProto.getSubject }, + connect: { value: connectableProto.connect }, + refCount: { value: connectableProto.refCount } +}; +class ConnectableSubscriber extends SubjectSubscriber { + constructor(destination, connectable) { + super(destination); + this.connectable = connectable; + } + _error(err) { + this._unsubscribe(); + super._error(err); + } + _complete() { + this.connectable._isComplete = true; + this._unsubscribe(); + super._complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + const connectable = this.connectable; + if (connectable) { + this.connectable = null; + const connection = connectable._connection; + connectable._refCount = 0; + connectable._subject = null; + connectable._connection = null; + if (connection) { + connection.unsubscribe(); + } + } + } +} +class RefCountOperator { + constructor(connectable) { + this.connectable = connectable; + } + call(subscriber, source) { + const { connectable } = this; + connectable._refCount++; + const refCounter = new RefCountSubscriber(subscriber, connectable); + const subscription = source.subscribe(refCounter); + if (!refCounter.closed) { + refCounter.connection = connectable.connect(); + } + return subscription; + } +} +class RefCountSubscriber extends Subscriber { + constructor(destination, connectable) { + super(destination); + this.connectable = connectable; + } + /** @deprecated internal use only */ _unsubscribe() { + const { connectable } = this; + if (!connectable) { + this.connection = null; + return; + } + this.connectable = null; + const refCount = connectable._refCount; + if (refCount <= 0) { + this.connection = null; + return; + } + connectable._refCount = refCount - 1; + if (refCount > 1) { + this.connection = null; + return; + } + /// + // Compare the local RefCountSubscriber's connection Subscription to the + // connection Subscription on the shared ConnectableObservable. In cases + // where the ConnectableObservable source synchronously emits values, and + // the RefCountSubscriber's downstream Observers synchronously unsubscribe, + // execution continues to here before the RefCountOperator has a chance to + // supply the RefCountSubscriber with the shared connection Subscription. + // For example: + // ``` + // Observable.range(0, 10) + // .publish() + // .refCount() + // .take(5) + // .subscribe(); + // ``` + // In order to account for this case, RefCountSubscriber should only dispose + // the ConnectableObservable's shared connection Subscription if the + // connection Subscription exists, *and* either: + // a. RefCountSubscriber doesn't have a reference to the shared connection + // Subscription yet, or, + // b. RefCountSubscriber's connection Subscription reference is identical + // to the shared connection Subscription + /// + const { connection } = this; + const sharedConnection = connectable._connection; + this.connection = null; + if (sharedConnection && (!connection || sharedConnection === connection)) { + sharedConnection.unsubscribe(); + } + } +} +//# sourceMappingURL=ConnectableObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js.map new file mode 100644 index 00000000000000..a8931b1b3910a9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ConnectableObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ConnectableObservable.js","sourceRoot":"","sources":["../../src/observable/ConnectableObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js new file mode 100644 index 00000000000000..51009f38ff6ed4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js @@ -0,0 +1,88 @@ +import { Observable } from '../Observable'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class DeferObservable extends Observable { + constructor(observableFactory) { + super(); + this.observableFactory = observableFactory; + } + /** + * Creates an Observable that, on subscribe, calls an Observable factory to + * make an Observable for each new Observer. + * + * Creates the Observable lazily, that is, only when it + * is subscribed. + * + * + * + * + * `defer` allows you to create the Observable only when the Observer + * subscribes, and create a fresh Observable for each Observer. It waits until + * an Observer subscribes to it, and then it generates an Observable, + * typically with an Observable factory function. It does this afresh for each + * subscriber, so although each subscriber may think it is subscribing to the + * same Observable, in fact each subscriber gets its own individual + * Observable. + * + * @example Subscribe to either an Observable of clicks or an Observable of interval, at random + * var clicksOrInterval = Rx.Observable.defer(function () { + * if (Math.random() > 0.5) { + * return Rx.Observable.fromEvent(document, 'click'); + * } else { + * return Rx.Observable.interval(1000); + * } + * }); + * clicksOrInterval.subscribe(x => console.log(x)); + * + * // Results in the following behavior: + * // If the result of Math.random() is greater than 0.5 it will listen + * // for clicks anywhere on the "document"; when document is clicked it + * // will log a MouseEvent object to the console. If the result is less + * // than 0.5 it will emit ascending numbers, one every second(1000ms). + * + * @see {@link create} + * + * @param {function(): SubscribableOrPromise} observableFactory The Observable + * factory function to invoke for each Observer that subscribes to the output + * Observable. May also return a Promise, which will be converted on the fly + * to an Observable. + * @return {Observable} An Observable whose Observers' subscriptions trigger + * an invocation of the given Observable factory function. + * @static true + * @name defer + * @owner Observable + */ + static create(observableFactory) { + return new DeferObservable(observableFactory); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + return new DeferSubscriber(subscriber, this.observableFactory); + } +} +class DeferSubscriber extends OuterSubscriber { + constructor(destination, factory) { + super(destination); + this.factory = factory; + this.tryDefer(); + } + tryDefer() { + try { + this._callFactory(); + } + catch (err) { + this._error(err); + } + } + _callFactory() { + const result = this.factory(); + if (result) { + this.add(subscribeToResult(this, result)); + } + } +} +//# sourceMappingURL=DeferObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js.map new file mode 100644 index 00000000000000..83a5535809d056 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/DeferObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DeferObservable.js","sourceRoot":"","sources":["../../src/observable/DeferObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAyB,MAAM,eAAe;OAI1D,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;OACtD,EAAE,eAAe,EAAE,MAAM,oBAAoB;AACpD;;;;GAIG;AACH,qCAAwC,UAAU;IAoDhD,YAAoB,iBAAwD;QAC1E,OAAO,CAAC;QADU,sBAAiB,GAAjB,iBAAiB,CAAuC;IAE5E,CAAC;IApDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,OAAO,MAAM,CAAI,iBAAwD;QACvE,MAAM,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAMD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,8BAAiC,eAAe;IAC9C,YAAY,WAA0B,EAClB,OAA8C;QAChE,MAAM,WAAW,CAAC,CAAC;QADD,YAAO,GAAP,OAAO,CAAuC;QAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js new file mode 100644 index 00000000000000..2b5e4f79b5bae0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js @@ -0,0 +1,72 @@ +import { Observable } from '../Observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class EmptyObservable extends Observable { + constructor(scheduler) { + super(); + this.scheduler = scheduler; + } + /** + * Creates an Observable that emits no items to the Observer and immediately + * emits a complete notification. + * + * Just emits 'complete', and nothing else. + * + * + * + * + * This static operator is useful for creating a simple Observable that only + * emits the complete notification. It can be used for composing with other + * Observables, such as in a {@link mergeMap}. + * + * @example Emit the number 7, then complete. + * var result = Rx.Observable.empty().startWith(7); + * result.subscribe(x => console.log(x)); + * + * @example Map and flatten only odd numbers to the sequence 'a', 'b', 'c' + * var interval = Rx.Observable.interval(1000); + * var result = interval.mergeMap(x => + * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty() + * ); + * result.subscribe(x => console.log(x)); + * + * // Results in the following to the console: + * // x is equal to the count on the interval eg(0,1,2,3,...) + * // x will occur every 1000ms + * // if x % 2 is equal to 1 print abc + * // if x % 2 is not equal to 1 nothing will be output + * + * @see {@link create} + * @see {@link never} + * @see {@link of} + * @see {@link throw} + * + * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling + * the emission of the complete notification. + * @return {Observable} An "empty" Observable: emits only the complete + * notification. + * @static true + * @name empty + * @owner Observable + */ + static create(scheduler) { + return new EmptyObservable(scheduler); + } + static dispatch(arg) { + const { subscriber } = arg; + subscriber.complete(); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const scheduler = this.scheduler; + if (scheduler) { + return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber }); + } + else { + subscriber.complete(); + } + } +} +//# sourceMappingURL=EmptyObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js.map new file mode 100644 index 00000000000000..77f46ae5bf99ef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/EmptyObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EmptyObservable.js","sourceRoot":"","sources":["../../src/observable/EmptyObservable.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAO1C;;;;GAIG;AACH,qCAAwC,UAAU;IAsDhD,YAAoB,SAAsB;QACxC,OAAO,CAAC;QADU,cAAS,GAAT,SAAS,CAAa;IAE1C,CAAC;IAtDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,OAAO,MAAM,CAAI,SAAsB;QACrC,MAAM,CAAC,IAAI,eAAe,CAAI,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,QAAQ,CAAI,GAAmB;QACpC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAC3B,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAMD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QAEvE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js new file mode 100644 index 00000000000000..582bfe6e53ada7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js @@ -0,0 +1,74 @@ +import { Observable } from '../Observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class ErrorObservable extends Observable { + constructor(error, scheduler) { + super(); + this.error = error; + this.scheduler = scheduler; + } + /** + * Creates an Observable that emits no items to the Observer and immediately + * emits an error notification. + * + * Just emits 'error', and nothing else. + * + * + * + * + * This static operator is useful for creating a simple Observable that only + * emits the error notification. It can be used for composing with other + * Observables, such as in a {@link mergeMap}. + * + * @example Emit the number 7, then emit an error. + * var result = Rx.Observable.throw(new Error('oops!')).startWith(7); + * result.subscribe(x => console.log(x), e => console.error(e)); + * + * @example Map and flatten numbers to the sequence 'a', 'b', 'c', but throw an error for 13 + * var interval = Rx.Observable.interval(1000); + * var result = interval.mergeMap(x => + * x === 13 ? + * Rx.Observable.throw('Thirteens are bad') : + * Rx.Observable.of('a', 'b', 'c') + * ); + * result.subscribe(x => console.log(x), e => console.error(e)); + * + * @see {@link create} + * @see {@link empty} + * @see {@link never} + * @see {@link of} + * + * @param {any} error The particular Error to pass to the error notification. + * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling + * the emission of the error notification. + * @return {Observable} An error Observable: emits only the error notification + * using the given error argument. + * @static true + * @name throw + * @owner Observable + */ + static create(error, scheduler) { + return new ErrorObservable(error, scheduler); + } + static dispatch(arg) { + const { error, subscriber } = arg; + subscriber.error(error); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const error = this.error; + const scheduler = this.scheduler; + subscriber.syncErrorThrowable = true; + if (scheduler) { + return scheduler.schedule(ErrorObservable.dispatch, 0, { + error, subscriber + }); + } + else { + subscriber.error(error); + } + } +} +//# sourceMappingURL=ErrorObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js.map new file mode 100644 index 00000000000000..75bda8f864cf21 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ErrorObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ErrorObservable.js","sourceRoot":"","sources":["../../src/observable/ErrorObservable.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAS1C;;;;GAIG;AACH,qCAAqC,UAAU;IAmD7C,YAAmB,KAAU,EAAU,SAAsB;QAC3D,OAAO,CAAC;QADS,UAAK,GAAL,KAAK,CAAK;QAAU,cAAS,GAAT,SAAS,CAAa;IAE7D,CAAC;IAnDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,OAAO,MAAM,CAAC,KAAU,EAAE,SAAsB;QAC9C,MAAM,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC,GAAgB;QAC9B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAClC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAMD,oCAAoC,CAAC,UAAU,CAAC,UAA2B;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAErC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACrD,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js new file mode 100644 index 00000000000000..8d8f86ffa17494 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js @@ -0,0 +1,187 @@ +import { Observable } from '../Observable'; +import { EmptyObservable } from './EmptyObservable'; +import { isArray } from '../util/isArray'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class ForkJoinObservable extends Observable { + constructor(sources, resultSelector) { + super(); + this.sources = sources; + this.resultSelector = resultSelector; + } + /* tslint:enable:max-line-length */ + /** + * Joins last values emitted by passed Observables. + * + * Wait for Observables to complete and then combine last values they emitted. + * + * + * + * `forkJoin` is an operator that takes any number of Observables which can be passed either as an array + * or directly as arguments. If no input Observables are provided, resulting stream will complete + * immediately. + * + * `forkJoin` will wait for all passed Observables to complete and then it will emit an array with last + * values from corresponding Observables. So if you pass `n` Observables to the operator, resulting + * array will have `n` values, where first value is the last thing emitted by the first Observable, + * second value is the last thing emitted by the second Observable and so on. That means `forkJoin` will + * not emit more than once and it will complete after that. If you need to emit combined values not only + * at the end of lifecycle of passed Observables, but also throughout it, try out {@link combineLatest} + * or {@link zip} instead. + * + * In order for resulting array to have the same length as the number of input Observables, whenever any of + * that Observables completes without emitting any value, `forkJoin` will complete at that moment as well + * and it will not emit anything either, even if it already has some last values from other Observables. + * Conversely, if there is an Observable that never completes, `forkJoin` will never complete as well, + * unless at any point some other Observable completes without emitting value, which brings us back to + * the previous case. Overall, in order for `forkJoin` to emit a value, all Observables passed as arguments + * have to emit something at least once and complete. + * + * If any input Observable errors at some point, `forkJoin` will error as well and all other Observables + * will be immediately unsubscribed. + * + * Optionally `forkJoin` accepts project function, that will be called with values which normally + * would land in emitted array. Whatever is returned by project function, will appear in output + * Observable instead. This means that default project can be thought of as a function that takes + * all its arguments and puts them into an array. Note that project function will be called only + * when output Observable is supposed to emit a result. + * + * @example Use forkJoin with operator emitting immediately + * const observable = Rx.Observable.forkJoin( + * Rx.Observable.of(1, 2, 3, 4), + * Rx.Observable.of(5, 6, 7, 8) + * ); + * observable.subscribe( + * value => console.log(value), + * err => {}, + * () => console.log('This is how it ends!') + * ); + * + * // Logs: + * // [4, 8] + * // "This is how it ends!" + * + * + * @example Use forkJoin with operator emitting after some time + * const observable = Rx.Observable.forkJoin( + * Rx.Observable.interval(1000).take(3), // emit 0, 1, 2 every second and complete + * Rx.Observable.interval(500).take(4) // emit 0, 1, 2, 3 every half a second and complete + * ); + * observable.subscribe( + * value => console.log(value), + * err => {}, + * () => console.log('This is how it ends!') + * ); + * + * // Logs: + * // [2, 3] after 3 seconds + * // "This is how it ends!" immediately after + * + * + * @example Use forkJoin with project function + * const observable = Rx.Observable.forkJoin( + * Rx.Observable.interval(1000).take(3), // emit 0, 1, 2 every second and complete + * Rx.Observable.interval(500).take(4), // emit 0, 1, 2, 3 every half a second and complete + * (n, m) => n + m + * ); + * observable.subscribe( + * value => console.log(value), + * err => {}, + * () => console.log('This is how it ends!') + * ); + * + * // Logs: + * // 5 after 3 seconds + * // "This is how it ends!" immediately after + * + * @see {@link combineLatest} + * @see {@link zip} + * + * @param {...SubscribableOrPromise} sources Any number of Observables provided either as an array or as an arguments + * passed directly to the operator. + * @param {function} [project] Function that takes values emitted by input Observables and returns value + * that will appear in resulting Observable instead of default array. + * @return {Observable} Observable emitting either an array of last values emitted by passed Observables + * or value from project function. + * @static true + * @name forkJoin + * @owner Observable + */ + static create(...sources) { + if (sources === null || arguments.length === 0) { + return new EmptyObservable(); + } + let resultSelector = null; + if (typeof sources[sources.length - 1] === 'function') { + resultSelector = sources.pop(); + } + // if the first and only other argument besides the resultSelector is an array + // assume it's been called with `forkJoin([obs1, obs2, obs3], resultSelector)` + if (sources.length === 1 && isArray(sources[0])) { + sources = sources[0]; + } + if (sources.length === 0) { + return new EmptyObservable(); + } + return new ForkJoinObservable(sources, resultSelector); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + return new ForkJoinSubscriber(subscriber, this.sources, this.resultSelector); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class ForkJoinSubscriber extends OuterSubscriber { + constructor(destination, sources, resultSelector) { + super(destination); + this.sources = sources; + this.resultSelector = resultSelector; + this.completed = 0; + this.haveValues = 0; + const len = sources.length; + this.total = len; + this.values = new Array(len); + for (let i = 0; i < len; i++) { + const source = sources[i]; + const innerSubscription = subscribeToResult(this, source, null, i); + if (innerSubscription) { + innerSubscription.outerIndex = i; + this.add(innerSubscription); + } + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.values[outerIndex] = innerValue; + if (!innerSub._hasValue) { + innerSub._hasValue = true; + this.haveValues++; + } + } + notifyComplete(innerSub) { + const destination = this.destination; + const { haveValues, resultSelector, values } = this; + const len = values.length; + if (!innerSub._hasValue) { + destination.complete(); + return; + } + this.completed++; + if (this.completed !== len) { + return; + } + if (haveValues === len) { + const value = resultSelector ? resultSelector.apply(this, values) : values; + destination.next(value); + } + destination.complete(); + } +} +//# sourceMappingURL=ForkJoinObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js.map new file mode 100644 index 00000000000000..e3926d62c4e1ec --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ForkJoinObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ForkJoinObservable.js","sourceRoot":"","sources":["../../src/observable/ForkJoinObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js new file mode 100644 index 00000000000000..c3d5e0550a8c60 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js @@ -0,0 +1,203 @@ +import { Observable } from '../Observable'; +import { tryCatch } from '../util/tryCatch'; +import { isFunction } from '../util/isFunction'; +import { errorObject } from '../util/errorObject'; +import { Subscription } from '../Subscription'; +const toString = Object.prototype.toString; +function isNodeStyleEventEmitter(sourceObj) { + return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function'; +} +function isJQueryStyleEventEmitter(sourceObj) { + return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function'; +} +function isNodeList(sourceObj) { + return !!sourceObj && toString.call(sourceObj) === '[object NodeList]'; +} +function isHTMLCollection(sourceObj) { + return !!sourceObj && toString.call(sourceObj) === '[object HTMLCollection]'; +} +function isEventTarget(sourceObj) { + return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function'; +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class FromEventObservable extends Observable { + constructor(sourceObj, eventName, selector, options) { + super(); + this.sourceObj = sourceObj; + this.eventName = eventName; + this.selector = selector; + this.options = options; + } + /* tslint:enable:max-line-length */ + /** + * Creates an Observable that emits events of a specific type coming from the + * given event target. + * + * Creates an Observable from DOM events, or Node.js + * EventEmitter events or others. + * + * + * + * `fromEvent` accepts as a first argument event target, which is an object with methods + * for registering event handler functions. As a second argument it takes string that indicates + * type of event we want to listen for. `fromEvent` supports selected types of event targets, + * which are described in detail below. If your event target does not match any of the ones listed, + * you should use {@link fromEventPattern}, which can be used on arbitrary APIs. + * When it comes to APIs supported by `fromEvent`, their methods for adding and removing event + * handler functions have different names, but they all accept a string describing event type + * and function itself, which will be called whenever said event happens. + * + * Every time resulting Observable is subscribed, event handler function will be registered + * to event target on given event type. When that event fires, value + * passed as a first argument to registered function will be emitted by output Observable. + * When Observable is unsubscribed, function will be unregistered from event target. + * + * Note that if event target calls registered function with more than one argument, second + * and following arguments will not appear in resulting stream. In order to get access to them, + * you can pass to `fromEvent` optional project function, which will be called with all arguments + * passed to event handler. Output Observable will then emit value returned by project function, + * instead of the usual value. + * + * Remember that event targets listed below are checked via duck typing. It means that + * no matter what kind of object you have and no matter what environment you work in, + * you can safely use `fromEvent` on that object if it exposes described methods (provided + * of course they behave as was described above). So for example if Node.js library exposes + * event target which has the same method names as DOM EventTarget, `fromEvent` is still + * a good choice. + * + * If the API you use is more callback then event handler oriented (subscribed + * callback function fires only once and thus there is no need to manually + * unregister it), you should use {@link bindCallback} or {@link bindNodeCallback} + * instead. + * + * `fromEvent` supports following types of event targets: + * + * **DOM EventTarget** + * + * This is an object with `addEventListener` and `removeEventListener` methods. + * + * In the browser, `addEventListener` accepts - apart from event type string and event + * handler function arguments - optional third parameter, which is either an object or boolean, + * both used for additional configuration how and when passed function will be called. When + * `fromEvent` is used with event target of that type, you can provide this values + * as third parameter as well. + * + * **Node.js EventEmitter** + * + * An object with `addListener` and `removeListener` methods. + * + * **JQuery-style event target** + * + * An object with `on` and `off` methods + * + * **DOM NodeList** + * + * List of DOM Nodes, returned for example by `document.querySelectorAll` or `Node.childNodes`. + * + * Although this collection is not event target in itself, `fromEvent` will iterate over all Nodes + * it contains and install event handler function in every of them. When returned Observable + * is unsubscribed, function will be removed from all Nodes. + * + * **DOM HtmlCollection** + * + * Just as in case of NodeList it is a collection of DOM nodes. Here as well event handler function is + * installed and removed in each of elements. + * + * + * @example Emits clicks happening on the DOM document + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * clicks.subscribe(x => console.log(x)); + * + * // Results in: + * // MouseEvent object logged to console every time a click + * // occurs on the document. + * + * + * @example Use addEventListener with capture option + * var clicksInDocument = Rx.Observable.fromEvent(document, 'click', true); // note optional configuration parameter + * // which will be passed to addEventListener + * var clicksInDiv = Rx.Observable.fromEvent(someDivInDocument, 'click'); + * + * clicksInDocument.subscribe(() => console.log('document')); + * clicksInDiv.subscribe(() => console.log('div')); + * + * // By default events bubble UP in DOM tree, so normally + * // when we would click on div in document + * // "div" would be logged first and then "document". + * // Since we specified optional `capture` option, document + * // will catch event when it goes DOWN DOM tree, so console + * // will log "document" and then "div". + * + * @see {@link bindCallback} + * @see {@link bindNodeCallback} + * @see {@link fromEventPattern} + * + * @param {EventTargetLike} target The DOM EventTarget, Node.js + * EventEmitter, JQuery-like event target, NodeList or HTMLCollection to attach the event handler to. + * @param {string} eventName The event name of interest, being emitted by the + * `target`. + * @param {EventListenerOptions} [options] Options to pass through to addEventListener + * @param {SelectorMethodSignature} [selector] An optional function to + * post-process results. It takes the arguments from the event handler and + * should return a single value. + * @return {Observable} + * @static true + * @name fromEvent + * @owner Observable + */ + static create(target, eventName, options, selector) { + if (isFunction(options)) { + selector = options; + options = undefined; + } + return new FromEventObservable(target, eventName, selector, options); + } + static setupSubscription(sourceObj, eventName, handler, subscriber, options) { + let unsubscribe; + if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { + for (let i = 0, len = sourceObj.length; i < len; i++) { + FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options); + } + } + else if (isEventTarget(sourceObj)) { + const source = sourceObj; + sourceObj.addEventListener(eventName, handler, options); + unsubscribe = () => source.removeEventListener(eventName, handler, options); + } + else if (isJQueryStyleEventEmitter(sourceObj)) { + const source = sourceObj; + sourceObj.on(eventName, handler); + unsubscribe = () => source.off(eventName, handler); + } + else if (isNodeStyleEventEmitter(sourceObj)) { + const source = sourceObj; + sourceObj.addListener(eventName, handler); + unsubscribe = () => source.removeListener(eventName, handler); + } + else { + throw new TypeError('Invalid event target'); + } + subscriber.add(new Subscription(unsubscribe)); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const sourceObj = this.sourceObj; + const eventName = this.eventName; + const options = this.options; + const selector = this.selector; + let handler = selector ? (...args) => { + let result = tryCatch(selector)(...args); + if (result === errorObject) { + subscriber.error(errorObject.e); + } + else { + subscriber.next(result); + } + } : (e) => subscriber.next(e); + FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options); + } +} +//# sourceMappingURL=FromEventObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js.map new file mode 100644 index 00000000000000..6c88cee72b0f37 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FromEventObservable.js","sourceRoot":"","sources":["../../src/observable/FromEventObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js new file mode 100644 index 00000000000000..da0aa4e10f2048 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js @@ -0,0 +1,99 @@ +import { isFunction } from '../util/isFunction'; +import { Observable } from '../Observable'; +import { Subscription } from '../Subscription'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class FromEventPatternObservable extends Observable { + constructor(addHandler, removeHandler, selector) { + super(); + this.addHandler = addHandler; + this.removeHandler = removeHandler; + this.selector = selector; + } + /** + * Creates an Observable from an API based on addHandler/removeHandler + * functions. + * + * Converts any addHandler/removeHandler API to an + * Observable. + * + * + * + * Creates an Observable by using the `addHandler` and `removeHandler` + * functions to add and remove the handlers, with an optional selector + * function to project the event arguments to a result. The `addHandler` is + * called when the output Observable is subscribed, and `removeHandler` is + * called when the Subscription is unsubscribed. + * + * @example Emits clicks happening on the DOM document + * function addClickHandler(handler) { + * document.addEventListener('click', handler); + * } + * + * function removeClickHandler(handler) { + * document.removeEventListener('click', handler); + * } + * + * var clicks = Rx.Observable.fromEventPattern( + * addClickHandler, + * removeClickHandler + * ); + * clicks.subscribe(x => console.log(x)); + * + * @see {@link from} + * @see {@link fromEvent} + * + * @param {function(handler: Function): any} addHandler A function that takes + * a `handler` function as argument and attaches it somehow to the actual + * source of events. + * @param {function(handler: Function, signal?: any): void} [removeHandler] An optional function that + * takes a `handler` function as argument and removes it in case it was + * previously attached using `addHandler`. if addHandler returns signal to teardown when remove, + * removeHandler function will forward it. + * @param {function(...args: any): T} [selector] An optional function to + * post-process results. It takes the arguments from the event handler and + * should return a single value. + * @return {Observable} + * @static true + * @name fromEventPattern + * @owner Observable + */ + static create(addHandler, removeHandler, selector) { + return new FromEventPatternObservable(addHandler, removeHandler, selector); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const removeHandler = this.removeHandler; + const handler = !!this.selector ? (...args) => { + this._callSelector(subscriber, args); + } : function (e) { subscriber.next(e); }; + const retValue = this._callAddHandler(handler, subscriber); + if (!isFunction(removeHandler)) { + return; + } + subscriber.add(new Subscription(() => { + //TODO: determine whether or not to forward to error handler + removeHandler(handler, retValue); + })); + } + _callSelector(subscriber, args) { + try { + const result = this.selector(...args); + subscriber.next(result); + } + catch (e) { + subscriber.error(e); + } + } + _callAddHandler(handler, errorSubscriber) { + try { + return this.addHandler(handler) || null; + } + catch (e) { + errorSubscriber.error(e); + } + } +} +//# sourceMappingURL=FromEventPatternObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js.map new file mode 100644 index 00000000000000..ce7234bfc533f5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromEventPatternObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FromEventPatternObservable.js","sourceRoot":"","sources":["../../src/observable/FromEventPatternObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB;OACxC,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,YAAY,EAAE,MAAM,iBAAiB;AAG9C;;;;GAIG;AACH,gDAAmD,UAAU;IAwD3D,YAAoB,UAAsC,EACtC,aAAyD,EACzD,QAAqC;QACvD,OAAO,CAAC;QAHU,eAAU,GAAV,UAAU,CAA4B;QACtC,kBAAa,GAAb,aAAa,CAA4C;QACzD,aAAQ,GAAR,QAAQ,CAA6B;IAEzD,CAAC;IA1DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,OAAO,MAAM,CAAI,UAAsC,EACtC,aAAyD,EACzD,QAAqC;QACpD,MAAM,CAAC,IAAI,0BAA0B,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAQD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAgB;YACpD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,GAAG,UAAS,CAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE3D,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC;QACT,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;YAC9B,4DAA4D;YAC5D,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAE;QACpC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,UAAyB,EAAE,IAAgB;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CACA;QAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAyB,EAAE,eAA8B;QAC/E,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAC1C,CACA;QAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js new file mode 100644 index 00000000000000..85ebbbfb392e1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js @@ -0,0 +1,113 @@ +import { isArray } from '../util/isArray'; +import { isArrayLike } from '../util/isArrayLike'; +import { isPromise } from '../util/isPromise'; +import { PromiseObservable } from './PromiseObservable'; +import { IteratorObservable } from './IteratorObservable'; +import { ArrayObservable } from './ArrayObservable'; +import { ArrayLikeObservable } from './ArrayLikeObservable'; +import { iterator as Symbol_iterator } from '../symbol/iterator'; +import { Observable } from '../Observable'; +import { ObserveOnSubscriber } from '../operators/observeOn'; +import { observable as Symbol_observable } from '../symbol/observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class FromObservable extends Observable { + constructor(ish, scheduler) { + super(null); + this.ish = ish; + this.scheduler = scheduler; + } + /** + * Creates an Observable from an Array, an array-like object, a Promise, an + * iterable object, or an Observable-like object. + * + * Converts almost anything to an Observable. + * + * + * + * Convert various other objects and data types into Observables. `from` + * converts a Promise or an array-like or an + * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable) + * object into an Observable that emits the items in that promise or array or + * iterable. A String, in this context, is treated as an array of characters. + * Observable-like objects (contains a function named with the ES2015 Symbol + * for Observable) can also be converted through this operator. + * + * @example Converts an array to an Observable + * var array = [10, 20, 30]; + * var result = Rx.Observable.from(array); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // 10 20 30 + * + * @example Convert an infinite iterable (from a generator) to an Observable + * function* generateDoubles(seed) { + * var i = seed; + * while (true) { + * yield i; + * i = 2 * i; // double it + * } + * } + * + * var iterator = generateDoubles(3); + * var result = Rx.Observable.from(iterator).take(10); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // 3 6 12 24 48 96 192 384 768 1536 + * + * @see {@link create} + * @see {@link fromEvent} + * @see {@link fromEventPattern} + * @see {@link fromPromise} + * + * @param {ObservableInput} ish A subscribable object, a Promise, an + * Observable-like, an Array, an iterable or an array-like object to be + * converted. + * @param {Scheduler} [scheduler] The scheduler on which to schedule the + * emissions of values. + * @return {Observable} The Observable whose values are originally from the + * input object that was converted. + * @static true + * @name from + * @owner Observable + */ + static create(ish, scheduler) { + if (ish != null) { + if (typeof ish[Symbol_observable] === 'function') { + if (ish instanceof Observable && !scheduler) { + return ish; + } + return new FromObservable(ish, scheduler); + } + else if (isArray(ish)) { + return new ArrayObservable(ish, scheduler); + } + else if (isPromise(ish)) { + return new PromiseObservable(ish, scheduler); + } + else if (typeof ish[Symbol_iterator] === 'function' || typeof ish === 'string') { + return new IteratorObservable(ish, scheduler); + } + else if (isArrayLike(ish)) { + return new ArrayLikeObservable(ish, scheduler); + } + } + throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable'); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const ish = this.ish; + const scheduler = this.scheduler; + if (scheduler == null) { + return ish[Symbol_observable]().subscribe(subscriber); + } + else { + return ish[Symbol_observable]().subscribe(new ObserveOnSubscriber(subscriber, scheduler, 0)); + } + } +} +//# sourceMappingURL=FromObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js.map new file mode 100644 index 00000000000000..e3591ce1996fbd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/FromObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FromObservable.js","sourceRoot":"","sources":["../../src/observable/FromObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js new file mode 100644 index 00000000000000..0fc01a91960a1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js @@ -0,0 +1,126 @@ +import { Observable } from '../Observable'; +import { isScheduler } from '../util/isScheduler'; +const selfSelector = (value) => value; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class GenerateObservable extends Observable { + constructor(initialState, condition, iterate, resultSelector, scheduler) { + super(); + this.initialState = initialState; + this.condition = condition; + this.iterate = iterate; + this.resultSelector = resultSelector; + this.scheduler = scheduler; + } + static create(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) { + if (arguments.length == 1) { + return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler); + } + if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) { + return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable); + } + return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + let state = this.initialState; + if (this.scheduler) { + return this.scheduler.schedule(GenerateObservable.dispatch, 0, { + subscriber, + iterate: this.iterate, + condition: this.condition, + resultSelector: this.resultSelector, + state }); + } + const { condition, resultSelector, iterate } = this; + do { + if (condition) { + let conditionResult; + try { + conditionResult = condition(state); + } + catch (err) { + subscriber.error(err); + return; + } + if (!conditionResult) { + subscriber.complete(); + break; + } + } + let value; + try { + value = resultSelector(state); + } + catch (err) { + subscriber.error(err); + return; + } + subscriber.next(value); + if (subscriber.closed) { + break; + } + try { + state = iterate(state); + } + catch (err) { + subscriber.error(err); + return; + } + } while (true); + } + static dispatch(state) { + const { subscriber, condition } = state; + if (subscriber.closed) { + return; + } + if (state.needIterate) { + try { + state.state = state.iterate(state.state); + } + catch (err) { + subscriber.error(err); + return; + } + } + else { + state.needIterate = true; + } + if (condition) { + let conditionResult; + try { + conditionResult = condition(state.state); + } + catch (err) { + subscriber.error(err); + return; + } + if (!conditionResult) { + subscriber.complete(); + return; + } + if (subscriber.closed) { + return; + } + } + let value; + try { + value = state.resultSelector(state.state); + } + catch (err) { + subscriber.error(err); + return; + } + if (subscriber.closed) { + return; + } + subscriber.next(value); + if (subscriber.closed) { + return; + } + return this.schedule(state); + } +} +//# sourceMappingURL=GenerateObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js.map new file mode 100644 index 00000000000000..fc0d926af1561b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/GenerateObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GenerateObservable.js","sourceRoot":"","sources":["../../src/observable/GenerateObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js new file mode 100644 index 00000000000000..0afc876f607389 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js @@ -0,0 +1,50 @@ +import { Observable } from '../Observable'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class IfObservable extends Observable { + constructor(condition, thenSource, elseSource) { + super(); + this.condition = condition; + this.thenSource = thenSource; + this.elseSource = elseSource; + } + static create(condition, thenSource, elseSource) { + return new IfObservable(condition, thenSource, elseSource); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const { condition, thenSource, elseSource } = this; + return new IfSubscriber(subscriber, condition, thenSource, elseSource); + } +} +class IfSubscriber extends OuterSubscriber { + constructor(destination, condition, thenSource, elseSource) { + super(destination); + this.condition = condition; + this.thenSource = thenSource; + this.elseSource = elseSource; + this.tryIf(); + } + tryIf() { + const { condition, thenSource, elseSource } = this; + let result; + try { + result = condition(); + const source = result ? thenSource : elseSource; + if (source) { + this.add(subscribeToResult(this, source)); + } + else { + this._complete(); + } + } + catch (err) { + this._error(err); + } + } +} +//# sourceMappingURL=IfObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js.map new file mode 100644 index 00000000000000..9b94f0b404a535 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IfObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IfObservable.js","sourceRoot":"","sources":["../../src/observable/IfObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAyB,MAAM,eAAe;OAI1D,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;OACtD,EAAE,eAAe,EAAE,MAAM,oBAAoB;AACpD;;;;GAIG;AACH,kCAAwC,UAAU;IAQhD,YAAoB,SAA+B,EAC/B,UAA4C,EAC5C,UAA4C;QAC9D,OAAO,CAAC;QAHU,cAAS,GAAT,SAAS,CAAsB;QAC/B,eAAU,GAAV,UAAU,CAAkC;QAC5C,eAAU,GAAV,UAAU,CAAkC;IAEhE,CAAC;IAVD,OAAO,MAAM,CAAO,SAA+B,EAC/B,UAA4C,EAC5C,UAA4C;QAC9D,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAQD,oCAAoC,CAAC,UAAU,CAAC,UAA2B;QACzE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEnD,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,2BAAiC,eAAe;IAC9C,YAAY,WAA0B,EAClB,SAA+B,EAC/B,UAA4C,EAC5C,UAA4C;QAC9D,MAAM,WAAW,CAAC,CAAC;QAHD,cAAS,GAAT,SAAS,CAAsB;QAC/B,eAAU,GAAV,UAAU,CAAkC;QAC5C,eAAU,GAAV,UAAU,CAAkC;QAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK;QACX,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEnD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAY,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;YAEhD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;QACH,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js new file mode 100644 index 00000000000000..a53608dbcaf1bb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js @@ -0,0 +1,75 @@ +import { isNumeric } from '../util/isNumeric'; +import { Observable } from '../Observable'; +import { async } from '../scheduler/async'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class IntervalObservable extends Observable { + constructor(period = 0, scheduler = async) { + super(); + this.period = period; + this.scheduler = scheduler; + if (!isNumeric(period) || period < 0) { + this.period = 0; + } + if (!scheduler || typeof scheduler.schedule !== 'function') { + this.scheduler = async; + } + } + /** + * Creates an Observable that emits sequential numbers every specified + * interval of time, on a specified IScheduler. + * + * Emits incremental numbers periodically in time. + * + * + * + * + * `interval` returns an Observable that emits an infinite sequence of + * ascending integers, with a constant interval of time of your choosing + * between those emissions. The first emission is not sent immediately, but + * only after the first period has passed. By default, this operator uses the + * `async` IScheduler to provide a notion of time, but you may pass any + * IScheduler to it. + * + * @example Emits ascending numbers, one every second (1000ms) + * var numbers = Rx.Observable.interval(1000); + * numbers.subscribe(x => console.log(x)); + * + * @see {@link timer} + * @see {@link delay} + * + * @param {number} [period=0] The interval size in milliseconds (by default) + * or the time unit determined by the scheduler's clock. + * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling + * the emission of values, and providing a notion of "time". + * @return {Observable} An Observable that emits a sequential number each time + * interval. + * @static true + * @name interval + * @owner Observable + */ + static create(period = 0, scheduler = async) { + return new IntervalObservable(period, scheduler); + } + static dispatch(state) { + const { index, subscriber, period } = state; + subscriber.next(index); + if (subscriber.closed) { + return; + } + state.index += 1; + this.schedule(state, period); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const index = 0; + const period = this.period; + const scheduler = this.scheduler; + subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, { + index, subscriber, period + })); + } +} +//# sourceMappingURL=IntervalObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js.map new file mode 100644 index 00000000000000..898b42cdeb256a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IntervalObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IntervalObservable.js","sourceRoot":"","sources":["../../src/observable/IntervalObservable.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,EAAE,MAAM,mBAAmB;OAEtC,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,KAAK,EAAE,MAAM,oBAAoB;AAE1C;;;;GAIG;AACH,wCAAwC,UAAU;IAqDhD,YAAoB,MAAM,GAAW,CAAC,EAClB,SAAS,GAAe,KAAK;QAC/C,OAAO,CAAC;QAFU,WAAM,GAAN,MAAM,CAAY;QAClB,cAAS,GAAT,SAAS,CAAoB;QAE/C,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IA7DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,MAAM,CAAC,MAAM,GAAW,CAAC,EAClB,SAAS,GAAe,KAAK;QACzC,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QACxB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAE5C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAEV,IAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAaD,oCAAoC,CAAC,UAAU,CAAC,UAA8B;QAC5E,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE;YACrE,KAAK,EAAE,UAAU,EAAE,MAAM;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js new file mode 100644 index 00000000000000..e7955e51b1a533 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js @@ -0,0 +1,148 @@ +import { root } from '../util/root'; +import { Observable } from '../Observable'; +import { iterator as Symbol_iterator } from '../symbol/iterator'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class IteratorObservable extends Observable { + constructor(iterator, scheduler) { + super(); + this.scheduler = scheduler; + if (iterator == null) { + throw new Error('iterator cannot be null.'); + } + this.iterator = getIterator(iterator); + } + static create(iterator, scheduler) { + return new IteratorObservable(iterator, scheduler); + } + static dispatch(state) { + const { index, hasError, iterator, subscriber } = state; + if (hasError) { + subscriber.error(state.error); + return; + } + let result = iterator.next(); + if (result.done) { + subscriber.complete(); + return; + } + subscriber.next(result.value); + state.index = index + 1; + if (subscriber.closed) { + if (typeof iterator.return === 'function') { + iterator.return(); + } + return; + } + this.schedule(state); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + let index = 0; + const { iterator, scheduler } = this; + if (scheduler) { + return scheduler.schedule(IteratorObservable.dispatch, 0, { + index, iterator, subscriber + }); + } + else { + do { + let result = iterator.next(); + if (result.done) { + subscriber.complete(); + break; + } + else { + subscriber.next(result.value); + } + if (subscriber.closed) { + if (typeof iterator.return === 'function') { + iterator.return(); + } + break; + } + } while (true); + } + } +} +class StringIterator { + constructor(str, idx = 0, len = str.length) { + this.str = str; + this.idx = idx; + this.len = len; + } + [Symbol_iterator]() { return (this); } + next() { + return this.idx < this.len ? { + done: false, + value: this.str.charAt(this.idx++) + } : { + done: true, + value: undefined + }; + } +} +class ArrayIterator { + constructor(arr, idx = 0, len = toLength(arr)) { + this.arr = arr; + this.idx = idx; + this.len = len; + } + [Symbol_iterator]() { return this; } + next() { + return this.idx < this.len ? { + done: false, + value: this.arr[this.idx++] + } : { + done: true, + value: undefined + }; + } +} +function getIterator(obj) { + const i = obj[Symbol_iterator]; + if (!i && typeof obj === 'string') { + return new StringIterator(obj); + } + if (!i && obj.length !== undefined) { + return new ArrayIterator(obj); + } + if (!i) { + throw new TypeError('object is not iterable'); + } + return obj[Symbol_iterator](); +} +const maxSafeInteger = Math.pow(2, 53) - 1; +function toLength(o) { + let len = +o.length; + if (isNaN(len)) { + return 0; + } + if (len === 0 || !numberIsFinite(len)) { + return len; + } + len = sign(len) * Math.floor(Math.abs(len)); + if (len <= 0) { + return 0; + } + if (len > maxSafeInteger) { + return maxSafeInteger; + } + return len; +} +function numberIsFinite(value) { + return typeof value === 'number' && root.isFinite(value); +} +function sign(value) { + let valueAsNumber = +value; + if (valueAsNumber === 0) { + return valueAsNumber; + } + if (isNaN(valueAsNumber)) { + return valueAsNumber; + } + return valueAsNumber < 0 ? -1 : 1; +} +//# sourceMappingURL=IteratorObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js.map new file mode 100644 index 00000000000000..e48fa0d1d40528 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/IteratorObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IteratorObservable.js","sourceRoot":"","sources":["../../src/observable/IteratorObservable.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,cAAc;OAE5B,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,oBAAoB;AAIhE;;;;GAIG;AACH,wCAA2C,UAAU;IAmCnD,YAAY,QAAa,EAAU,SAAsB;QACvD,OAAO,CAAC;QADyB,cAAS,GAAT,SAAS,CAAa;QAGvD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAxCD,OAAO,MAAM,CAAI,QAAa,EAAE,SAAsB;QACpD,MAAM,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QAExB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAExD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC;QACT,CAAC;QAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAExB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;YACD,MAAM,CAAC;QACT,CAAC;QAEM,IAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAYD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QAEvE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAErC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACxD,KAAK,EAAE,QAAQ,EAAE,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC;gBACF,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACtB,KAAK,CAAC;gBACR,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;gBACD,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtB,EAAE,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;wBAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,CAAC;oBACD,KAAK,CAAC;gBACR,CAAC;YACH,CAAC,QAAQ,IAAI,EAAE;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED;IACE,YAAoB,GAAW,EACX,GAAG,GAAW,CAAC,EACf,GAAG,GAAW,GAAG,CAAC,MAAM;QAFxB,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAY;QACf,QAAG,GAAH,GAAG,CAAqB;IAC5C,CAAC;IACD,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG;YACzB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACrC,GAAG;YACA,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;IACE,YAAoB,GAAe,EACf,GAAG,GAAW,CAAC,EACf,GAAG,GAAW,QAAQ,CAAC,GAAG,CAAC;QAF3B,QAAG,GAAH,GAAG,CAAY;QACf,QAAG,GAAH,GAAG,CAAY;QACf,QAAG,GAAH,GAAG,CAAwB;IAC/C,CAAC;IACD,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,IAAI;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG;YACzB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC9B,GAAG;YACA,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qBAAqB,GAAQ;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACP,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAE3C,kBAAkB,CAAM;IACtB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACpB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,CAAC;IACb,CAAC;IACD,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC;IACf,CAAC;IACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACX,MAAM,CAAC,CAAC,CAAC;IACb,CAAC;IACD,EAAE,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAED,wBAAwB,KAAU;IAChC,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,cAAc,KAAU;IACtB,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC;IAC3B,EAAE,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC;IACvB,CAAC;IACD,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js new file mode 100644 index 00000000000000..d3b40d38311a95 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js @@ -0,0 +1,50 @@ +import { Observable } from '../Observable'; +import { noop } from '../util/noop'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class NeverObservable extends Observable { + constructor() { + super(); + } + /** + * Creates an Observable that emits no items to the Observer. + * + * An Observable that never emits anything. + * + * + * + * This static operator is useful for creating a simple Observable that emits + * neither values nor errors nor the completion notification. It can be used + * for testing purposes or for composing with other Observables. Please note + * that by never emitting a complete notification, this Observable keeps the + * subscription from being disposed automatically. Subscriptions need to be + * manually disposed. + * + * @example Emit the number 7, then never emit anything else (not even complete). + * function info() { + * console.log('Will not be called'); + * } + * var result = Rx.Observable.never().startWith(7); + * result.subscribe(x => console.log(x), info, info); + * + * @see {@link create} + * @see {@link empty} + * @see {@link of} + * @see {@link throw} + * + * @return {Observable} A "never" Observable: never emits anything. + * @static true + * @name never + * @owner Observable + */ + static create() { + return new NeverObservable(); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + noop(); + } +} +//# sourceMappingURL=NeverObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js.map new file mode 100644 index 00000000000000..0f35a33e802442 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/NeverObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NeverObservable.js","sourceRoot":"","sources":["../../src/observable/NeverObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,eAAe;OAEnC,EAAE,IAAI,EAAE,MAAM,cAAc;AAEnC;;;;GAIG;AACH,qCAAwC,UAAU;IAoChD;QACE,OAAO,CAAC;IACV,CAAC;IArCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,MAAM;QACX,MAAM,CAAC,IAAI,eAAe,EAAK,CAAC;IAClC,CAAC;IAMD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js new file mode 100644 index 00000000000000..74850518bee2fe --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js @@ -0,0 +1,76 @@ +import { Observable } from '../Observable'; +function dispatch(state) { + const { obj, keys, length, index, subscriber } = state; + if (index === length) { + subscriber.complete(); + return; + } + const key = keys[index]; + subscriber.next([key, obj[key]]); + state.index = index + 1; + this.schedule(state); +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class PairsObservable extends Observable { + constructor(obj, scheduler) { + super(); + this.obj = obj; + this.scheduler = scheduler; + this.keys = Object.keys(obj); + } + /** + * Convert an object into an observable sequence of [key, value] pairs + * using an optional IScheduler to enumerate the object. + * + * @example Converts a javascript object to an Observable + * var obj = { + * foo: 42, + * bar: 56, + * baz: 78 + * }; + * + * var source = Rx.Observable.pairs(obj); + * + * var subscription = source.subscribe( + * function (x) { + * console.log('Next: %s', x); + * }, + * function (err) { + * console.log('Error: %s', err); + * }, + * function () { + * console.log('Completed'); + * }); + * + * @param {Object} obj The object to inspect and turn into an + * Observable sequence. + * @param {Scheduler} [scheduler] An optional IScheduler to run the + * enumeration of the input sequence on. + * @returns {(Observable>)} An observable sequence of + * [key, value] pairs from the object. + */ + static create(obj, scheduler) { + return new PairsObservable(obj, scheduler); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const { keys, scheduler } = this; + const length = keys.length; + if (scheduler) { + return scheduler.schedule(dispatch, 0, { + obj: this.obj, keys, length, index: 0, subscriber + }); + } + else { + for (let idx = 0; idx < length; idx++) { + const key = keys[idx]; + subscriber.next([key, this.obj[key]]); + } + subscriber.complete(); + } + } +} +//# sourceMappingURL=PairsObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js.map new file mode 100644 index 00000000000000..eeaad78db668e9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PairsObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PairsObservable.js","sourceRoot":"","sources":["../../src/observable/PairsObservable.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAY1C,kBAAoD,KAAsB;IACxE,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,KAAK,CAAC;IAErD,EAAE,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;QACrB,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEjC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IAExB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,qCAAwC,UAAU;IAsChD,YAAoB,GAAW,EAAU,SAAsB;QAC7D,OAAO,CAAC;QADU,QAAG,GAAH,GAAG,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAa;QAE7D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAtCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,MAAM,CAAI,GAAW,EAAE,SAAsB;QAClD,MAAM,CAAC,IAAI,eAAe,CAAI,GAAG,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAOD,oCAAoC,CAAC,UAAU,CAAC,UAAyC;QACvF,MAAM,EAAC,IAAI,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACrC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU;aAClD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js new file mode 100644 index 00000000000000..7f79715c7c10ec --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js @@ -0,0 +1,111 @@ +import { root } from '../util/root'; +import { Observable } from '../Observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class PromiseObservable extends Observable { + constructor(promise, scheduler) { + super(); + this.promise = promise; + this.scheduler = scheduler; + } + /** + * Converts a Promise to an Observable. + * + * Returns an Observable that just emits the Promise's + * resolved value, then completes. + * + * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an + * Observable. If the Promise resolves with a value, the output Observable + * emits that resolved value as a `next`, and then completes. If the Promise + * is rejected, then the output Observable emits the corresponding Error. + * + * @example Convert the Promise returned by Fetch to an Observable + * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/')); + * result.subscribe(x => console.log(x), e => console.error(e)); + * + * @see {@link bindCallback} + * @see {@link from} + * + * @param {PromiseLike} promise The promise to be converted. + * @param {Scheduler} [scheduler] An optional IScheduler to use for scheduling + * the delivery of the resolved value (or the rejection). + * @return {Observable} An Observable which wraps the Promise. + * @static true + * @name fromPromise + * @owner Observable + */ + static create(promise, scheduler) { + return new PromiseObservable(promise, scheduler); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const promise = this.promise; + const scheduler = this.scheduler; + if (scheduler == null) { + if (this._isScalar) { + if (!subscriber.closed) { + subscriber.next(this.value); + subscriber.complete(); + } + } + else { + promise.then((value) => { + this.value = value; + this._isScalar = true; + if (!subscriber.closed) { + subscriber.next(value); + subscriber.complete(); + } + }, (err) => { + if (!subscriber.closed) { + subscriber.error(err); + } + }) + .then(null, err => { + // escape the promise trap, throw unhandled errors + root.setTimeout(() => { throw err; }); + }); + } + } + else { + if (this._isScalar) { + if (!subscriber.closed) { + return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber }); + } + } + else { + promise.then((value) => { + this.value = value; + this._isScalar = true; + if (!subscriber.closed) { + subscriber.add(scheduler.schedule(dispatchNext, 0, { value, subscriber })); + } + }, (err) => { + if (!subscriber.closed) { + subscriber.add(scheduler.schedule(dispatchError, 0, { err, subscriber })); + } + }) + .then(null, (err) => { + // escape the promise trap, throw unhandled errors + root.setTimeout(() => { throw err; }); + }); + } + } + } +} +function dispatchNext(arg) { + const { value, subscriber } = arg; + if (!subscriber.closed) { + subscriber.next(value); + subscriber.complete(); + } +} +function dispatchError(arg) { + const { err, subscriber } = arg; + if (!subscriber.closed) { + subscriber.error(err); + } +} +//# sourceMappingURL=PromiseObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js.map new file mode 100644 index 00000000000000..bc1ea69a39f6cf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/PromiseObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PromiseObservable.js","sourceRoot":"","sources":["../../src/observable/PromiseObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js new file mode 100644 index 00000000000000..a4f86fe116a08b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js @@ -0,0 +1,85 @@ +import { Observable } from '../Observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class RangeObservable extends Observable { + constructor(start, count, scheduler) { + super(); + this.start = start; + this._count = count; + this.scheduler = scheduler; + } + /** + * Creates an Observable that emits a sequence of numbers within a specified + * range. + * + * Emits a sequence of numbers in a range. + * + * + * + * `range` operator emits a range of sequential integers, in order, where you + * select the `start` of the range and its `length`. By default, uses no + * IScheduler and just delivers the notifications synchronously, but may use + * an optional IScheduler to regulate those deliveries. + * + * @example Emits the numbers 1 to 10 + * var numbers = Rx.Observable.range(1, 10); + * numbers.subscribe(x => console.log(x)); + * + * @see {@link timer} + * @see {@link interval} + * + * @param {number} [start=0] The value of the first integer in the sequence. + * @param {number} [count=0] The number of sequential integers to generate. + * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling + * the emissions of the notifications. + * @return {Observable} An Observable of numbers that emits a finite range of + * sequential integers. + * @static true + * @name range + * @owner Observable + */ + static create(start = 0, count = 0, scheduler) { + return new RangeObservable(start, count, scheduler); + } + static dispatch(state) { + const { start, index, count, subscriber } = state; + if (index >= count) { + subscriber.complete(); + return; + } + subscriber.next(start); + if (subscriber.closed) { + return; + } + state.index = index + 1; + state.start = start + 1; + this.schedule(state); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + let index = 0; + let start = this.start; + const count = this._count; + const scheduler = this.scheduler; + if (scheduler) { + return scheduler.schedule(RangeObservable.dispatch, 0, { + index, count, start, subscriber + }); + } + else { + do { + if (index++ >= count) { + subscriber.complete(); + break; + } + subscriber.next(start++); + if (subscriber.closed) { + break; + } + } while (true); + } + } +} +//# sourceMappingURL=RangeObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js.map new file mode 100644 index 00000000000000..55d8b37ca3b9f9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/RangeObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RangeObservable.js","sourceRoot":"","sources":["../../src/observable/RangeObservable.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;GAIG;AACH,qCAAqC,UAAU;IA+D7C,YAAY,KAAa,EACb,KAAa,EACb,SAAsB;QAChC,OAAO,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IApED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,MAAM,CAAC,KAAK,GAAW,CAAC,EACjB,KAAK,GAAW,CAAC,EACjB,SAAsB;QAClC,MAAM,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QAExB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAElD,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YACnB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAEjB,IAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAeD,oCAAoC,CAAC,UAAU,CAAC,UAA8B;QAC5E,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACrD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC;gBACF,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC;oBACrB,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACtB,KAAK,CAAC;gBACR,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtB,KAAK,CAAC;gBACR,CAAC;YACH,CAAC,QAAQ,IAAI,EAAE;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js new file mode 100644 index 00000000000000..c5400be993c90d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js @@ -0,0 +1,49 @@ +import { Observable } from '../Observable'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class ScalarObservable extends Observable { + constructor(value, scheduler) { + super(); + this.value = value; + this.scheduler = scheduler; + this._isScalar = true; + if (scheduler) { + this._isScalar = false; + } + } + static create(value, scheduler) { + return new ScalarObservable(value, scheduler); + } + static dispatch(state) { + const { done, value, subscriber } = state; + if (done) { + subscriber.complete(); + return; + } + subscriber.next(value); + if (subscriber.closed) { + return; + } + state.done = true; + this.schedule(state); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const value = this.value; + const scheduler = this.scheduler; + if (scheduler) { + return scheduler.schedule(ScalarObservable.dispatch, 0, { + done: false, value, subscriber + }); + } + else { + subscriber.next(value); + if (!subscriber.closed) { + subscriber.complete(); + } + } + } +} +//# sourceMappingURL=ScalarObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js.map new file mode 100644 index 00000000000000..f516eb9e9ab548 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/ScalarObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ScalarObservable.js","sourceRoot":"","sources":["../../src/observable/ScalarObservable.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;GAIG;AACH,sCAAyC,UAAU;IAwBjD,YAAmB,KAAQ,EAAU,SAAsB;QACzD,OAAO,CAAC;QADS,UAAK,GAAL,KAAK,CAAG;QAAU,cAAS,GAAT,SAAS,CAAa;QAF3D,cAAS,GAAY,IAAI,CAAC;QAIxB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IA5BD,OAAO,MAAM,CAAI,KAAQ,EAAE,SAAsB;QAC/C,MAAM,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QACxB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACX,IAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAWD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACtD,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js new file mode 100644 index 00000000000000..aa92dbffeaab04 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js @@ -0,0 +1,38 @@ +import { Observable } from '../Observable'; +import { asap } from '../scheduler/asap'; +import { isNumeric } from '../util/isNumeric'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class SubscribeOnObservable extends Observable { + constructor(source, delayTime = 0, scheduler = asap) { + super(); + this.source = source; + this.delayTime = delayTime; + this.scheduler = scheduler; + if (!isNumeric(delayTime) || delayTime < 0) { + this.delayTime = 0; + } + if (!scheduler || typeof scheduler.schedule !== 'function') { + this.scheduler = asap; + } + } + static create(source, delay = 0, scheduler = asap) { + return new SubscribeOnObservable(source, delay, scheduler); + } + static dispatch(arg) { + const { source, subscriber } = arg; + return this.add(source.subscribe(subscriber)); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const delay = this.delayTime; + const source = this.source; + const scheduler = this.scheduler; + return scheduler.schedule(SubscribeOnObservable.dispatch, delay, { + source, subscriber + }); + } +} +//# sourceMappingURL=SubscribeOnObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js.map new file mode 100644 index 00000000000000..05b8a3879d484d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/SubscribeOnObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SubscribeOnObservable.js","sourceRoot":"","sources":["../../src/observable/SubscribeOnObservable.ts"],"names":[],"mappings":"OAIO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,IAAI,EAAE,MAAM,mBAAmB;OACjC,EAAE,SAAS,EAAE,MAAM,mBAAmB;AAO7C;;;;GAIG;AACH,2CAA8C,UAAU;IAUtD,YAAmB,MAAqB,EACpB,SAAS,GAAW,CAAC,EACrB,SAAS,GAAe,IAAI;QAC9C,OAAO,CAAC;QAHS,WAAM,GAAN,MAAM,CAAe;QACpB,cAAS,GAAT,SAAS,CAAY;QACrB,cAAS,GAAT,SAAS,CAAmB;QAE9C,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAnBD,OAAO,MAAM,CAAI,MAAqB,EAAE,KAAK,GAAW,CAAC,EAAE,SAAS,GAAe,IAAI;QACrF,MAAM,CAAC,IAAI,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAqB,GAAmB;QACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC;IAcD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC/D,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js new file mode 100644 index 00000000000000..4a2e2403f11e23 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js @@ -0,0 +1,96 @@ +import { isNumeric } from '../util/isNumeric'; +import { Observable } from '../Observable'; +import { async } from '../scheduler/async'; +import { isScheduler } from '../util/isScheduler'; +import { isDate } from '../util/isDate'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class TimerObservable extends Observable { + constructor(dueTime = 0, period, scheduler) { + super(); + this.period = -1; + this.dueTime = 0; + if (isNumeric(period)) { + this.period = Number(period) < 1 && 1 || Number(period); + } + else if (isScheduler(period)) { + scheduler = period; + } + if (!isScheduler(scheduler)) { + scheduler = async; + } + this.scheduler = scheduler; + this.dueTime = isDate(dueTime) ? + (+dueTime - this.scheduler.now()) : + dueTime; + } + /** + * Creates an Observable that starts emitting after an `initialDelay` and + * emits ever increasing numbers after each `period` of time thereafter. + * + * Its like {@link interval}, but you can specify when + * should the emissions start. + * + * + * + * `timer` returns an Observable that emits an infinite sequence of ascending + * integers, with a constant interval of time, `period` of your choosing + * between those emissions. The first emission happens after the specified + * `initialDelay`. The initial delay may be a {@link Date}. By default, this + * operator uses the `async` IScheduler to provide a notion of time, but you + * may pass any IScheduler to it. If `period` is not specified, the output + * Observable emits only one value, `0`. Otherwise, it emits an infinite + * sequence. + * + * @example Emits ascending numbers, one every second (1000ms), starting after 3 seconds + * var numbers = Rx.Observable.timer(3000, 1000); + * numbers.subscribe(x => console.log(x)); + * + * @example Emits one number after five seconds + * var numbers = Rx.Observable.timer(5000); + * numbers.subscribe(x => console.log(x)); + * + * @see {@link interval} + * @see {@link delay} + * + * @param {number|Date} initialDelay The initial delay time to wait before + * emitting the first value of `0`. + * @param {number} [period] The period of time between emissions of the + * subsequent numbers. + * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling + * the emission of values, and providing a notion of "time". + * @return {Observable} An Observable that emits a `0` after the + * `initialDelay` and ever increasing numbers after each `period` of time + * thereafter. + * @static true + * @name timer + * @owner Observable + */ + static create(initialDelay = 0, period, scheduler) { + return new TimerObservable(initialDelay, period, scheduler); + } + static dispatch(state) { + const { index, period, subscriber } = state; + const action = this; + subscriber.next(index); + if (subscriber.closed) { + return; + } + else if (period === -1) { + return subscriber.complete(); + } + state.index = index + 1; + action.schedule(state, period); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const index = 0; + const { period, dueTime, scheduler } = this; + return scheduler.schedule(TimerObservable.dispatch, dueTime, { + index, period, subscriber + }); + } +} +//# sourceMappingURL=TimerObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js.map new file mode 100644 index 00000000000000..afafc848e43940 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/TimerObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TimerObservable.js","sourceRoot":"","sources":["../../src/observable/TimerObservable.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB;OAEtC,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,MAAM,EAAE,MAAM,gBAAgB;AAIvC;;;;GAIG;AACH,qCAAqC,UAAU;IAuE7C,YAAY,OAAO,GAAkB,CAAC,EAC1B,MAA4B,EAC5B,SAAsB;QAChC,OAAO,CAAC;QAPF,WAAM,GAAW,CAAC,CAAC,CAAC;QACpB,YAAO,GAAW,CAAC,CAAC;QAQ1B,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,SAAS,GAAgB,MAAM,CAAC;QAClC,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACvB,OAAQ,CAAC;IACvB,CAAC;IAxFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,OAAO,MAAM,CAAC,YAAY,GAAkB,CAAC,EAC/B,MAA4B,EAC5B,SAAsB;QAClC,MAAM,CAAC,IAAI,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,QAAQ,CAAC,KAAU;QAExB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAU,IAAK,CAAC;QAE5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC;QACT,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IA2BD,oCAAoC,CAAC,UAAU,CAAC,UAA8B;QAC5E,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE5C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE;YAC3D,KAAK,EAAE,MAAM,EAAE,UAAU;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js new file mode 100644 index 00000000000000..2774a393e375af --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js @@ -0,0 +1,50 @@ +import { Observable } from '../Observable'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class UsingObservable extends Observable { + constructor(resourceFactory, observableFactory) { + super(); + this.resourceFactory = resourceFactory; + this.observableFactory = observableFactory; + } + static create(resourceFactory, observableFactory) { + return new UsingObservable(resourceFactory, observableFactory); + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const { resourceFactory, observableFactory } = this; + let resource; + try { + resource = resourceFactory(); + return new UsingSubscriber(subscriber, resource, observableFactory); + } + catch (err) { + subscriber.error(err); + } + } +} +class UsingSubscriber extends OuterSubscriber { + constructor(destination, resource, observableFactory) { + super(destination); + this.resource = resource; + this.observableFactory = observableFactory; + destination.add(resource); + this.tryUse(); + } + tryUse() { + try { + const source = this.observableFactory.call(this, this.resource); + if (source) { + this.add(subscribeToResult(this, source)); + } + } + catch (err) { + this._error(err); + } + } +} +//# sourceMappingURL=UsingObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js.map new file mode 100644 index 00000000000000..a2e85df23e07eb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/UsingObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UsingObservable.js","sourceRoot":"","sources":["../../src/observable/UsingObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAyB,MAAM,eAAe;OAI1D,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;OACtD,EAAE,eAAe,EAAE,MAAM,oBAAoB;AACpD;;;;GAIG;AACH,qCAAwC,UAAU;IAOhD,YAAoB,eAAmD,EACnD,iBAAuF;QACzG,OAAO,CAAC;QAFU,oBAAe,GAAf,eAAe,CAAoC;QACnD,sBAAiB,GAAjB,iBAAiB,CAAsE;IAE3G,CAAC;IARD,OAAO,MAAM,CAAI,eAAmD,EACnD,iBAAuF;QACtG,MAAM,CAAC,IAAI,eAAe,CAAI,eAAe,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC;IAOD,oCAAoC,CAAC,UAAU,CAAC,UAAyB;QACvE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;QAEpD,IAAI,QAA+B,CAAC;QAEpC,IAAI,CAAC;YACH,QAAQ,GAA0B,eAAe,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACtE,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,8BAAiC,eAAe;IAC9C,YAAY,WAA0B,EAClB,QAA+B,EAC/B,iBAAuF;QACzG,MAAM,WAAW,CAAC,CAAC;QAFD,aAAQ,GAAR,QAAQ,CAAuB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAsE;QAEzG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js new file mode 100644 index 00000000000000..f8ff5c54564e59 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js @@ -0,0 +1,3 @@ +import { BoundCallbackObservable } from './BoundCallbackObservable'; +export const bindCallback = BoundCallbackObservable.create; +//# sourceMappingURL=bindCallback.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js.map new file mode 100644 index 00000000000000..c79cf61eeef2b4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindCallback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bindCallback.js","sourceRoot":"","sources":["../../src/observable/bindCallback.ts"],"names":[],"mappings":"OAAO,EAAG,uBAAuB,EAAG,MAAM,2BAA2B;AAErE,OAAO,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js new file mode 100644 index 00000000000000..028c7079f20358 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js @@ -0,0 +1,3 @@ +import { BoundNodeCallbackObservable } from './BoundNodeCallbackObservable'; +export const bindNodeCallback = BoundNodeCallbackObservable.create; +//# sourceMappingURL=bindNodeCallback.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js.map new file mode 100644 index 00000000000000..3ac4415fbc4068 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/bindNodeCallback.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bindNodeCallback.js","sourceRoot":"","sources":["../../src/observable/bindNodeCallback.ts"],"names":[],"mappings":"OAAO,EAAG,2BAA2B,EAAG,MAAM,+BAA+B;AAE7E,OAAO,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js new file mode 100644 index 00000000000000..0cf7cb2c271fff --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js @@ -0,0 +1,130 @@ +import { isScheduler } from '../util/isScheduler'; +import { isArray } from '../util/isArray'; +import { ArrayObservable } from './ArrayObservable'; +import { CombineLatestOperator } from '../operators/combineLatest'; +/* tslint:enable:max-line-length */ +/** + * Combines multiple Observables to create an Observable whose values are + * calculated from the latest values of each of its input Observables. + * + * Whenever any input Observable emits a value, it + * computes a formula using the latest values from all the inputs, then emits + * the output of that formula. + * + * + * + * `combineLatest` combines the values from all the Observables passed as + * arguments. This is done by subscribing to each Observable in order and, + * whenever any Observable emits, collecting an array of the most recent + * values from each Observable. So if you pass `n` Observables to operator, + * returned Observable will always emit an array of `n` values, in order + * corresponding to order of passed Observables (value from the first Observable + * on the first place and so on). + * + * Static version of `combineLatest` accepts either an array of Observables + * or each Observable can be put directly as an argument. Note that array of + * Observables is good choice, if you don't know beforehand how many Observables + * you will combine. Passing empty array will result in Observable that + * completes immediately. + * + * To ensure output array has always the same length, `combineLatest` will + * actually wait for all input Observables to emit at least once, + * before it starts emitting results. This means if some Observable emits + * values before other Observables started emitting, all that values but last + * will be lost. On the other hand, is some Observable does not emit value but + * completes, resulting Observable will complete at the same moment without + * emitting anything, since it will be now impossible to include value from + * completed Observable in resulting array. Also, if some input Observable does + * not emit any value and never completes, `combineLatest` will also never emit + * and never complete, since, again, it will wait for all streams to emit some + * value. + * + * If at least one Observable was passed to `combineLatest` and all passed Observables + * emitted something, resulting Observable will complete when all combined + * streams complete. So even if some Observable completes, result of + * `combineLatest` will still emit values when other Observables do. In case + * of completed Observable, its value from now on will always be the last + * emitted value. On the other hand, if any Observable errors, `combineLatest` + * will error immediately as well, and all other Observables will be unsubscribed. + * + * `combineLatest` accepts as optional parameter `project` function, which takes + * as arguments all values that would normally be emitted by resulting Observable. + * `project` can return any kind of value, which will be then emitted by Observable + * instead of default array. Note that `project` does not take as argument that array + * of values, but values themselves. That means default `project` can be imagined + * as function that takes all its arguments and puts them into an array. + * + * + * @example Combine two timer Observables + * const firstTimer = Rx.Observable.timer(0, 1000); // emit 0, 1, 2... after every second, starting from now + * const secondTimer = Rx.Observable.timer(500, 1000); // emit 0, 1, 2... after every second, starting 0,5s from now + * const combinedTimers = Rx.Observable.combineLatest(firstTimer, secondTimer); + * combinedTimers.subscribe(value => console.log(value)); + * // Logs + * // [0, 0] after 0.5s + * // [1, 0] after 1s + * // [1, 1] after 1.5s + * // [2, 1] after 2s + * + * + * @example Combine an array of Observables + * const observables = [1, 5, 10].map( + * n => Rx.Observable.of(n).delay(n * 1000).startWith(0) // emit 0 and then emit n after n seconds + * ); + * const combined = Rx.Observable.combineLatest(observables); + * combined.subscribe(value => console.log(value)); + * // Logs + * // [0, 0, 0] immediately + * // [1, 0, 0] after 1s + * // [1, 5, 0] after 5s + * // [1, 5, 10] after 10s + * + * + * @example Use project function to dynamically calculate the Body-Mass Index + * var weight = Rx.Observable.of(70, 72, 76, 79, 75); + * var height = Rx.Observable.of(1.76, 1.77, 1.78); + * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h)); + * bmi.subscribe(x => console.log('BMI is ' + x)); + * + * // With output to console: + * // BMI is 24.212293388429753 + * // BMI is 23.93948099205209 + * // BMI is 23.671253629592222 + * + * + * @see {@link combineAll} + * @see {@link merge} + * @see {@link withLatestFrom} + * + * @param {ObservableInput} observable1 An input Observable to combine with other Observables. + * @param {ObservableInput} observable2 An input Observable to combine with other Observables. + * More than one input Observables may be given as arguments + * or an array of Observables may be given as the first argument. + * @param {function} [project] An optional function to project the values from + * the combined latest values into a new value on the output Observable. + * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to + * each input Observable. + * @return {Observable} An Observable of projected values from the most recent + * values from each input Observable, or an array of the most recent values from + * each input Observable. + * @static true + * @name combineLatest + * @owner Observable + */ +export function combineLatest(...observables) { + let project = null; + let scheduler = null; + if (isScheduler(observables[observables.length - 1])) { + scheduler = observables.pop(); + } + if (typeof observables[observables.length - 1] === 'function') { + project = observables.pop(); + } + // if the first and only other argument besides the resultSelector is an array + // assume it's been called with `combineLatest([obs1, obs2, obs3], project)` + if (observables.length === 1 && isArray(observables[0])) { + observables = observables[0]; + } + return new ArrayObservable(observables, scheduler).lift(new CombineLatestOperator(project)); +} +//# sourceMappingURL=combineLatest.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js.map new file mode 100644 index 00000000000000..eecf845af33ae0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/combineLatest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineLatest.js","sourceRoot":"","sources":["../../src/observable/combineLatest.ts"],"names":[],"mappings":"OAEO,EAAG,WAAW,EAAG,MAAM,qBAAqB;OAC5C,EAAG,OAAO,EAAG,MAAM,iBAAiB;OACpC,EAAG,eAAe,EAAG,MAAM,mBAAmB;OAC9C,EAAG,qBAAqB,EAAG,MAAM,4BAA4B;AAuBpE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2GG;AACH,8BAAoC,GAAG,WAGwB;IAC7D,IAAI,OAAO,GAAkC,IAAI,CAAC;IAClD,IAAI,SAAS,GAAe,IAAI,CAAC;IAEjC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,SAAS,GAAe,WAAW,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,CAAC,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAiC,WAAW,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,WAAW,GAA2B,WAAW,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,IAAI,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAO,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js new file mode 100644 index 00000000000000..63759a61681f07 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js @@ -0,0 +1,105 @@ +import { isScheduler } from '../util/isScheduler'; +import { of } from './of'; +import { from } from './from'; +import { concatAll } from '../operators/concatAll'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which sequentially emits all values from given + * Observable and then moves on to the next. + * + * Concatenates multiple Observables together by + * sequentially emitting their values, one Observable after the other. + * + * + * + * `concat` joins multiple Observables together, by subscribing to them one at a time and + * merging their results into the output Observable. You can pass either an array of + * Observables, or put them directly as arguments. Passing an empty array will result + * in Observable that completes immediately. + * + * `concat` will subscribe to first input Observable and emit all its values, without + * changing or affecting them in any way. When that Observable completes, it will + * subscribe to then next Observable passed and, again, emit its values. This will be + * repeated, until the operator runs out of Observables. When last input Observable completes, + * `concat` will complete as well. At any given moment only one Observable passed to operator + * emits values. If you would like to emit values from passed Observables concurrently, check out + * {@link merge} instead, especially with optional `concurrent` parameter. As a matter of fact, + * `concat` is an equivalent of `merge` operator with `concurrent` parameter set to `1`. + * + * Note that if some input Observable never completes, `concat` will also never complete + * and Observables following the one that did not complete will never be subscribed. On the other + * hand, if some Observable simply completes immediately after it is subscribed, it will be + * invisible for `concat`, which will just move on to the next Observable. + * + * If any Observable in chain errors, instead of passing control to the next Observable, + * `concat` will error immediately as well. Observables that would be subscribed after + * the one that emitted error, never will. + * + * If you pass to `concat` the same Observable many times, its stream of values + * will be "replayed" on every subscription, which means you can repeat given Observable + * as many times as you like. If passing the same Observable to `concat` 1000 times becomes tedious, + * you can always use {@link repeat}. + * + * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10 + * var timer = Rx.Observable.interval(1000).take(4); + * var sequence = Rx.Observable.range(1, 10); + * var result = Rx.Observable.concat(timer, sequence); + * result.subscribe(x => console.log(x)); + * + * // results in: + * // 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10 + * + * + * @example Concatenate an array of 3 Observables + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var result = Rx.Observable.concat([timer1, timer2, timer3]); // note that array is passed + * result.subscribe(x => console.log(x)); + * + * // results in the following: + * // (Prints to console sequentially) + * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9 + * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5 + * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9 + * + * + * @example Concatenate the same Observable to repeat it + * const timer = Rx.Observable.interval(1000).take(2); + * + * Rx.Observable.concat(timer, timer) // concating the same Observable! + * .subscribe( + * value => console.log(value), + * err => {}, + * () => console.log('...and it is done!') + * ); + * + * // Logs: + * // 0 after 1s + * // 1 after 2s + * // 0 after 3s + * // 1 after 4s + * // "...and it is done!" also after 4s + * + * @see {@link concatAll} + * @see {@link concatMap} + * @see {@link concatMapTo} + * + * @param {ObservableInput} input1 An input Observable to concatenate with others. + * @param {ObservableInput} input2 An input Observable to concatenate with others. + * More than one input Observables may be given as argument. + * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each + * Observable subscription on. + * @return {Observable} All values of each passed Observable merged into a + * single Observable, in order, in serial fashion. + * @static true + * @name concat + * @owner Observable + */ +export function concat(...observables) { + if (observables.length === 1 || (observables.length === 2 && isScheduler(observables[1]))) { + return from(observables[0]); + } + return concatAll()(of(...observables)); +} +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js.map new file mode 100644 index 00000000000000..2e7926986f9fd0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../src/observable/concat.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,EAAE,EAAE,MAAM,MAAM;OAClB,EAAE,IAAI,EAAE,MAAM,QAAQ;OACtB,EAAE,SAAS,EAAE,MAAM,wBAAwB;AAWlD,mCAAmC;AACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,uBAA6B,GAAG,WAAqD;IACnF,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAkB,CAAC;AAC1D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js new file mode 100644 index 00000000000000..b209da87d5e56b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js @@ -0,0 +1,3 @@ +import { DeferObservable } from './DeferObservable'; +export const defer = DeferObservable.create; +//# sourceMappingURL=defer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js.map new file mode 100644 index 00000000000000..8329a27337e12b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/defer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defer.js","sourceRoot":"","sources":["../../src/observable/defer.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js new file mode 100644 index 00000000000000..3e16e971f9f909 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js @@ -0,0 +1,399 @@ +import { root } from '../../util/root'; +import { tryCatch } from '../../util/tryCatch'; +import { errorObject } from '../../util/errorObject'; +import { Observable } from '../../Observable'; +import { Subscriber } from '../../Subscriber'; +import { map } from '../../operators/map'; +function getCORSRequest() { + if (root.XMLHttpRequest) { + return new root.XMLHttpRequest(); + } + else if (!!root.XDomainRequest) { + return new root.XDomainRequest(); + } + else { + throw new Error('CORS is not supported by your browser'); + } +} +function getXMLHttpRequest() { + if (root.XMLHttpRequest) { + return new root.XMLHttpRequest(); + } + else { + let progId; + try { + const progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0']; + for (let i = 0; i < 3; i++) { + try { + progId = progIds[i]; + if (new root.ActiveXObject(progId)) { + break; + } + } + catch (e) { + } + } + return new root.ActiveXObject(progId); + } + catch (e) { + throw new Error('XMLHttpRequest is not supported by your browser'); + } + } +} +export function ajaxGet(url, headers = null) { + return new AjaxObservable({ method: 'GET', url, headers }); +} +; +export function ajaxPost(url, body, headers) { + return new AjaxObservable({ method: 'POST', url, body, headers }); +} +; +export function ajaxDelete(url, headers) { + return new AjaxObservable({ method: 'DELETE', url, headers }); +} +; +export function ajaxPut(url, body, headers) { + return new AjaxObservable({ method: 'PUT', url, body, headers }); +} +; +export function ajaxPatch(url, body, headers) { + return new AjaxObservable({ method: 'PATCH', url, body, headers }); +} +; +const mapResponse = map((x, index) => x.response); +export function ajaxGetJSON(url, headers) { + return mapResponse(new AjaxObservable({ + method: 'GET', + url, + responseType: 'json', + headers + })); +} +; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class AjaxObservable extends Observable { + constructor(urlOrRequest) { + super(); + const request = { + async: true, + createXHR: function () { + return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest(); + }, + crossDomain: false, + withCredentials: false, + headers: {}, + method: 'GET', + responseType: 'json', + timeout: 0 + }; + if (typeof urlOrRequest === 'string') { + request.url = urlOrRequest; + } + else { + for (const prop in urlOrRequest) { + if (urlOrRequest.hasOwnProperty(prop)) { + request[prop] = urlOrRequest[prop]; + } + } + } + this.request = request; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + return new AjaxSubscriber(subscriber, this.request); + } +} +/** + * Creates an observable for an Ajax request with either a request object with + * url, headers, etc or a string for a URL. + * + * @example + * source = Rx.Observable.ajax('/products'); + * source = Rx.Observable.ajax({ url: 'products', method: 'GET' }); + * + * @param {string|Object} request Can be one of the following: + * A string of the URL to make the Ajax call. + * An object with the following properties + * - url: URL of the request + * - body: The body of the request + * - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE + * - async: Whether the request is async + * - headers: Optional headers + * - crossDomain: true if a cross domain request, else false + * - createXHR: a function to override if you need to use an alternate + * XMLHttpRequest implementation. + * - resultSelector: a function to use to alter the output value type of + * the Observable. Gets {@link AjaxResponse} as an argument. + * @return {Observable} An observable sequence containing the XMLHttpRequest. + * @static true + * @name ajax + * @owner Observable +*/ +AjaxObservable.create = (() => { + const create = (urlOrRequest) => { + return new AjaxObservable(urlOrRequest); + }; + create.get = ajaxGet; + create.post = ajaxPost; + create.delete = ajaxDelete; + create.put = ajaxPut; + create.patch = ajaxPatch; + create.getJSON = ajaxGetJSON; + return create; +})(); +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class AjaxSubscriber extends Subscriber { + constructor(destination, request) { + super(destination); + this.request = request; + this.done = false; + const headers = request.headers = request.headers || {}; + // force CORS if requested + if (!request.crossDomain && !headers['X-Requested-With']) { + headers['X-Requested-With'] = 'XMLHttpRequest'; + } + // ensure content type is set + if (!('Content-Type' in headers) && !(root.FormData && request.body instanceof root.FormData) && typeof request.body !== 'undefined') { + headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; + } + // properly serialize body + request.body = this.serializeBody(request.body, request.headers['Content-Type']); + this.send(); + } + next(e) { + this.done = true; + const { xhr, request, destination } = this; + const response = new AjaxResponse(e, xhr, request); + destination.next(response); + } + send() { + const { request, request: { user, method, url, async, password, headers, body } } = this; + const createXHR = request.createXHR; + const xhr = tryCatch(createXHR).call(request); + if (xhr === errorObject) { + this.error(errorObject.e); + } + else { + this.xhr = xhr; + // set up the events before open XHR + // https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest + // You need to add the event listeners before calling open() on the request. + // Otherwise the progress events will not fire. + this.setupEvents(xhr, request); + // open XHR + let result; + if (user) { + result = tryCatch(xhr.open).call(xhr, method, url, async, user, password); + } + else { + result = tryCatch(xhr.open).call(xhr, method, url, async); + } + if (result === errorObject) { + this.error(errorObject.e); + return null; + } + // timeout, responseType and withCredentials can be set once the XHR is open + if (async) { + xhr.timeout = request.timeout; + xhr.responseType = request.responseType; + } + if ('withCredentials' in xhr) { + xhr.withCredentials = !!request.withCredentials; + } + // set headers + this.setHeaders(xhr, headers); + // finally send the request + result = body ? tryCatch(xhr.send).call(xhr, body) : tryCatch(xhr.send).call(xhr); + if (result === errorObject) { + this.error(errorObject.e); + return null; + } + } + return xhr; + } + serializeBody(body, contentType) { + if (!body || typeof body === 'string') { + return body; + } + else if (root.FormData && body instanceof root.FormData) { + return body; + } + if (contentType) { + const splitIndex = contentType.indexOf(';'); + if (splitIndex !== -1) { + contentType = contentType.substring(0, splitIndex); + } + } + switch (contentType) { + case 'application/x-www-form-urlencoded': + return Object.keys(body).map(key => `${encodeURI(key)}=${encodeURI(body[key])}`).join('&'); + case 'application/json': + return JSON.stringify(body); + default: + return body; + } + } + setHeaders(xhr, headers) { + for (let key in headers) { + if (headers.hasOwnProperty(key)) { + xhr.setRequestHeader(key, headers[key]); + } + } + } + setupEvents(xhr, request) { + const progressSubscriber = request.progressSubscriber; + function xhrTimeout(e) { + const { subscriber, progressSubscriber, request } = xhrTimeout; + if (progressSubscriber) { + progressSubscriber.error(e); + } + subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer. + } + ; + xhr.ontimeout = xhrTimeout; + xhrTimeout.request = request; + xhrTimeout.subscriber = this; + xhrTimeout.progressSubscriber = progressSubscriber; + if (xhr.upload && 'withCredentials' in xhr) { + if (progressSubscriber) { + let xhrProgress; + xhrProgress = function (e) { + const { progressSubscriber } = xhrProgress; + progressSubscriber.next(e); + }; + if (root.XDomainRequest) { + xhr.onprogress = xhrProgress; + } + else { + xhr.upload.onprogress = xhrProgress; + } + xhrProgress.progressSubscriber = progressSubscriber; + } + let xhrError; + xhrError = function (e) { + const { progressSubscriber, subscriber, request } = xhrError; + if (progressSubscriber) { + progressSubscriber.error(e); + } + subscriber.error(new AjaxError('ajax error', this, request)); + }; + xhr.onerror = xhrError; + xhrError.request = request; + xhrError.subscriber = this; + xhrError.progressSubscriber = progressSubscriber; + } + function xhrReadyStateChange(e) { + const { subscriber, progressSubscriber, request } = xhrReadyStateChange; + if (this.readyState === 4) { + // normalize IE9 bug (http://bugs.jquery.com/ticket/1450) + let status = this.status === 1223 ? 204 : this.status; + let response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response); + // fix status code when it is 0 (0 status is undocumented). + // Occurs when accessing file resources or on Android 4.1 stock browser + // while retrieving files from application cache. + if (status === 0) { + status = response ? 200 : 0; + } + if (200 <= status && status < 300) { + if (progressSubscriber) { + progressSubscriber.complete(); + } + subscriber.next(e); + subscriber.complete(); + } + else { + if (progressSubscriber) { + progressSubscriber.error(e); + } + subscriber.error(new AjaxError('ajax error ' + status, this, request)); + } + } + } + ; + xhr.onreadystatechange = xhrReadyStateChange; + xhrReadyStateChange.subscriber = this; + xhrReadyStateChange.progressSubscriber = progressSubscriber; + xhrReadyStateChange.request = request; + } + unsubscribe() { + const { done, xhr } = this; + if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') { + xhr.abort(); + } + super.unsubscribe(); + } +} +/** + * A normalized AJAX response. + * + * @see {@link ajax} + * + * @class AjaxResponse + */ +export class AjaxResponse { + constructor(originalEvent, xhr, request) { + this.originalEvent = originalEvent; + this.xhr = xhr; + this.request = request; + this.status = xhr.status; + this.responseType = xhr.responseType || request.responseType; + this.response = parseXhrResponse(this.responseType, xhr); + } +} +/** + * A normalized AJAX error. + * + * @see {@link ajax} + * + * @class AjaxError + */ +export class AjaxError extends Error { + constructor(message, xhr, request) { + super(message); + this.message = message; + this.xhr = xhr; + this.request = request; + this.status = xhr.status; + this.responseType = xhr.responseType || request.responseType; + this.response = parseXhrResponse(this.responseType, xhr); + } +} +function parseXhrResponse(responseType, xhr) { + switch (responseType) { + case 'json': + if ('response' in xhr) { + //IE does not support json as responseType, parse it internally + return xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null'); + } + else { + // HACK(benlesh): TypeScript shennanigans + // tslint:disable-next-line:no-any latest TS seems to think xhr is "never" here. + return JSON.parse(xhr.responseText || 'null'); + } + case 'xml': + return xhr.responseXML; + case 'text': + default: + // HACK(benlesh): TypeScript shennanigans + // tslint:disable-next-line:no-any latest TS seems to think xhr is "never" here. + return ('response' in xhr) ? xhr.response : xhr.responseText; + } +} +/** + * @see {@link ajax} + * + * @class AjaxTimeoutError + */ +export class AjaxTimeoutError extends AjaxError { + constructor(xhr, request) { + super('ajax timeout', xhr, request); + } +} +//# sourceMappingURL=AjaxObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js.map new file mode 100644 index 00000000000000..b546ddeeb41c09 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/AjaxObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AjaxObservable.js","sourceRoot":"","sources":["../../../src/observable/dom/AjaxObservable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js new file mode 100644 index 00000000000000..01dfaf1aaa5961 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js @@ -0,0 +1,239 @@ +import { Subject, AnonymousSubject } from '../../Subject'; +import { Subscriber } from '../../Subscriber'; +import { Observable } from '../../Observable'; +import { Subscription } from '../../Subscription'; +import { root } from '../../util/root'; +import { ReplaySubject } from '../../ReplaySubject'; +import { tryCatch } from '../../util/tryCatch'; +import { errorObject } from '../../util/errorObject'; +import { assign } from '../../util/assign'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @extends {Ignored} + * @hide true + */ +export class WebSocketSubject extends AnonymousSubject { + constructor(urlConfigOrSource, destination) { + if (urlConfigOrSource instanceof Observable) { + super(destination, urlConfigOrSource); + } + else { + super(); + this.WebSocketCtor = root.WebSocket; + this._output = new Subject(); + if (typeof urlConfigOrSource === 'string') { + this.url = urlConfigOrSource; + } + else { + // WARNING: config object could override important members here. + assign(this, urlConfigOrSource); + } + if (!this.WebSocketCtor) { + throw new Error('no WebSocket constructor can be found'); + } + this.destination = new ReplaySubject(); + } + } + resultSelector(e) { + return JSON.parse(e.data); + } + /** + * Wrapper around the w3c-compatible WebSocket object provided by the browser. + * + * @example Wraps browser WebSocket + * + * let socket$ = Observable.webSocket('ws://localhost:8081'); + * + * socket$.subscribe( + * (msg) => console.log('message received: ' + msg), + * (err) => console.log(err), + * () => console.log('complete') + * ); + * + * socket$.next(JSON.stringify({ op: 'hello' })); + * + * @example Wraps WebSocket from nodejs-websocket (using node.js) + * + * import { w3cwebsocket } from 'websocket'; + * + * let socket$ = Observable.webSocket({ + * url: 'ws://localhost:8081', + * WebSocketCtor: w3cwebsocket + * }); + * + * socket$.subscribe( + * (msg) => console.log('message received: ' + msg), + * (err) => console.log(err), + * () => console.log('complete') + * ); + * + * socket$.next(JSON.stringify({ op: 'hello' })); + * + * @param {string | WebSocketSubjectConfig} urlConfigOrSource the source of the websocket as an url or a structure defining the websocket object + * @return {WebSocketSubject} + * @static true + * @name webSocket + * @owner Observable + */ + static create(urlConfigOrSource) { + return new WebSocketSubject(urlConfigOrSource); + } + lift(operator) { + const sock = new WebSocketSubject(this, this.destination); + sock.operator = operator; + return sock; + } + _resetState() { + this.socket = null; + if (!this.source) { + this.destination = new ReplaySubject(); + } + this._output = new Subject(); + } + // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures + multiplex(subMsg, unsubMsg, messageFilter) { + const self = this; + return new Observable((observer) => { + const result = tryCatch(subMsg)(); + if (result === errorObject) { + observer.error(errorObject.e); + } + else { + self.next(result); + } + let subscription = self.subscribe(x => { + const result = tryCatch(messageFilter)(x); + if (result === errorObject) { + observer.error(errorObject.e); + } + else if (result) { + observer.next(x); + } + }, err => observer.error(err), () => observer.complete()); + return () => { + const result = tryCatch(unsubMsg)(); + if (result === errorObject) { + observer.error(errorObject.e); + } + else { + self.next(result); + } + subscription.unsubscribe(); + }; + }); + } + _connectSocket() { + const { WebSocketCtor } = this; + const observer = this._output; + let socket = null; + try { + socket = this.protocol ? + new WebSocketCtor(this.url, this.protocol) : + new WebSocketCtor(this.url); + this.socket = socket; + if (this.binaryType) { + this.socket.binaryType = this.binaryType; + } + } + catch (e) { + observer.error(e); + return; + } + const subscription = new Subscription(() => { + this.socket = null; + if (socket && socket.readyState === 1) { + socket.close(); + } + }); + socket.onopen = (e) => { + const openObserver = this.openObserver; + if (openObserver) { + openObserver.next(e); + } + const queue = this.destination; + this.destination = Subscriber.create((x) => socket.readyState === 1 && socket.send(x), (e) => { + const closingObserver = this.closingObserver; + if (closingObserver) { + closingObserver.next(undefined); + } + if (e && e.code) { + socket.close(e.code, e.reason); + } + else { + observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' + + 'and an optional reason: { code: number, reason: string }')); + } + this._resetState(); + }, () => { + const closingObserver = this.closingObserver; + if (closingObserver) { + closingObserver.next(undefined); + } + socket.close(); + this._resetState(); + }); + if (queue && queue instanceof ReplaySubject) { + subscription.add(queue.subscribe(this.destination)); + } + }; + socket.onerror = (e) => { + this._resetState(); + observer.error(e); + }; + socket.onclose = (e) => { + this._resetState(); + const closeObserver = this.closeObserver; + if (closeObserver) { + closeObserver.next(e); + } + if (e.wasClean) { + observer.complete(); + } + else { + observer.error(e); + } + }; + socket.onmessage = (e) => { + const result = tryCatch(this.resultSelector)(e); + if (result === errorObject) { + observer.error(errorObject.e); + } + else { + observer.next(result); + } + }; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const { source } = this; + if (source) { + return source.subscribe(subscriber); + } + if (!this.socket) { + this._connectSocket(); + } + let subscription = new Subscription(); + subscription.add(this._output.subscribe(subscriber)); + subscription.add(() => { + const { socket } = this; + if (this._output.observers.length === 0) { + if (socket && socket.readyState === 1) { + socket.close(); + } + this._resetState(); + } + }); + return subscription; + } + unsubscribe() { + const { source, socket } = this; + if (socket && socket.readyState === 1) { + socket.close(); + this._resetState(); + } + super.unsubscribe(); + if (!source) { + this.destination = new ReplaySubject(); + } + } +} +//# sourceMappingURL=WebSocketSubject.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js.map new file mode 100644 index 00000000000000..6ff90493b78e4f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/WebSocketSubject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WebSocketSubject.js","sourceRoot":"","sources":["../../../src/observable/dom/WebSocketSubject.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js new file mode 100644 index 00000000000000..3a6d75ba293f22 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js @@ -0,0 +1,3 @@ +import { AjaxObservable } from './AjaxObservable'; +export const ajax = AjaxObservable.create; +//# sourceMappingURL=ajax.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js.map new file mode 100644 index 00000000000000..039ca48fc046e1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/ajax.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ajax.js","sourceRoot":"","sources":["../../../src/observable/dom/ajax.ts"],"names":[],"mappings":"OAAO,EAAG,cAAc,EAAuB,MAAM,kBAAkB;AAEvE,OAAO,MAAM,IAAI,GAAuB,cAAc,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js new file mode 100644 index 00000000000000..e705f409c90fed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js @@ -0,0 +1,3 @@ +import { WebSocketSubject } from './WebSocketSubject'; +export const webSocket = WebSocketSubject.create; +//# sourceMappingURL=webSocket.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js.map new file mode 100644 index 00000000000000..6ea99ef813e585 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/dom/webSocket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webSocket.js","sourceRoot":"","sources":["../../../src/observable/dom/webSocket.ts"],"names":[],"mappings":"OAAO,EAAG,gBAAgB,EAAG,MAAM,oBAAoB;AAEvD,OAAO,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js new file mode 100644 index 00000000000000..bbe56e3606016e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js @@ -0,0 +1,3 @@ +import { EmptyObservable } from './EmptyObservable'; +export const empty = EmptyObservable.create; +//# sourceMappingURL=empty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js.map new file mode 100644 index 00000000000000..39dc642608c67d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/empty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../src/observable/empty.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js new file mode 100644 index 00000000000000..739bfaa8a0a5e5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js @@ -0,0 +1,3 @@ +import { ForkJoinObservable } from './ForkJoinObservable'; +export const forkJoin = ForkJoinObservable.create; +//# sourceMappingURL=forkJoin.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js.map new file mode 100644 index 00000000000000..8c0f1e47ee3d6c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/forkJoin.js.map @@ -0,0 +1 @@ +{"version":3,"file":"forkJoin.js","sourceRoot":"","sources":["../../src/observable/forkJoin.ts"],"names":[],"mappings":"OAAO,EAAG,kBAAkB,EAAG,MAAM,sBAAsB;AAE3D,OAAO,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js new file mode 100644 index 00000000000000..125070cf027ba5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js @@ -0,0 +1,3 @@ +import { FromObservable } from './FromObservable'; +export const from = FromObservable.create; +//# sourceMappingURL=from.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js.map new file mode 100644 index 00000000000000..84ea85f1734b77 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/from.js.map @@ -0,0 +1 @@ +{"version":3,"file":"from.js","sourceRoot":"","sources":["../../src/observable/from.ts"],"names":[],"mappings":"OAAO,EAAG,cAAc,EAAG,MAAM,kBAAkB;AAEnD,OAAO,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js new file mode 100644 index 00000000000000..f31e5e2f02c7d4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js @@ -0,0 +1,3 @@ +import { FromEventObservable } from './FromEventObservable'; +export const fromEvent = FromEventObservable.create; +//# sourceMappingURL=fromEvent.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js.map new file mode 100644 index 00000000000000..7b6b736a650d20 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEvent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromEvent.js","sourceRoot":"","sources":["../../src/observable/fromEvent.ts"],"names":[],"mappings":"OAAO,EAAG,mBAAmB,EAAG,MAAM,uBAAuB;AAE7D,OAAO,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js new file mode 100644 index 00000000000000..261c1acec030c3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js @@ -0,0 +1,3 @@ +import { FromEventPatternObservable } from './FromEventPatternObservable'; +export const fromEventPattern = FromEventPatternObservable.create; +//# sourceMappingURL=fromEventPattern.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js.map new file mode 100644 index 00000000000000..b6ce68a160ec04 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromEventPattern.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromEventPattern.js","sourceRoot":"","sources":["../../src/observable/fromEventPattern.ts"],"names":[],"mappings":"OAAO,EAAG,0BAA0B,EAAG,MAAM,8BAA8B;AAE3E,OAAO,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js new file mode 100644 index 00000000000000..e6b2d5777a24bb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js @@ -0,0 +1,3 @@ +import { PromiseObservable } from './PromiseObservable'; +export const fromPromise = PromiseObservable.create; +//# sourceMappingURL=fromPromise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js.map new file mode 100644 index 00000000000000..2146de47309085 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/fromPromise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromPromise.js","sourceRoot":"","sources":["../../src/observable/fromPromise.ts"],"names":[],"mappings":"OAAO,EAAG,iBAAiB,EAAG,MAAM,qBAAqB;AAEzD,OAAO,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js new file mode 100644 index 00000000000000..bedd1047dcc880 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js @@ -0,0 +1,3 @@ +import { GenerateObservable } from './GenerateObservable'; +export const generate = GenerateObservable.create; +//# sourceMappingURL=generate.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js.map new file mode 100644 index 00000000000000..2cb68666b0767b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/generate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/observable/generate.ts"],"names":[],"mappings":"OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB;AAEzD,OAAO,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js new file mode 100644 index 00000000000000..6df4692667ba0f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js @@ -0,0 +1,3 @@ +import { IfObservable } from './IfObservable'; +export const _if = IfObservable.create; +//# sourceMappingURL=if.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js.map new file mode 100644 index 00000000000000..ef758d1827a06f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/if.js.map @@ -0,0 +1 @@ +{"version":3,"file":"if.js","sourceRoot":"","sources":["../../src/observable/if.ts"],"names":[],"mappings":"OAAO,EAAG,YAAY,EAAG,MAAM,gBAAgB;AAE/C,OAAO,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js new file mode 100644 index 00000000000000..9cf1cf1e63d1ca --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js @@ -0,0 +1,3 @@ +import { IntervalObservable } from './IntervalObservable'; +export const interval = IntervalObservable.create; +//# sourceMappingURL=interval.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js.map new file mode 100644 index 00000000000000..a43822fee758b7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/interval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../src/observable/interval.ts"],"names":[],"mappings":"OAAO,EAAG,kBAAkB,EAAG,MAAM,sBAAsB;AAE3D,OAAO,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js new file mode 100644 index 00000000000000..02c99033c4045a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js @@ -0,0 +1,84 @@ +import { Observable } from '../Observable'; +import { ArrayObservable } from './ArrayObservable'; +import { isScheduler } from '../util/isScheduler'; +import { mergeAll } from '../operators/mergeAll'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which concurrently emits all values from every + * given input Observable. + * + * Flattens multiple Observables together by blending + * their values into one Observable. + * + * + * + * `merge` subscribes to each given input Observable (as arguments), and simply + * forwards (without doing any transformation) all the values from all the input + * Observables to the output Observable. The output Observable only completes + * once all input Observables have completed. Any error delivered by an input + * Observable will be immediately emitted on the output Observable. + * + * @example Merge together two Observables: 1s interval and clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var timer = Rx.Observable.interval(1000); + * var clicksOrTimer = Rx.Observable.merge(clicks, timer); + * clicksOrTimer.subscribe(x => console.log(x)); + * + * // Results in the following: + * // timer will emit ascending values, one every second(1000ms) to console + * // clicks logs MouseEvents to console everytime the "document" is clicked + * // Since the two streams are merged you see these happening + * // as they occur. + * + * @example Merge together 3 Observables, but only 2 run concurrently + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var concurrent = 2; // the argument + * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent); + * merged.subscribe(x => console.log(x)); + * + * // Results in the following: + * // - First timer1 and timer2 will run concurrently + * // - timer1 will emit a value every 1000ms for 10 iterations + * // - timer2 will emit a value every 2000ms for 6 iterations + * // - after timer1 hits it's max iteration, timer2 will + * // continue, and timer3 will start to run concurrently with timer2 + * // - when timer2 hits it's max iteration it terminates, and + * // timer3 will continue to emit a value every 500ms until it is complete + * + * @see {@link mergeAll} + * @see {@link mergeMap} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * + * @param {...ObservableInput} observables Input Observables to merge together. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @param {Scheduler} [scheduler=null] The IScheduler to use for managing + * concurrency of input Observables. + * @return {Observable} an Observable that emits items that are the result of + * every input Observable. + * @static true + * @name merge + * @owner Observable + */ +export function merge(...observables) { + let concurrent = Number.POSITIVE_INFINITY; + let scheduler = null; + let last = observables[observables.length - 1]; + if (isScheduler(last)) { + scheduler = observables.pop(); + if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') { + concurrent = observables.pop(); + } + } + else if (typeof last === 'number') { + concurrent = observables.pop(); + } + if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) { + return observables[0]; + } + return mergeAll(concurrent)(new ArrayObservable(observables, scheduler)); +} +//# sourceMappingURL=merge.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js.map new file mode 100644 index 00000000000000..23a0dc115c313e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/merge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/observable/merge.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe;OAEpD,EAAE,eAAe,EAAE,MAAM,mBAAmB;OAC5C,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,QAAQ,EAAE,MAAM,uBAAuB;AAiBhD,mCAAmC;AACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,sBAA4B,GAAG,WAA8D;IAC5F,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,IAAI,SAAS,GAAe,IAAI,CAAC;IAChC,IAAI,IAAI,GAAQ,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpD,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,SAAS,GAAe,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1C,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACtF,UAAU,GAAW,WAAW,CAAC,GAAG,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;QACpC,UAAU,GAAW,WAAW,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAgB,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,eAAe,CAAM,WAAW,EAAE,SAAS,CAAC,CAAkB,CAAC;AACjG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js new file mode 100644 index 00000000000000..8750a3e1cefff4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js @@ -0,0 +1,3 @@ +import { NeverObservable } from './NeverObservable'; +export const never = NeverObservable.create; +//# sourceMappingURL=never.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js.map new file mode 100644 index 00000000000000..4e305bc7fbbc41 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/never.js.map @@ -0,0 +1 @@ +{"version":3,"file":"never.js","sourceRoot":"","sources":["../../src/observable/never.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js new file mode 100644 index 00000000000000..78f169a1ec9538 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js @@ -0,0 +1,3 @@ +import { ArrayObservable } from './ArrayObservable'; +export const of = ArrayObservable.of; +//# sourceMappingURL=of.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js.map new file mode 100644 index 00000000000000..6dbffa98e386bf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/of.js.map @@ -0,0 +1 @@ +{"version":3,"file":"of.js","sourceRoot":"","sources":["../../src/observable/of.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js new file mode 100644 index 00000000000000..5215d936a86592 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js @@ -0,0 +1,3 @@ +import { onErrorResumeNextStatic } from '../operators/onErrorResumeNext'; +export const onErrorResumeNext = onErrorResumeNextStatic; +//# sourceMappingURL=onErrorResumeNext.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js.map new file mode 100644 index 00000000000000..0ce313bf149a81 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/onErrorResumeNext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../src/observable/onErrorResumeNext.ts"],"names":[],"mappings":"OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC;AAExE,OAAO,MAAM,iBAAiB,GAAG,uBAAuB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js new file mode 100644 index 00000000000000..6dd20ede9a7421 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js @@ -0,0 +1,3 @@ +import { PairsObservable } from './PairsObservable'; +export const pairs = PairsObservable.create; +//# sourceMappingURL=pairs.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js.map new file mode 100644 index 00000000000000..32e93fa99d8e5a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/pairs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pairs.js","sourceRoot":"","sources":["../../src/observable/pairs.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js new file mode 100644 index 00000000000000..7fbcda5ebd0a23 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js @@ -0,0 +1,71 @@ +import { isArray } from '../util/isArray'; +import { ArrayObservable } from '../observable/ArrayObservable'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +export function race(...observables) { + // if the only argument is an array, it was most likely called with + // `race([obs1, obs2, ...])` + if (observables.length === 1) { + if (isArray(observables[0])) { + observables = observables[0]; + } + else { + return observables[0]; + } + } + return new ArrayObservable(observables).lift(new RaceOperator()); +} +export class RaceOperator { + call(subscriber, source) { + return source.subscribe(new RaceSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class RaceSubscriber extends OuterSubscriber { + constructor(destination) { + super(destination); + this.hasFirst = false; + this.observables = []; + this.subscriptions = []; + } + _next(observable) { + this.observables.push(observable); + } + _complete() { + const observables = this.observables; + const len = observables.length; + if (len === 0) { + this.destination.complete(); + } + else { + for (let i = 0; i < len && !this.hasFirst; i++) { + let observable = observables[i]; + let subscription = subscribeToResult(this, observable, observable, i); + if (this.subscriptions) { + this.subscriptions.push(subscription); + } + this.add(subscription); + } + this.observables = null; + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + if (!this.hasFirst) { + this.hasFirst = true; + for (let i = 0; i < this.subscriptions.length; i++) { + if (i !== outerIndex) { + let subscription = this.subscriptions[i]; + subscription.unsubscribe(); + this.remove(subscription); + } + } + this.subscriptions = null; + } + this.destination.next(innerValue); + } +} +//# sourceMappingURL=race.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js.map new file mode 100644 index 00000000000000..9a1fc27c8193a9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/race.js.map @@ -0,0 +1 @@ +{"version":3,"file":"race.js","sourceRoot":"","sources":["../../src/observable/race.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js new file mode 100644 index 00000000000000..e0e3530290f948 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js @@ -0,0 +1,3 @@ +import { RangeObservable } from './RangeObservable'; +export const range = RangeObservable.create; +//# sourceMappingURL=range.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js.map new file mode 100644 index 00000000000000..d96093c82acde1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/range.js.map @@ -0,0 +1 @@ +{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/observable/range.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js new file mode 100644 index 00000000000000..7c82dd8f389018 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js @@ -0,0 +1,3 @@ +import { ErrorObservable } from './ErrorObservable'; +export const _throw = ErrorObservable.create; +//# sourceMappingURL=throw.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js.map new file mode 100644 index 00000000000000..298f37dd321e29 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/throw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throw.js","sourceRoot":"","sources":["../../src/observable/throw.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js new file mode 100644 index 00000000000000..fb8e7707210bc1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js @@ -0,0 +1,3 @@ +import { TimerObservable } from './TimerObservable'; +export const timer = TimerObservable.create; +//# sourceMappingURL=timer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js.map new file mode 100644 index 00000000000000..fe47d32cb5a83d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/timer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/observable/timer.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js new file mode 100644 index 00000000000000..9bd796280b4ed4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js @@ -0,0 +1,3 @@ +import { UsingObservable } from './UsingObservable'; +export const using = UsingObservable.create; +//# sourceMappingURL=using.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js.map new file mode 100644 index 00000000000000..ec36086fd93813 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/using.js.map @@ -0,0 +1 @@ +{"version":3,"file":"using.js","sourceRoot":"","sources":["../../src/observable/using.ts"],"names":[],"mappings":"OAAO,EAAG,eAAe,EAAG,MAAM,mBAAmB;AAErD,OAAO,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js new file mode 100644 index 00000000000000..ac07e1332c5be4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js @@ -0,0 +1,3 @@ +import { zipStatic } from '../operators/zip'; +export const zip = zipStatic; +//# sourceMappingURL=zip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js.map new file mode 100644 index 00000000000000..d65a6cd1573895 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/observable/zip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/observable/zip.ts"],"names":[],"mappings":"OAAO,EAAG,SAAS,EAAG,MAAM,kBAAkB;AAE9C,OAAO,MAAM,GAAG,GAAG,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js new file mode 100644 index 00000000000000..53fb472cc172d8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js @@ -0,0 +1,45 @@ +import { audit as higherOrder } from '../operators/audit'; +/** + * Ignores source values for a duration determined by another Observable, then + * emits the most recent value from the source Observable, then repeats this + * process. + * + * It's like {@link auditTime}, but the silencing + * duration is determined by a second Observable. + * + * + * + * `audit` is similar to `throttle`, but emits the last value from the silenced + * time window, instead of the first value. `audit` emits the most recent value + * from the source Observable on the output Observable as soon as its internal + * timer becomes disabled, and ignores source values while the timer is enabled. + * Initially, the timer is disabled. As soon as the first source value arrives, + * the timer is enabled by calling the `durationSelector` function with the + * source value, which returns the "duration" Observable. When the duration + * Observable emits a value or completes, the timer is disabled, then the most + * recent source value is emitted on the output Observable, and this process + * repeats for the next source value. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.audit(ev => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounce} + * @see {@link delayWhen} + * @see {@link sample} + * @see {@link throttle} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the silencing + * duration, returned as an Observable or a Promise. + * @return {Observable} An Observable that performs rate-limiting of + * emissions from the source Observable. + * @method audit + * @owner Observable + */ +export function audit(durationSelector) { + return higherOrder(durationSelector)(this); +} +//# sourceMappingURL=audit.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js.map new file mode 100644 index 00000000000000..e6e37c6e206e8d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/audit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/operator/audit.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,sBAA8C,gBAA0D;IACtG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js new file mode 100644 index 00000000000000..edf60a507b9baf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js @@ -0,0 +1,48 @@ +import { async } from '../scheduler/async'; +import { auditTime as higherOrder } from '../operators/auditTime'; +/** + * Ignores source values for `duration` milliseconds, then emits the most recent + * value from the source Observable, then repeats this process. + * + * When it sees a source values, it ignores that plus + * the next ones for `duration` milliseconds, and then it emits the most recent + * value from the source. + * + * + * + * `auditTime` is similar to `throttleTime`, but emits the last value from the + * silenced time window, instead of the first value. `auditTime` emits the most + * recent value from the source Observable on the output Observable as soon as + * its internal timer becomes disabled, and ignores source values while the + * timer is enabled. Initially, the timer is disabled. As soon as the first + * source value arrives, the timer is enabled. After `duration` milliseconds (or + * the time unit determined internally by the optional `scheduler`) has passed, + * the timer is disabled, then the most recent source value is emitted on the + * output Observable, and this process repeats for the next source value. + * Optionally takes a {@link IScheduler} for managing timers. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.auditTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttleTime} + * + * @param {number} duration Time to wait before emitting the most recent source + * value, measured in milliseconds or the time unit determined internally + * by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the rate-limiting behavior. + * @return {Observable} An Observable that performs rate-limiting of + * emissions from the source Observable. + * @method auditTime + * @owner Observable + */ +export function auditTime(duration, scheduler = async) { + return higherOrder(duration, scheduler)(this); +} +//# sourceMappingURL=auditTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js.map new file mode 100644 index 00000000000000..cade2077ad6d2e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/auditTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auditTime.js","sourceRoot":"","sources":["../../src/operator/auditTime.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAGnC,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,0BAAkD,QAAgB,EAAE,SAAS,GAAe,KAAK;IAC/F,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAkB,CAAC;AACjE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js new file mode 100644 index 00000000000000..e75bd0559d73d9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js @@ -0,0 +1,37 @@ +import { buffer as higherOrder } from '../operators/buffer'; +/** + * Buffers the source Observable values until `closingNotifier` emits. + * + * Collects values from the past as an array, and emits + * that array only when another Observable emits. + * + * + * + * Buffers the incoming Observable values until the given `closingNotifier` + * Observable emits a value, at which point it emits the buffer on the output + * Observable and starts a new buffer internally, awaiting the next time + * `closingNotifier` emits. + * + * @example On every click, emit array of most recent interval events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var interval = Rx.Observable.interval(1000); + * var buffered = interval.buffer(clicks); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link window} + * + * @param {Observable} closingNotifier An Observable that signals the + * buffer to be emitted on the output Observable. + * @return {Observable} An Observable of buffers, which are arrays of + * values. + * @method buffer + * @owner Observable + */ +export function buffer(closingNotifier) { + return higherOrder(closingNotifier)(this); +} +//# sourceMappingURL=buffer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js.map new file mode 100644 index 00000000000000..ace64376f0e01e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/buffer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/operator/buffer.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,uBAA+C,eAAgC;IAC7E,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAoB,CAAC;AAC/D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js new file mode 100644 index 00000000000000..f60ad45a9484dc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js @@ -0,0 +1,46 @@ +import { bufferCount as higherOrder } from '../operators/bufferCount'; +/** + * Buffers the source Observable values until the size hits the maximum + * `bufferSize` given. + * + * Collects values from the past as an array, and emits + * that array only when its size reaches `bufferSize`. + * + * + * + * Buffers a number of values from the source Observable by `bufferSize` then + * emits the buffer and clears it, and starts a new buffer each + * `startBufferEvery` values. If `startBufferEvery` is not provided or is + * `null`, then new buffers are started immediately at the start of the source + * and when each buffer closes and is emitted. + * + * @example Emit the last two click events as an array + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferCount(2); + * buffered.subscribe(x => console.log(x)); + * + * @example On every click, emit the last two click events as an array + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferCount(2, 1); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link pairwise} + * @see {@link windowCount} + * + * @param {number} bufferSize The maximum size of the buffer emitted. + * @param {number} [startBufferEvery] Interval at which to start a new buffer. + * For example if `startBufferEvery` is `2`, then a new buffer will be started + * on every other value from the source. A new buffer is started at the + * beginning of the source by default. + * @return {Observable} An Observable of arrays of buffered values. + * @method bufferCount + * @owner Observable + */ +export function bufferCount(bufferSize, startBufferEvery = null) { + return higherOrder(bufferSize, startBufferEvery)(this); +} +//# sourceMappingURL=bufferCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js.map new file mode 100644 index 00000000000000..c94b1f4a2485fb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferCount.js","sourceRoot":"","sources":["../../src/operator/bufferCount.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,4BAAoD,UAAkB,EAAE,gBAAgB,GAAW,IAAI;IACrG,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAoB,CAAC;AAC5E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js new file mode 100644 index 00000000000000..e3400c77143878 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js @@ -0,0 +1,65 @@ +import { async } from '../scheduler/async'; +import { isScheduler } from '../util/isScheduler'; +import { bufferTime as higherOrder } from '../operators/bufferTime'; +/* tslint:enable:max-line-length */ +/** + * Buffers the source Observable values for a specific time period. + * + * Collects values from the past as an array, and emits + * those arrays periodically in time. + * + * + * + * Buffers values from the source for a specific time duration `bufferTimeSpan`. + * Unless the optional argument `bufferCreationInterval` is given, it emits and + * resets the buffer every `bufferTimeSpan` milliseconds. If + * `bufferCreationInterval` is given, this operator opens the buffer every + * `bufferCreationInterval` milliseconds and closes (emits and resets) the + * buffer every `bufferTimeSpan` milliseconds. When the optional argument + * `maxBufferSize` is specified, the buffer will be closed either after + * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements. + * + * @example Every second, emit an array of the recent click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferTime(1000); + * buffered.subscribe(x => console.log(x)); + * + * @example Every 5 seconds, emit the click events from the next 2 seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferTime(2000, 5000); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link windowTime} + * + * @param {number} bufferTimeSpan The amount of time to fill each buffer array. + * @param {number} [bufferCreationInterval] The interval at which to start new + * buffers. + * @param {number} [maxBufferSize] The maximum buffer size. + * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the + * intervals that determine buffer boundaries. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferTime + * @owner Observable + */ +export function bufferTime(bufferTimeSpan) { + let length = arguments.length; + let scheduler = async; + if (isScheduler(arguments[arguments.length - 1])) { + scheduler = arguments[arguments.length - 1]; + length--; + } + let bufferCreationInterval = null; + if (length >= 2) { + bufferCreationInterval = arguments[1]; + } + let maxBufferSize = Number.POSITIVE_INFINITY; + if (length >= 3) { + maxBufferSize = arguments[2]; + } + return higherOrder(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler)(this); +} +//# sourceMappingURL=bufferTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js.map new file mode 100644 index 00000000000000..9c0596a6fc4fe0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferTime.js","sourceRoot":"","sources":["../../src/operator/bufferTime.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAEnC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAMnE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,2BAAmD,cAAsB;IACvE,IAAI,MAAM,GAAW,SAAS,CAAC,MAAM,CAAC;IAEtC,IAAI,SAAS,GAAe,KAAK,CAAC;IAClC,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC;IACX,CAAC;IAED,IAAI,sBAAsB,GAAW,IAAI,CAAC;IAC1C,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,aAAa,GAAW,MAAM,CAAC,iBAAiB,CAAC;IACrD,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CAAoB,CAAC;AAChH,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js new file mode 100644 index 00000000000000..694eadaedf7af4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js @@ -0,0 +1,43 @@ +import { bufferToggle as higherOrder } from '../operators/bufferToggle'; +/** + * Buffers the source Observable values starting from an emission from + * `openings` and ending when the output of `closingSelector` emits. + * + * Collects values from the past as an array. Starts + * collecting only when `opening` emits, and calls the `closingSelector` + * function to get an Observable that tells when to close the buffer. + * + * + * + * Buffers values from the source by opening the buffer via signals from an + * Observable provided to `openings`, and closing and sending the buffers when + * a Subscribable or Promise returned by the `closingSelector` function emits. + * + * @example Every other second, emit the click events from the next 500ms + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var openings = Rx.Observable.interval(1000); + * var buffered = clicks.bufferToggle(openings, i => + * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty() + * ); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferWhen} + * @see {@link windowToggle} + * + * @param {SubscribableOrPromise} openings A Subscribable or Promise of notifications to start new + * buffers. + * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes + * the value emitted by the `openings` observable and returns a Subscribable or Promise, + * which, when it emits, signals that the associated buffer should be emitted + * and cleared. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferToggle + * @owner Observable + */ +export function bufferToggle(openings, closingSelector) { + return higherOrder(openings, closingSelector)(this); +} +//# sourceMappingURL=bufferToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js.map new file mode 100644 index 00000000000000..e860d3c1705efe --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferToggle.js","sourceRoot":"","sources":["../../src/operator/bufferToggle.ts"],"names":[],"mappings":"OAEO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,2BAA2B;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,6BAAwD,QAAkC,EACvD,eAAyD;IAC1F,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,IAAI,CAAoB,CAAC;AACzE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js new file mode 100644 index 00000000000000..438273fa48534b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js @@ -0,0 +1,38 @@ +import { bufferWhen as higherOrder } from '../operators/bufferWhen'; +/** + * Buffers the source Observable values, using a factory function of closing + * Observables to determine when to close, emit, and reset the buffer. + * + * Collects values from the past as an array. When it + * starts collecting values, it calls a function that returns an Observable that + * tells when to close the buffer and restart collecting. + * + * + * + * Opens a buffer immediately, then closes the buffer when the observable + * returned by calling `closingSelector` function emits a value. When it closes + * the buffer, it immediately opens a new buffer and repeats the process. + * + * @example Emit an array of the last clicks every [1-5] random seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferWhen(() => + * Rx.Observable.interval(1000 + Math.random() * 4000) + * ); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link windowWhen} + * + * @param {function(): Observable} closingSelector A function that takes no + * arguments and returns an Observable that signals buffer closure. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferWhen + * @owner Observable + */ +export function bufferWhen(closingSelector) { + return higherOrder(closingSelector)(this); +} +//# sourceMappingURL=bufferWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js.map new file mode 100644 index 00000000000000..c8dc442d8962cc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/bufferWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferWhen.js","sourceRoot":"","sources":["../../src/operator/bufferWhen.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,2BAAmD,eAAsC;IACvF,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAoB,CAAC;AAC/D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js new file mode 100644 index 00000000000000..714adc76c13437 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js @@ -0,0 +1,64 @@ +import { catchError as higherOrder } from '../operators/catchError'; +/** + * Catches errors on the observable to be handled by returning a new observable or throwing an error. + * + * + * + * @example Continues with a different Observable when there's an error + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n == 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V')) + * .subscribe(x => console.log(x)); + * // 1, 2, 3, I, II, III, IV, V + * + * @example Retries the caught source Observable again in case of error, similar to retry() operator + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n === 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch((err, caught) => caught) + * .take(30) + * .subscribe(x => console.log(x)); + * // 1, 2, 3, 1, 2, 3, ... + * + * @example Throws a new error when the source Observable throws an error + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n == 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch(err => { + * throw 'error in source. Details: ' + err; + * }) + * .subscribe( + * x => console.log(x), + * err => console.log(err) + * ); + * // 1, 2, 3, error in source. Details: four! + * + * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which + * is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable + * is returned by the `selector` will be used to continue the observable chain. + * @return {Observable} An observable that originates from either the source or the observable returned by the + * catch `selector` function. + * @method catch + * @name catch + * @owner Observable + */ +export function _catch(selector) { + return higherOrder(selector)(this); +} +//# sourceMappingURL=catch.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js.map new file mode 100644 index 00000000000000..773e0d45cd0a52 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/catch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"catch.js","sourceRoot":"","sources":["../../src/operator/catch.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,uBAAkD,QAAiE;IACjH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js new file mode 100644 index 00000000000000..38368f7a8eda0e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js @@ -0,0 +1,45 @@ +import { combineAll as higherOrder } from '../operators/combineAll'; +/** + * Converts a higher-order Observable into a first-order Observable by waiting + * for the outer Observable to complete, then applying {@link combineLatest}. + * + * Flattens an Observable-of-Observables by applying + * {@link combineLatest} when the Observable-of-Observables completes. + * + * + * + * Takes an Observable of Observables, and collects all Observables from it. + * Once the outer Observable completes, it subscribes to all collected + * Observables and combines their values using the {@link combineLatest} + * strategy, such that: + * - Every time an inner Observable emits, the output Observable emits. + * - When the returned observable emits, it emits all of the latest values by: + * - If a `project` function is provided, it is called with each recent value + * from each inner Observable in whatever order they arrived, and the result + * of the `project` function is what is emitted by the output Observable. + * - If there is no `project` function, an array of all of the most recent + * values is emitted by the output Observable. + * + * @example Map two click events to a finite interval Observable, then apply combineAll + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map(ev => + * Rx.Observable.interval(Math.random()*2000).take(3) + * ).take(2); + * var result = higherOrder.combineAll(); + * result.subscribe(x => console.log(x)); + * + * @see {@link combineLatest} + * @see {@link mergeAll} + * + * @param {function} [project] An optional function to map the most recent + * values from each inner Observable into a new result. Takes each of the most + * recent values from each collected inner Observable as arguments, in order. + * @return {Observable} An Observable of projected results or arrays of recent + * values. + * @method combineAll + * @owner Observable + */ +export function combineAll(project) { + return higherOrder(project)(this); +} +//# sourceMappingURL=combineAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js.map new file mode 100644 index 00000000000000..78d323164bad6f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineAll.js","sourceRoot":"","sources":["../../src/operator/combineAll.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,2BAAsD,OAAsC;IAC1F,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js new file mode 100644 index 00000000000000..4839bad7d10b8a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js @@ -0,0 +1,49 @@ +import { combineLatest as higherOrder } from '../operators/combineLatest'; +/* tslint:enable:max-line-length */ +/** + * Combines multiple Observables to create an Observable whose values are + * calculated from the latest values of each of its input Observables. + * + * Whenever any input Observable emits a value, it + * computes a formula using the latest values from all the inputs, then emits + * the output of that formula. + * + * + * + * `combineLatest` combines the values from this Observable with values from + * Observables passed as arguments. This is done by subscribing to each + * Observable, in order, and collecting an array of each of the most recent + * values any time any of the input Observables emits, then either taking that + * array and passing it as arguments to an optional `project` function and + * emitting the return value of that, or just emitting the array of recent + * values directly if there is no `project` function. + * + * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height + * var weight = Rx.Observable.of(70, 72, 76, 79, 75); + * var height = Rx.Observable.of(1.76, 1.77, 1.78); + * var bmi = weight.combineLatest(height, (w, h) => w / (h * h)); + * bmi.subscribe(x => console.log('BMI is ' + x)); + * + * // With output to console: + * // BMI is 24.212293388429753 + * // BMI is 23.93948099205209 + * // BMI is 23.671253629592222 + * + * @see {@link combineAll} + * @see {@link merge} + * @see {@link withLatestFrom} + * + * @param {ObservableInput} other An input Observable to combine with the source + * Observable. More than one input Observables may be given as argument. + * @param {function} [project] An optional function to project the values from + * the combined latest values into a new value on the output Observable. + * @return {Observable} An Observable of projected values from the most recent + * values from each input Observable, or an array of the most recent values from + * each input Observable. + * @method combineLatest + * @owner Observable + */ +export function combineLatest(...observables) { + return higherOrder(...observables)(this); +} +//# sourceMappingURL=combineLatest.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js.map new file mode 100644 index 00000000000000..461bebbb67add0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/combineLatest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineLatest.js","sourceRoot":"","sources":["../../src/operator/combineLatest.ts"],"names":[],"mappings":"OACO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,4BAA4B;AAiBzE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,8BAAyD,GAAG,WAE0B;IACpF,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js new file mode 100644 index 00000000000000..d2b73961480ce6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js @@ -0,0 +1,56 @@ +import { concat as higherOrder } from '../operators/concat'; +export { concat as concatStatic } from '../observable/concat'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which sequentially emits all values from every + * given input Observable after the current Observable. + * + * Concatenates multiple Observables together by + * sequentially emitting their values, one Observable after the other. + * + * + * + * Joins this Observable with multiple other Observables by subscribing to them + * one at a time, starting with the source, and merging their results into the + * output Observable. Will wait for each Observable to complete before moving + * on to the next. + * + * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10 + * var timer = Rx.Observable.interval(1000).take(4); + * var sequence = Rx.Observable.range(1, 10); + * var result = timer.concat(sequence); + * result.subscribe(x => console.log(x)); + * + * // results in: + * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10 + * + * @example Concatenate 3 Observables + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var result = timer1.concat(timer2, timer3); + * result.subscribe(x => console.log(x)); + * + * // results in the following: + * // (Prints to console sequentially) + * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9 + * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5 + * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9 + * + * @see {@link concatAll} + * @see {@link concatMap} + * @see {@link concatMapTo} + * + * @param {ObservableInput} other An input Observable to concatenate after the source + * Observable. More than one input Observables may be given as argument. + * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each + * Observable subscription on. + * @return {Observable} All values of each passed Observable merged into a + * single Observable, in order, in serial fashion. + * @method concat + * @owner Observable + */ +export function concat(...observables) { + return higherOrder(...observables)(this); +} +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js.map new file mode 100644 index 00000000000000..50de5f4f3a8244 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../src/operator/concat.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D,SAAS,MAAM,IAAI,YAAY,QAAQ,sBAAsB,CAAC;AAW9D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,uBAAkD,GAAG,WAAqD;IACxG,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js new file mode 100644 index 00000000000000..ecf9b05c924d5d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js @@ -0,0 +1,54 @@ +import { concatAll as higherOrder } from '../operators/concatAll'; +/* tslint:enable:max-line-length */ +/** + * Converts a higher-order Observable into a first-order Observable by + * concatenating the inner Observables in order. + * + * Flattens an Observable-of-Observables by putting one + * inner Observable after the other. + * + * + * + * Joins every Observable emitted by the source (a higher-order Observable), in + * a serial fashion. It subscribes to each inner Observable only after the + * previous inner Observable has completed, and merges all of their values into + * the returned observable. + * + * __Warning:__ If the source Observable emits Observables quickly and + * endlessly, and the inner Observables it emits generally complete slower than + * the source emits, you can run into memory issues as the incoming Observables + * collect in an unbounded buffer. + * + * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set + * to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4)); + * var firstOrder = higherOrder.concatAll(); + * firstOrder.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link combineAll} + * @see {@link concat} + * @see {@link concatMap} + * @see {@link concatMapTo} + * @see {@link exhaust} + * @see {@link mergeAll} + * @see {@link switch} + * @see {@link zipAll} + * + * @return {Observable} An Observable emitting values from all the inner + * Observables concatenated. + * @method concatAll + * @owner Observable + */ +export function concatAll() { + return higherOrder()(this); +} +//# sourceMappingURL=concatAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js.map new file mode 100644 index 00000000000000..d340e224a931ef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatAll.js","sourceRoot":"","sources":["../../src/operator/concatAll.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAKjE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH;IACE,MAAM,CAAM,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js new file mode 100644 index 00000000000000..987b3ac235c106 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js @@ -0,0 +1,65 @@ +import { concatMap as higherOrderConcatMap } from '../operators/concatMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable, in a serialized fashion waiting for each one to complete before + * merging the next. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link concatAll}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. Each new inner Observable is + * concatenated with the previous inner Observable. + * + * __Warning:__ if source values arrive endlessly and faster than their + * corresponding inner Observables can complete, it will result in memory issues + * as inner Observables amass in an unbounded buffer waiting for their turn to + * be subscribed to. + * + * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set + * to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4)); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link concat} + * @see {@link concatAll} + * @see {@link concatMapTo} + * @see {@link exhaustMap} + * @see {@link mergeMap} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and taking values from each projected inner + * Observable sequentially. + * @method concatMap + * @owner Observable + */ +export function concatMap(project, resultSelector) { + return higherOrderConcatMap(project, resultSelector)(this); +} +//# sourceMappingURL=concatMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js.map new file mode 100644 index 00000000000000..41de2cd918bdb5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMap.js","sourceRoot":"","sources":["../../src/operator/concatMap.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,wBAAwB;AAM1E,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,0BAAwD,OAAyD,EAC9E,cAA4F;IAC7H,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js new file mode 100644 index 00000000000000..b51b0ced4accbc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js @@ -0,0 +1,62 @@ +import { concatMapTo as higherOrder } from '../operators/concatMapTo'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is merged multiple + * times in a serialized fashion on the output Observable. + * + * It's like {@link concatMap}, but maps each value + * always to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then flattens those resulting Observables into one + * single Observable, which is the output Observable. Each new `innerObservable` + * instance emitted on the output Observable is concatenated with the previous + * `innerObservable` instance. + * + * __Warning:__ if source values arrive endlessly and faster than their + * corresponding inner Observables can complete, it will result in memory issues + * as inner Observables amass in an unbounded buffer waiting for their turn to + * be subscribed to. + * + * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter + * set to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4)); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link concat} + * @see {@link concatAll} + * @see {@link concatMap} + * @see {@link mergeMapTo} + * @see {@link switchMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An observable of values merged together by joining the + * passed observable with itself, one after the other, for each value emitted + * from the source. + * @method concatMapTo + * @owner Observable + */ +export function concatMapTo(innerObservable, resultSelector) { + return higherOrder(innerObservable, resultSelector)(this); +} +//# sourceMappingURL=concatMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js.map new file mode 100644 index 00000000000000..45b7f4490b757b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/concatMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMapTo.js","sourceRoot":"","sources":["../../src/operator/concatMapTo.ts"],"names":[],"mappings":"OACO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAKrE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,4BAA0D,eAA8B,EACnD,cAA4F;IAC/H,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js new file mode 100644 index 00000000000000..751ccf2e3d196b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js @@ -0,0 +1,53 @@ +import { count as higherOrder } from '../operators/count'; +/** + * Counts the number of emissions on the source and emits that number when the + * source completes. + * + * Tells how many values were emitted, when the source + * completes. + * + * + * + * `count` transforms an Observable that emits values into an Observable that + * emits a single value that represents the number of values emitted by the + * source Observable. If the source Observable terminates with an error, `count` + * will pass this error notification along without emitting a value first. If + * the source Observable does not terminate at all, `count` will neither emit + * a value nor terminate. This operator takes an optional `predicate` function + * as argument, in which case the output emission will represent the number of + * source values that matched `true` with the `predicate`. + * + * @example Counts how many seconds have passed before the first click happened + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var secondsBeforeClick = seconds.takeUntil(clicks); + * var result = secondsBeforeClick.count(); + * result.subscribe(x => console.log(x)); + * + * @example Counts how many odd numbers are there between 1 and 7 + * var numbers = Rx.Observable.range(1, 7); + * var result = numbers.count(i => i % 2 === 1); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // 4 + * + * @see {@link max} + * @see {@link min} + * @see {@link reduce} + * + * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A + * boolean function to select what values are to be counted. It is provided with + * arguments of: + * - `value`: the value from the source Observable. + * - `index`: the (zero-based) "index" of the value from the source Observable. + * - `source`: the source Observable instance itself. + * @return {Observable} An Observable of one number that represents the count as + * described above. + * @method count + * @owner Observable + */ +export function count(predicate) { + return higherOrder(predicate)(this); +} +//# sourceMappingURL=count.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js.map new file mode 100644 index 00000000000000..b5299e7e33a4f0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/count.js.map @@ -0,0 +1 @@ +{"version":3,"file":"count.js","sourceRoot":"","sources":["../../src/operator/count.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,sBAA8C,SAAuE;IACnH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js new file mode 100644 index 00000000000000..2dcf5712f26d61 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js @@ -0,0 +1,47 @@ +import { debounce as higherOrder } from '../operators/debounce'; +/** + * Emits a value from the source Observable only after a particular time span + * determined by another Observable has passed without another source emission. + * + * It's like {@link debounceTime}, but the time span of + * emission silence is determined by a second Observable. + * + * + * + * `debounce` delays values emitted by the source Observable, but drops previous + * pending delayed emissions if a new value arrives on the source Observable. + * This operator keeps track of the most recent value from the source + * Observable, and spawns a duration Observable by calling the + * `durationSelector` function. The value is emitted only when the duration + * Observable emits a value or completes, and if no other value was emitted on + * the source Observable since the duration Observable was spawned. If a new + * value appears before the duration Observable emits, the previous value will + * be dropped and will not be emitted on the output Observable. + * + * Like {@link debounceTime}, this is a rate-limiting operator, and also a + * delay-like operator since output emissions do not necessarily occur at the + * same time as they did on the source Observable. + * + * @example Emit the most recent click after a burst of clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.debounce(() => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounceTime} + * @see {@link delayWhen} + * @see {@link throttle} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the timeout + * duration for each source value, returned as an Observable or a Promise. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified duration Observable returned by + * `durationSelector`, and may drop some values if they occur too frequently. + * @method debounce + * @owner Observable + */ +export function debounce(durationSelector) { + return higherOrder(durationSelector)(this); +} +//# sourceMappingURL=debounce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js.map new file mode 100644 index 00000000000000..80b60d977bb4c8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/operator/debounce.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,uBAAuB;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,yBAAiD,gBAA6D;IAC5G,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js new file mode 100644 index 00000000000000..298ab82645437f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js @@ -0,0 +1,52 @@ +import { async } from '../scheduler/async'; +import { debounceTime as higherOrder } from '../operators/debounceTime'; +/** + * Emits a value from the source Observable only after a particular time span + * has passed without another source emission. + * + * It's like {@link delay}, but passes only the most + * recent value from each burst of emissions. + * + * + * + * `debounceTime` delays values emitted by the source Observable, but drops + * previous pending delayed emissions if a new value arrives on the source + * Observable. This operator keeps track of the most recent value from the + * source Observable, and emits that only when `dueTime` enough time has passed + * without any other value appearing on the source Observable. If a new value + * appears before `dueTime` silence occurs, the previous value will be dropped + * and will not be emitted on the output Observable. + * + * This is a rate-limiting operator, because it is impossible for more than one + * value to be emitted in any time window of duration `dueTime`, but it is also + * a delay-like operator since output emissions do not occur at the same time as + * they did on the source Observable. Optionally takes a {@link IScheduler} for + * managing timers. + * + * @example Emit the most recent click after a burst of clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.debounceTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounce} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttleTime} + * + * @param {number} dueTime The timeout duration in milliseconds (or the time + * unit determined internally by the optional `scheduler`) for the window of + * time required to wait for emission silence before emitting the most recent + * source value. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the timeout for each value. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified `dueTime`, and may drop some values if they occur + * too frequently. + * @method debounceTime + * @owner Observable + */ +export function debounceTime(dueTime, scheduler = async) { + return higherOrder(dueTime, scheduler)(this); +} +//# sourceMappingURL=debounceTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js.map new file mode 100644 index 00000000000000..4523bfea195961 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/debounceTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounceTime.js","sourceRoot":"","sources":["../../src/operator/debounceTime.ts"],"names":[],"mappings":"OAGO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,2BAA2B;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,6BAAqD,OAAe,EAAE,SAAS,GAAe,KAAK;IACjG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAkB,CAAC;AAChE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js new file mode 100644 index 00000000000000..ff61fda83f5007 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js @@ -0,0 +1,36 @@ +import { defaultIfEmpty as higherOrder } from '../operators/defaultIfEmpty'; +/* tslint:enable:max-line-length */ +/** + * Emits a given value if the source Observable completes without emitting any + * `next` value, otherwise mirrors the source Observable. + * + * If the source Observable turns out to be empty, then + * this operator will emit a default value. + * + * + * + * `defaultIfEmpty` emits the values emitted by the source Observable or a + * specified default value if the source Observable is empty (completes without + * having emitted any `next` value). + * + * @example If no clicks happen in 5 seconds, then emit "no clicks" + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000)); + * var result = clicksBeforeFive.defaultIfEmpty('no clicks'); + * result.subscribe(x => console.log(x)); + * + * @see {@link empty} + * @see {@link last} + * + * @param {any} [defaultValue=null] The default value used if the source + * Observable is empty. + * @return {Observable} An Observable that emits either the specified + * `defaultValue` if the source Observable emits no items, or the values emitted + * by the source Observable. + * @method defaultIfEmpty + * @owner Observable + */ +export function defaultIfEmpty(defaultValue = null) { + return higherOrder(defaultValue)(this); +} +//# sourceMappingURL=defaultIfEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js.map new file mode 100644 index 00000000000000..a2499881da025c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/defaultIfEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaultIfEmpty.js","sourceRoot":"","sources":["../../src/operator/defaultIfEmpty.ts"],"names":[],"mappings":"OAEO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,6BAA6B;AAK3E,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,+BAA0D,YAAY,GAAM,IAAI;IAC9E,MAAM,CAAC,WAAW,CAAO,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js new file mode 100644 index 00000000000000..18da4386b9c448 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js @@ -0,0 +1,45 @@ +import { async } from '../scheduler/async'; +import { delay as higherOrder } from '../operators/delay'; +/** + * Delays the emission of items from the source Observable by a given timeout or + * until a given Date. + * + * Time shifts each item by some specified amount of + * milliseconds. + * + * + * + * If the delay argument is a Number, this operator time shifts the source + * Observable by that amount of time expressed in milliseconds. The relative + * time intervals between the values are preserved. + * + * If the delay argument is a Date, this operator time shifts the start of the + * Observable execution until the given date occurs. + * + * @example Delay each click by one second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second + * delayedClicks.subscribe(x => console.log(x)); + * + * @example Delay all clicks until a future date happens + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var date = new Date('March 15, 2050 12:00:00'); // in the future + * var delayedClicks = clicks.delay(date); // click emitted only after that date + * delayedClicks.subscribe(x => console.log(x)); + * + * @see {@link debounceTime} + * @see {@link delayWhen} + * + * @param {number|Date} delay The delay duration in milliseconds (a `number`) or + * a `Date` until which the emission of the source items is delayed. + * @param {Scheduler} [scheduler=async] The IScheduler to use for + * managing the timers that handle the time-shift for each item. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified timeout or Date. + * @method delay + * @owner Observable + */ +export function delay(delay, scheduler = async) { + return higherOrder(delay, scheduler)(this); +} +//# sourceMappingURL=delay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js.map new file mode 100644 index 00000000000000..b50b888ca118f1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../src/operator/delay.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAGnC,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,sBAA8C,KAAkB,EACvC,SAAS,GAAe,KAAK;IACpD,MAAM,CAAC,WAAW,CAAI,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js new file mode 100644 index 00000000000000..338b3e6262d8c8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js @@ -0,0 +1,50 @@ +import { delayWhen as higherOrder } from '../operators/delayWhen'; +/** + * Delays the emission of items from the source Observable by a given time span + * determined by the emissions of another Observable. + * + * It's like {@link delay}, but the time span of the + * delay duration is determined by a second Observable. + * + * + * + * `delayWhen` time shifts each emitted value from the source Observable by a + * time span determined by another Observable. When the source emits a value, + * the `delayDurationSelector` function is called with the source value as + * argument, and should return an Observable, called the "duration" Observable. + * The source value is emitted on the output Observable only when the duration + * Observable emits a value or completes. + * + * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which + * is an Observable. When `subscriptionDelay` emits its first value or + * completes, the source Observable is subscribed to and starts behaving like + * described in the previous paragraph. If `subscriptionDelay` is not provided, + * `delayWhen` will subscribe to the source Observable as soon as the output + * Observable is subscribed. + * + * @example Delay each click by a random amount of time, between 0 and 5 seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var delayedClicks = clicks.delayWhen(event => + * Rx.Observable.interval(Math.random() * 5000) + * ); + * delayedClicks.subscribe(x => console.log(x)); + * + * @see {@link debounce} + * @see {@link delay} + * + * @param {function(value: T): Observable} delayDurationSelector A function that + * returns an Observable for each value emitted by the source Observable, which + * is then used to delay the emission of that item on the output Observable + * until the Observable returned from this function emits a value. + * @param {Observable} subscriptionDelay An Observable that triggers the + * subscription to the source Observable once it emits any value. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by an amount of time specified by the Observable returned by + * `delayDurationSelector`. + * @method delayWhen + * @owner Observable + */ +export function delayWhen(delayDurationSelector, subscriptionDelay) { + return higherOrder(delayDurationSelector, subscriptionDelay)(this); +} +//# sourceMappingURL=delayWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js.map new file mode 100644 index 00000000000000..2594970e7a4239 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/delayWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delayWhen.js","sourceRoot":"","sources":["../../src/operator/delayWhen.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,0BAAkD,qBAAoD,EACzE,iBAAmC;IAC9D,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js new file mode 100644 index 00000000000000..15eca3d84edf2f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js @@ -0,0 +1,45 @@ +import { dematerialize as higherOrder } from '../operators/dematerialize'; +/** + * Converts an Observable of {@link Notification} objects into the emissions + * that they represent. + * + * Unwraps {@link Notification} objects as actual `next`, + * `error` and `complete` emissions. The opposite of {@link materialize}. + * + * + * + * `dematerialize` is assumed to operate an Observable that only emits + * {@link Notification} objects as `next` emissions, and does not emit any + * `error`. Such Observable is the output of a `materialize` operation. Those + * notifications are then unwrapped using the metadata they contain, and emitted + * as `next`, `error`, and `complete` on the output Observable. + * + * Use this operator in conjunction with {@link materialize}. + * + * @example Convert an Observable of Notifications to an actual Observable + * var notifA = new Rx.Notification('N', 'A'); + * var notifB = new Rx.Notification('N', 'B'); + * var notifE = new Rx.Notification('E', void 0, + * new TypeError('x.toUpperCase is not a function') + * ); + * var materialized = Rx.Observable.of(notifA, notifB, notifE); + * var upperCase = materialized.dematerialize(); + * upperCase.subscribe(x => console.log(x), e => console.error(e)); + * + * // Results in: + * // A + * // B + * // TypeError: x.toUpperCase is not a function + * + * @see {@link Notification} + * @see {@link materialize} + * + * @return {Observable} An Observable that emits items and notifications + * embedded in Notification objects emitted by the source Observable. + * @method dematerialize + * @owner Observable + */ +export function dematerialize() { + return higherOrder()(this); +} +//# sourceMappingURL=dematerialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js.map new file mode 100644 index 00000000000000..c5b985ef9a3269 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/dematerialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dematerialize.js","sourceRoot":"","sources":["../../src/operator/dematerialize.ts"],"names":[],"mappings":"OAGO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,4BAA4B;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js new file mode 100644 index 00000000000000..6ae645a9d3b068 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js @@ -0,0 +1,50 @@ +import { distinct as higherOrder } from '../operators/distinct'; +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items. + * + * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will + * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the + * source observable directly with an equality check against previous values. + * + * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking. + * + * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the + * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct` + * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so + * that the internal `Set` can be "flushed", basically clearing it of values. + * + * @example A simple example with numbers + * Observable.of(1, 1, 2, 2, 2, 1, 2, 3, 4, 3, 2, 1) + * .distinct() + * .subscribe(x => console.log(x)); // 1, 2, 3, 4 + * + * @example An example using a keySelector function + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}) + * .distinct((p: Person) => p.name) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * + * @see {@link distinctUntilChanged} + * @see {@link distinctUntilKeyChanged} + * + * @param {function} [keySelector] Optional function to select which value you want to check as distinct. + * @param {Observable} [flushes] Optional Observable for flushing the internal HashSet of the operator. + * @return {Observable} An Observable that emits items from the source Observable with distinct values. + * @method distinct + * @owner Observable + */ +export function distinct(keySelector, flushes) { + return higherOrder(keySelector, flushes)(this); +} +//# sourceMappingURL=distinct.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js.map new file mode 100644 index 00000000000000..0a2c6895cdc4fb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinct.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../src/operator/distinct.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,uBAAuB;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,yBAC+B,WAA6B,EAC7B,OAAyB;IACtD,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js new file mode 100644 index 00000000000000..0b79e4782fd43b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js @@ -0,0 +1,45 @@ +import { distinctUntilChanged as higherOrder } from '../operators/distinctUntilChanged'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item. + * + * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted. + * + * If a comparator function is not provided, an equality check is used by default. + * + * @example A simple example with numbers + * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4) + * .distinctUntilChanged() + * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4 + * + * @example An example using a compare function + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}) + * { age: 6, name: 'Foo'}) + * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo' } + * + * @see {@link distinct} + * @see {@link distinctUntilKeyChanged} + * + * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source. + * @return {Observable} An Observable that emits items from the source Observable with distinct values. + * @method distinctUntilChanged + * @owner Observable + */ +export function distinctUntilChanged(compare, keySelector) { + return higherOrder(compare, keySelector)(this); +} +//# sourceMappingURL=distinctUntilChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js.map new file mode 100644 index 00000000000000..9dc18b9b943d1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilChanged.js","sourceRoot":"","sources":["../../src/operator/distinctUntilChanged.ts"],"names":[],"mappings":"OAEO,EAAE,oBAAoB,IAAI,WAAW,EAAE,MAAM,mCAAmC;AAKvF,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qCAAgE,OAAiC,EAAE,WAAyB;IAC1H,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js new file mode 100644 index 00000000000000..d0008a3f14a51e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js @@ -0,0 +1,63 @@ +import { distinctUntilKeyChanged as higherOrder } from '../operators/distinctUntilKeyChanged'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item, + * using a property accessed by using the key provided to check if the two items are distinct. + * + * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted. + * + * If a comparator function is not provided, an equality check is used by default. + * + * @example An example comparing the name of persons + * + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}, + * { age: 6, name: 'Foo'}) + * .distinctUntilKeyChanged('name') + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo' } + * + * @example An example comparing the first letters of the name + * + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo1'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo2'}, + * { age: 6, name: 'Foo3'}) + * .distinctUntilKeyChanged('name', (x: string, y: string) => x.substring(0, 3) === y.substring(0, 3)) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo1' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo2' } + * + * @see {@link distinct} + * @see {@link distinctUntilChanged} + * + * @param {string} key String key for object property lookup on each item. + * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source. + * @return {Observable} An Observable that emits items from the source Observable with distinct values based on the key specified. + * @method distinctUntilKeyChanged + * @owner Observable + */ +export function distinctUntilKeyChanged(key, compare) { + return higherOrder(key, compare)(this); +} +//# sourceMappingURL=distinctUntilKeyChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js.map new file mode 100644 index 00000000000000..4c34125917cd40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/distinctUntilKeyChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilKeyChanged.js","sourceRoot":"","sources":["../../src/operator/distinctUntilKeyChanged.ts"],"names":[],"mappings":"OAEO,EAAE,uBAAuB,IAAI,WAAW,EAAE,MAAM,sCAAsC;AAK7F,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wCAAgE,GAAW,EAAE,OAAiC;IAC5G,MAAM,CAAC,WAAW,CAAO,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js new file mode 100644 index 00000000000000..2b5131470f7c4f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js @@ -0,0 +1,49 @@ +import { tap as higherOrder } from '../operators/tap'; +/* tslint:enable:max-line-length */ +/** + * Perform a side effect for every emission on the source Observable, but return + * an Observable that is identical to the source. + * + * Intercepts each emission on the source and runs a + * function, but returns an output which is identical to the source as long as errors don't occur. + * + * + * + * Returns a mirrored Observable of the source Observable, but modified so that + * the provided Observer is called to perform a side effect for every value, + * error, and completion emitted by the source. Any errors that are thrown in + * the aforementioned Observer or handlers are safely sent down the error path + * of the output Observable. + * + * This operator is useful for debugging your Observables for the correct values + * or performing other side effects. + * + * Note: this is different to a `subscribe` on the Observable. If the Observable + * returned by `do` is not subscribed, the side effects specified by the + * Observer will never happen. `do` therefore simply spies on existing + * execution, it does not trigger an execution to happen like `subscribe` does. + * + * @example Map every click to the clientX position of that click, while also logging the click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var positions = clicks + * .do(ev => console.log(ev)) + * .map(ev => ev.clientX); + * positions.subscribe(x => console.log(x)); + * + * @see {@link map} + * @see {@link subscribe} + * + * @param {Observer|function} [nextOrObserver] A normal Observer object or a + * callback for `next`. + * @param {function} [error] Callback for errors in the source. + * @param {function} [complete] Callback for the completion of the source. + * @return {Observable} An Observable identical to the source, but runs the + * specified Observer or callback(s) for each item. + * @method do + * @name do + * @owner Observable + */ +export function _do(nextOrObserver, error, complete) { + return higherOrder(nextOrObserver, error, complete)(this); +} +//# sourceMappingURL=do.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js.map new file mode 100644 index 00000000000000..2599e4c44aabc7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/do.js.map @@ -0,0 +1 @@ +{"version":3,"file":"do.js","sourceRoot":"","sources":["../../src/operator/do.ts"],"names":[],"mappings":"OAGO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,kBAAkB;AAKrD,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,oBAA4C,cAAsD,EAC3E,KAAwB,EACxB,QAAqB;IAC1C,MAAM,CAAC,WAAW,CAAM,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AAClF,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js new file mode 100644 index 00000000000000..f358561cff133d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js @@ -0,0 +1,47 @@ +import { elementAt as higherOrder } from '../operators/elementAt'; +/** + * Emits the single value at the specified `index` in a sequence of emissions + * from the source Observable. + * + * Emits only the i-th value, then completes. + * + * + * + * `elementAt` returns an Observable that emits the item at the specified + * `index` in the source Observable, or a default value if that `index` is out + * of range and the `default` argument is provided. If the `default` argument is + * not given and the `index` is out of range, the output Observable will emit an + * `ArgumentOutOfRangeError` error. + * + * @example Emit only the third click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.elementAt(2); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // click 1 = nothing + * // click 2 = nothing + * // click 3 = MouseEvent object logged to console + * + * @see {@link first} + * @see {@link last} + * @see {@link skip} + * @see {@link single} + * @see {@link take} + * + * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the + * Observable has completed before emitting the i-th `next` notification. + * + * @param {number} index Is the number `i` for the i-th source emission that has + * happened since the subscription, starting from the number `0`. + * @param {T} [defaultValue] The default value returned for missing indices. + * @return {Observable} An Observable that emits a single item, if it is found. + * Otherwise, will emit the default value if given. If not, then emits an error. + * @method elementAt + * @owner Observable + */ +export function elementAt(index, defaultValue) { + return higherOrder(index, defaultValue)(this); +} +//# sourceMappingURL=elementAt.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js.map new file mode 100644 index 00000000000000..7686a8101adc6e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/elementAt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"elementAt.js","sourceRoot":"","sources":["../../src/operator/elementAt.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,0BAAkD,KAAa,EAAE,YAAgB;IAC/E,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js new file mode 100644 index 00000000000000..28d34f416af7ae --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js @@ -0,0 +1,19 @@ +import { every as higherOrder } from '../operators/every'; +/** + * Returns an Observable that emits whether or not every item of the source satisfies the condition specified. + * + * @example A simple example emitting true if all elements are less than 5, false otherwise + * Observable.of(1, 2, 3, 4, 5, 6) + * .every(x => x < 5) + * .subscribe(x => console.log(x)); // -> false + * + * @param {function} predicate A function for determining if an item meets a specified condition. + * @param {any} [thisArg] Optional object to use for `this` in the callback. + * @return {Observable} An Observable of booleans that determines if all items of the source Observable meet the condition specified. + * @method every + * @owner Observable + */ +export function every(predicate, thisArg) { + return higherOrder(predicate, thisArg)(this); +} +//# sourceMappingURL=every.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js.map new file mode 100644 index 00000000000000..d2fc666ddf08d8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/every.js.map @@ -0,0 +1 @@ +{"version":3,"file":"every.js","sourceRoot":"","sources":["../../src/operator/every.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;GAaG;AACH,sBAA8C,SAAsE,EAC3F,OAAa;IACpC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js new file mode 100644 index 00000000000000..02c5cff3e6ef34 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js @@ -0,0 +1,40 @@ +import { exhaust as higherOrder } from '../operators/exhaust'; +/** + * Converts a higher-order Observable into a first-order Observable by dropping + * inner Observables while the previous inner Observable has not yet completed. + * + * Flattens an Observable-of-Observables by dropping the + * next inner Observables while the current inner is still executing. + * + * + * + * `exhaust` subscribes to an Observable that emits Observables, also known as a + * higher-order Observable. Each time it observes one of these emitted inner + * Observables, the output Observable begins emitting the items emitted by that + * inner Observable. So far, it behaves like {@link mergeAll}. However, + * `exhaust` ignores every new inner Observable if the previous Observable has + * not yet completed. Once that one completes, it will accept and flatten the + * next inner Observable and repeat this process. + * + * @example Run a finite timer for each click, only if there is no currently active timer + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(5)); + * var result = higherOrder.exhaust(); + * result.subscribe(x => console.log(x)); + * + * @see {@link combineAll} + * @see {@link concatAll} + * @see {@link switch} + * @see {@link mergeAll} + * @see {@link exhaustMap} + * @see {@link zipAll} + * + * @return {Observable} An Observable that takes a source of Observables and propagates the first observable + * exclusively until it completes before subscribing to the next. + * @method exhaust + * @owner Observable + */ +export function exhaust() { + return higherOrder()(this); +} +//# sourceMappingURL=exhaust.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js.map new file mode 100644 index 00000000000000..fabda8b3047532 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaust.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaust.js","sourceRoot":"","sources":["../../src/operator/exhaust.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js new file mode 100644 index 00000000000000..54fa682a467844 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js @@ -0,0 +1,51 @@ +import { exhaustMap as higherOrder } from '../operators/exhaustMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable only if the previous projected Observable has completed. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link exhaust}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. When it projects a source value to + * an Observable, the output Observable begins emitting the items emitted by + * that projected Observable. However, `exhaustMap` ignores every new projected + * Observable if the previous projected Observable has not yet completed. Once + * that one completes, it will accept and flatten the next projected Observable + * and repeat this process. + * + * @example Run a finite timer for each click, only if there is no currently active timer + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000).take(5)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMap} + * @see {@link exhaust} + * @see {@link mergeMap} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable containing projected Observables + * of each item of the source, ignoring projected Observables that start before + * their preceding Observable has completed. + * @method exhaustMap + * @owner Observable + */ +export function exhaustMap(project, resultSelector) { + return higherOrder(project, resultSelector)(this); +} +//# sourceMappingURL=exhaustMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js.map new file mode 100644 index 00000000000000..243f67839d765c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/exhaustMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaustMap.js","sourceRoot":"","sources":["../../src/operator/exhaustMap.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAKnE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,2BAAyD,OAAwD,EAC7E,cAA4F;IAC9H,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js new file mode 100644 index 00000000000000..a544be0f3543f1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js @@ -0,0 +1,52 @@ +import { expand as higherOrder } from '../operators/expand'; +/* tslint:enable:max-line-length */ +/** + * Recursively projects each source value to an Observable which is merged in + * the output Observable. + * + * It's similar to {@link mergeMap}, but applies the + * projection function to every source value as well as every output value. + * It's recursive. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an Observable, and then merging those resulting Observables and + * emitting the results of this merger. *Expand* will re-emit on the output + * Observable every source value. Then, each output value is given to the + * `project` function which returns an inner Observable to be merged on the + * output Observable. Those output values resulting from the projection are also + * given to the `project` function to produce new output values. This is how + * *expand* behaves recursively. + * + * @example Start emitting the powers of two on every click, at most 10 of them + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var powersOfTwo = clicks + * .mapTo(1) + * .expand(x => Rx.Observable.of(2 * x).delay(1000)) + * .take(10); + * powersOfTwo.subscribe(x => console.log(x)); + * + * @see {@link mergeMap} + * @see {@link mergeScan} + * + * @param {function(value: T, index: number) => Observable} project A function + * that, when applied to an item emitted by the source or the output Observable, + * returns an Observable. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to + * each projected inner Observable. + * @return {Observable} An Observable that emits the source values and also + * result of applying the projection function to each value emitted on the + * output Observable and and merging the results of the Observables obtained + * from this transformation. + * @method expand + * @owner Observable + */ +export function expand(project, concurrent = Number.POSITIVE_INFINITY, scheduler = undefined) { + concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent; + return higherOrder(project, concurrent, scheduler)(this); +} +//# sourceMappingURL=expand.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js.map new file mode 100644 index 00000000000000..e4486d8790edd4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/expand.js.map @@ -0,0 +1 @@ +{"version":3,"file":"expand.js","sourceRoot":"","sources":["../../src/operator/expand.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAK3D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,uBAAkD,OAAmD,EACxE,UAAU,GAAW,MAAM,CAAC,iBAAiB,EAC7C,SAAS,GAAe,SAAS;IAC5D,UAAU,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,iBAAiB,GAAG,UAAU,CAAC;IAE3E,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js new file mode 100644 index 00000000000000..c57a64b4e16c61 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js @@ -0,0 +1,45 @@ +import { filter as higherOrderFilter } from '../operators/filter'; +/* tslint:enable:max-line-length */ +/** + * Filter items emitted by the source Observable by only emitting those that + * satisfy a specified predicate. + * + * Like + * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter), + * it only emits a value from the source if it passes a criterion function. + * + * + * + * Similar to the well-known `Array.prototype.filter` method, this operator + * takes values from the source Observable, passes them through a `predicate` + * function and only emits those values that yielded `true`. + * + * @example Emit only click events whose target was a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV'); + * clicksOnDivs.subscribe(x => console.log(x)); + * + * @see {@link distinct} + * @see {@link distinctUntilChanged} + * @see {@link distinctUntilKeyChanged} + * @see {@link ignoreElements} + * @see {@link partition} + * @see {@link skip} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates each value emitted by the source Observable. If it returns `true`, + * the value is emitted, if `false` the value is not passed to the output + * Observable. The `index` parameter is the number `i` for the i-th source + * emission that has happened since the subscription, starting from the number + * `0`. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of values from the source that were + * allowed by the `predicate` function. + * @method filter + * @owner Observable + */ +export function filter(predicate, thisArg) { + return higherOrderFilter(predicate, thisArg)(this); +} +//# sourceMappingURL=filter.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js.map new file mode 100644 index 00000000000000..6abb45c2d615f8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operator/filter.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,qBAAqB;AASjE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,uBAA+C,SAA+C,EACpE,OAAa;IACrC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js new file mode 100644 index 00000000000000..740cd765e2be73 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js @@ -0,0 +1,13 @@ +import { finalize } from '../operators/finalize'; +/** + * Returns an Observable that mirrors the source Observable, but will call a specified function when + * the source terminates on complete or error. + * @param {function} callback Function to be called when source terminates. + * @return {Observable} An Observable that mirrors the source, but will call the specified function on termination. + * @method finally + * @owner Observable + */ +export function _finally(callback) { + return finalize(callback)(this); +} +//# sourceMappingURL=finally.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js.map new file mode 100644 index 00000000000000..fa9f5ae64765f3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/finally.js.map @@ -0,0 +1 @@ +{"version":3,"file":"finally.js","sourceRoot":"","sources":["../../src/operator/finally.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,EAAE,MAAM,uBAAuB;AAEhD;;;;;;;GAOG;AACH,yBAAiD,QAAoB;IACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js new file mode 100644 index 00000000000000..6521b51e3f3141 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js @@ -0,0 +1,39 @@ +import { find as higherOrder } from '../operators/find'; +/* tslint:enable:max-line-length */ +/** + * Emits only the first value emitted by the source Observable that meets some + * condition. + * + * Finds the first value that passes some test and emits + * that. + * + * + * + * `find` searches for the first item in the source Observable that matches the + * specified condition embodied by the `predicate`, and returns the first + * occurrence in the source. Unlike {@link first}, the `predicate` is required + * in `find`, and does not emit an error if a valid value is not found. + * + * @example Find and emit the first click that happens on a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.find(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link first} + * @see {@link findIndex} + * @see {@link take} + * + * @param {function(value: T, index: number, source: Observable): boolean} predicate + * A function called with each item to test for condition matching. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of the first item that matches the + * condition. + * @method find + * @owner Observable + */ +export function find(predicate, thisArg) { + return higherOrder(predicate, thisArg)(this); +} +//# sourceMappingURL=find.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js.map new file mode 100644 index 00000000000000..615dbadf164307 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/find.js.map @@ -0,0 +1 @@ +{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operator/find.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB;AASvD,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAA6C,SAAsE,EAC3F,OAAa;IACnC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js new file mode 100644 index 00000000000000..eec92243837ec9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js @@ -0,0 +1,39 @@ +import { findIndex as higherOrder } from '../operators/findIndex'; +/** + * Emits only the index of the first value emitted by the source Observable that + * meets some condition. + * + * It's like {@link find}, but emits the index of the + * found value, not the value itself. + * + * + * + * `findIndex` searches for the first item in the source Observable that matches + * the specified condition embodied by the `predicate`, and returns the + * (zero-based) index of the first occurrence in the source. Unlike + * {@link first}, the `predicate` is required in `findIndex`, and does not emit + * an error if a valid value is not found. + * + * @example Emit the index of first click that happens on a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link find} + * @see {@link first} + * @see {@link take} + * + * @param {function(value: T, index: number, source: Observable): boolean} predicate + * A function called with each item to test for condition matching. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of the index of the first item that + * matches the condition. + * @method find + * @owner Observable + */ +export function findIndex(predicate, thisArg) { + return higherOrder(predicate, thisArg)(this); +} +//# sourceMappingURL=findIndex.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js.map new file mode 100644 index 00000000000000..77ac8f36f87576 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/findIndex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"findIndex.js","sourceRoot":"","sources":["../../src/operator/findIndex.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,0BAAkD,SAAsE,EAC3F,OAAa;IACxC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js new file mode 100644 index 00000000000000..cc97bd80e2343b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js @@ -0,0 +1,54 @@ +import { first as higherOrder } from '../operators/first'; +/** + * Emits only the first value (or the first value that meets some condition) + * emitted by the source Observable. + * + * Emits only the first value. Or emits only the first + * value that passes some test. + * + * + * + * If called with no arguments, `first` emits the first value of the source + * Observable, then completes. If called with a `predicate` function, `first` + * emits the first value of the source that matches the specified condition. It + * may also take a `resultSelector` function to produce the output value from + * the input value, and a `defaultValue` to emit in case the source completes + * before it is able to emit a valid value. Throws an error if `defaultValue` + * was not provided and a matching element is not found. + * + * @example Emit only the first click that happens on the DOM + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.first(); + * result.subscribe(x => console.log(x)); + * + * @example Emits the first click that happens on a DIV + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.first(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link find} + * @see {@link take} + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * + * @param {function(value: T, index: number, source: Observable): boolean} [predicate] + * An optional function called with each item to test for condition matching. + * @param {function(value: T, index: number): R} [resultSelector] A function to + * produce the value on the output Observable based on the values + * and the indices of the source Observable. The arguments passed to this + * function are: + * - `value`: the value that was emitted on the source. + * - `index`: the "index" of the value from the source. + * @param {R} [defaultValue] The default value emitted in case no valid value + * was found on the source. + * @return {Observable} An Observable of the first item that matches the + * condition. + * @method first + * @owner Observable + */ +export function first(predicate, resultSelector, defaultValue) { + return higherOrder(predicate, resultSelector, defaultValue)(this); +} +//# sourceMappingURL=first.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js.map new file mode 100644 index 00000000000000..663b25f3f69cd7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/first.js.map @@ -0,0 +1 @@ +{"version":3,"file":"first.js","sourceRoot":"","sources":["../../src/operator/first.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAuBzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,sBAAiD,SAAuE,EAC5F,cAAwD,EACxD,YAAgB;IAC1C,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,cAAqB,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js new file mode 100644 index 00000000000000..73db84a47d9e10 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js @@ -0,0 +1,74 @@ +import { groupBy as higherOrder, GroupedObservable } from '../operators/groupBy'; +export { GroupedObservable }; +/* tslint:enable:max-line-length */ +/** + * Groups the items emitted by an Observable according to a specified criterion, + * and emits these grouped items as `GroupedObservables`, one + * {@link GroupedObservable} per group. + * + * + * + * @example Group objects by id and return as array + * Observable.of({id: 1, name: 'aze1'}, + * {id: 2, name: 'sf2'}, + * {id: 2, name: 'dg2'}, + * {id: 1, name: 'erg1'}, + * {id: 1, name: 'df1'}, + * {id: 2, name: 'sfqfb2'}, + * {id: 3, name: 'qfs3'}, + * {id: 2, name: 'qsgqsfg2'} + * ) + * .groupBy(p => p.id) + * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], [])) + * .subscribe(p => console.log(p)); + * + * // displays: + * // [ { id: 1, name: 'aze1' }, + * // { id: 1, name: 'erg1' }, + * // { id: 1, name: 'df1' } ] + * // + * // [ { id: 2, name: 'sf2' }, + * // { id: 2, name: 'dg2' }, + * // { id: 2, name: 'sfqfb2' }, + * // { id: 2, name: 'qsgqsfg2' } ] + * // + * // [ { id: 3, name: 'qfs3' } ] + * + * @example Pivot data on the id field + * Observable.of({id: 1, name: 'aze1'}, + * {id: 2, name: 'sf2'}, + * {id: 2, name: 'dg2'}, + * {id: 1, name: 'erg1'}, + * {id: 1, name: 'df1'}, + * {id: 2, name: 'sfqfb2'}, + * {id: 3, name: 'qfs1'}, + * {id: 2, name: 'qsgqsfg2'} + * ) + * .groupBy(p => p.id, p => p.name) + * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], ["" + group$.key])) + * .map(arr => ({'id': parseInt(arr[0]), 'values': arr.slice(1)})) + * .subscribe(p => console.log(p)); + * + * // displays: + * // { id: 1, values: [ 'aze1', 'erg1', 'df1' ] } + * // { id: 2, values: [ 'sf2', 'dg2', 'sfqfb2', 'qsgqsfg2' ] } + * // { id: 3, values: [ 'qfs1' ] } + * + * @param {function(value: T): K} keySelector A function that extracts the key + * for each item. + * @param {function(value: T): R} [elementSelector] A function that extracts the + * return element for each item. + * @param {function(grouped: GroupedObservable): Observable} [durationSelector] + * A function that returns an Observable to determine how long each group should + * exist. + * @return {Observable>} An Observable that emits + * GroupedObservables, each of which corresponds to a unique key value and each + * of which emits those items from the source Observable that share that key + * value. + * @method groupBy + * @owner Observable + */ +export function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) { + return higherOrder(keySelector, elementSelector, durationSelector, subjectSelector)(this); +} +//# sourceMappingURL=groupBy.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js.map new file mode 100644 index 00000000000000..a174abedbad24b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/groupBy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../src/operator/groupBy.ts"],"names":[],"mappings":"OAGO,EAAE,OAAO,IAAI,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB;AAChF,SAAS,iBAAiB,GAAG;AAO7B,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,wBAAsD,WAA4B,EACjD,eAA0C,EAC1C,gBAAwE,EACxE,eAAkC;IACjE,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,eAAsB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js new file mode 100644 index 00000000000000..6223239b211365 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js @@ -0,0 +1,16 @@ +import { ignoreElements as higherOrder } from '../operators/ignoreElements'; +/** + * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`. + * + * + * + * @return {Observable} An empty Observable that only calls `complete` + * or `error`, based on which one is called by the source Observable. + * @method ignoreElements + * @owner Observable + */ +export function ignoreElements() { + return higherOrder()(this); +} +; +//# sourceMappingURL=ignoreElements.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js.map new file mode 100644 index 00000000000000..063cc8c5b0b4af --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/ignoreElements.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ignoreElements.js","sourceRoot":"","sources":["../../src/operator/ignoreElements.ts"],"names":[],"mappings":"OACO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,6BAA6B;AAE3E;;;;;;;;;GASG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js new file mode 100644 index 00000000000000..c5143de3906ad8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js @@ -0,0 +1,14 @@ +import { isEmpty as higherOrder } from '../operators/isEmpty'; +/** + * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false. + * + * + * + * @return {Observable} An Observable that emits a Boolean. + * @method isEmpty + * @owner Observable + */ +export function isEmpty() { + return higherOrder()(this); +} +//# sourceMappingURL=isEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js.map new file mode 100644 index 00000000000000..e8b7a9e1e551ce --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/isEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isEmpty.js","sourceRoot":"","sources":["../../src/operator/isEmpty.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB;AAE7D;;;;;;;;GAQG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js new file mode 100644 index 00000000000000..202219a27a7448 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js @@ -0,0 +1,23 @@ +import { last as higherOrder } from '../operators/last'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits only the last item emitted by the source Observable. + * It optionally takes a predicate function as a parameter, in which case, rather than emitting + * the last item from the source Observable, the resulting Observable will emit the last item + * from the source Observable that satisfies the predicate. + * + * + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * @param {function} predicate - The condition any source emitted item has to satisfy. + * @return {Observable} An Observable that emits only the last item satisfying the given condition + * from the source, or an NoSuchElementException if no such items are emitted. + * @throws - Throws if no items that match the predicate are emitted by the source Observable. + * @method last + * @owner Observable + */ +export function last(predicate, resultSelector, defaultValue) { + return higherOrder(predicate, resultSelector, defaultValue)(this); +} +//# sourceMappingURL=last.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js.map new file mode 100644 index 00000000000000..00d0ac38651c1a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/last.js.map @@ -0,0 +1 @@ +{"version":3,"file":"last.js","sourceRoot":"","sources":["../../src/operator/last.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB;AAsBvD,mCAAmC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAgD,SAAuE,EAC5F,cAAwD,EACxD,YAAgB;IACzC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,cAAqB,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js new file mode 100644 index 00000000000000..8d5d3a96633637 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js @@ -0,0 +1,10 @@ +/** + * @param func + * @return {Observable} + * @method let + * @owner Observable + */ +export function letProto(func) { + return func(this); +} +//# sourceMappingURL=let.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js.map new file mode 100644 index 00000000000000..a0c984c3764a7b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/let.js.map @@ -0,0 +1 @@ +{"version":3,"file":"let.js","sourceRoot":"","sources":["../../src/operator/let.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,yBAAoD,IAAgD;IAClG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js new file mode 100644 index 00000000000000..42fc7c357d07e5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js @@ -0,0 +1,38 @@ +import { map as higherOrderMap } from '../operators/map'; +/** + * Applies a given `project` function to each value emitted by the source + * Observable, and emits the resulting values as an Observable. + * + * Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map), + * it passes each source value through a transformation function to get + * corresponding output values. + * + * + * + * Similar to the well known `Array.prototype.map` function, this operator + * applies a projection to each value and emits that projection in the output + * Observable. + * + * @example Map every click to the clientX position of that click + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var positions = clicks.map(ev => ev.clientX); + * positions.subscribe(x => console.log(x)); + * + * @see {@link mapTo} + * @see {@link pluck} + * + * @param {function(value: T, index: number): R} project The function to apply + * to each `value` emitted by the source Observable. The `index` parameter is + * the number `i` for the i-th emission that has happened since the + * subscription, starting from the number `0`. + * @param {any} [thisArg] An optional argument to define what `this` is in the + * `project` function. + * @return {Observable} An Observable that emits the values from the source + * Observable transformed by the given `project` function. + * @method map + * @owner Observable + */ +export function map(project, thisArg) { + return higherOrderMap(project, thisArg)(this); +} +//# sourceMappingURL=map.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js.map new file mode 100644 index 00000000000000..78d52a886c963a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/map.js.map @@ -0,0 +1 @@ +{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/operator/map.ts"],"names":[],"mappings":"OAAO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,kBAAkB;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,oBAA+C,OAAuC,EAAE,OAAa;IACnG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js new file mode 100644 index 00000000000000..93f589da0cb8d2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js @@ -0,0 +1,31 @@ +import { mapTo as higherOrder } from '../operators/mapTo'; +/** + * Emits the given constant value on the output Observable every time the source + * Observable emits a value. + * + * Like {@link map}, but it maps every source value to + * the same output value every time. + * + * + * + * Takes a constant `value` as argument, and emits that whenever the source + * Observable emits a value. In other words, ignores the actual source value, + * and simply uses the emission moment to know when to emit the given `value`. + * + * @example Map every click to the string 'Hi' + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var greetings = clicks.mapTo('Hi'); + * greetings.subscribe(x => console.log(x)); + * + * @see {@link map} + * + * @param {any} value The value to map each source value to. + * @return {Observable} An Observable that emits the given `value` every time + * the source Observable emits something. + * @method mapTo + * @owner Observable + */ +export function mapTo(value) { + return higherOrder(value)(this); +} +//# sourceMappingURL=mapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js.map new file mode 100644 index 00000000000000..2e1d8fd029cb5f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mapTo.js","sourceRoot":"","sources":["../../src/operator/mapTo.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,sBAAiD,KAAQ;IACvD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js new file mode 100644 index 00000000000000..c92ad78405d14c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js @@ -0,0 +1,49 @@ +import { materialize as higherOrder } from '../operators/materialize'; +/** + * Represents all of the notifications from the source Observable as `next` + * emissions marked with their original types within {@link Notification} + * objects. + * + * Wraps `next`, `error` and `complete` emissions in + * {@link Notification} objects, emitted as `next` on the output Observable. + * + * + * + * + * `materialize` returns an Observable that emits a `next` notification for each + * `next`, `error`, or `complete` emission of the source Observable. When the + * source Observable emits `complete`, the output Observable will emit `next` as + * a Notification of type "complete", and then it will emit `complete` as well. + * When the source Observable emits `error`, the output will emit `next` as a + * Notification of type "error", and then `complete`. + * + * This operator is useful for producing metadata of the source Observable, to + * be consumed as `next` emissions. Use it in conjunction with + * {@link dematerialize}. + * + * @example Convert a faulty Observable to an Observable of Notifications + * var letters = Rx.Observable.of('a', 'b', 13, 'd'); + * var upperCase = letters.map(x => x.toUpperCase()); + * var materialized = upperCase.materialize(); + * materialized.subscribe(x => console.log(x)); + * + * // Results in the following: + * // - Notification {kind: "N", value: "A", error: undefined, hasValue: true} + * // - Notification {kind: "N", value: "B", error: undefined, hasValue: true} + * // - Notification {kind: "E", value: undefined, error: TypeError: + * // x.toUpperCase is not a function at MapSubscriber.letters.map.x + * // [as project] (http://1…, hasValue: false} + * + * @see {@link Notification} + * @see {@link dematerialize} + * + * @return {Observable>} An Observable that emits + * {@link Notification} objects that wrap the original emissions from the source + * Observable with metadata. + * @method materialize + * @owner Observable + */ +export function materialize() { + return higherOrder()(this); +} +//# sourceMappingURL=materialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js.map new file mode 100644 index 00000000000000..c5ed78e9737128 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/materialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/operator/materialize.ts"],"names":[],"mappings":"OAGO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAgC,CAAC;AAC5D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js new file mode 100644 index 00000000000000..430013bfd95396 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js @@ -0,0 +1,36 @@ +import { max as higherOrderMax } from '../operators/max'; +/** + * The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function), + * and when source Observable completes it emits a single item: the item with the largest value. + * + * + * + * @example Get the maximal value of a series of numbers + * Rx.Observable.of(5, 4, 7, 2, 8) + * .max() + * .subscribe(x => console.log(x)); // -> 8 + * + * @example Use a comparer function to get the maximal item + * interface Person { + * age: number, + * name: string + * } + * Observable.of({age: 7, name: 'Foo'}, + * {age: 5, name: 'Bar'}, + * {age: 9, name: 'Beer'}) + * .max((a: Person, b: Person) => a.age < b.age ? -1 : 1) + * .subscribe((x: Person) => console.log(x.name)); // -> 'Beer' + * } + * + * @see {@link min} + * + * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the + * value of two items. + * @return {Observable} An Observable that emits item with the largest value. + * @method max + * @owner Observable + */ +export function max(comparer) { + return higherOrderMax(comparer)(this); +} +//# sourceMappingURL=max.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js.map new file mode 100644 index 00000000000000..d4a472f06c8a54 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/max.js.map @@ -0,0 +1 @@ +{"version":3,"file":"max.js","sourceRoot":"","sources":["../../src/operator/max.ts"],"names":[],"mappings":"OACO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,kBAAkB;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,oBAA4C,QAAiC;IAC3E,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js new file mode 100644 index 00000000000000..322cd90cd87316 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js @@ -0,0 +1,53 @@ +import { merge as higherOrder } from '../operators/merge'; +export { merge as mergeStatic } from '../observable/merge'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which concurrently emits all values from every + * given input Observable. + * + * Flattens multiple Observables together by blending + * their values into one Observable. + * + * + * + * `merge` subscribes to each given input Observable (either the source or an + * Observable given as argument), and simply forwards (without doing any + * transformation) all the values from all the input Observables to the output + * Observable. The output Observable only completes once all input Observables + * have completed. Any error delivered by an input Observable will be immediately + * emitted on the output Observable. + * + * @example Merge together two Observables: 1s interval and clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var timer = Rx.Observable.interval(1000); + * var clicksOrTimer = clicks.merge(timer); + * clicksOrTimer.subscribe(x => console.log(x)); + * + * @example Merge together 3 Observables, but only 2 run concurrently + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var concurrent = 2; // the argument + * var merged = timer1.merge(timer2, timer3, concurrent); + * merged.subscribe(x => console.log(x)); + * + * @see {@link mergeAll} + * @see {@link mergeMap} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * + * @param {ObservableInput} other An input Observable to merge with the source + * Observable. More than one input Observables may be given as argument. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @param {Scheduler} [scheduler=null] The IScheduler to use for managing + * concurrency of input Observables. + * @return {Observable} An Observable that emits items that are the result of + * every input Observable. + * @method merge + * @owner Observable + */ +export function merge(...observables) { + return higherOrder(...observables)(this); +} +//# sourceMappingURL=merge.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js.map new file mode 100644 index 00000000000000..f9c35c8e64482a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/merge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operator/merge.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD,SAAS,KAAK,IAAI,WAAW,QAAQ,qBAAqB,CAAC;AAiB3D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,sBAAiD,GAAG,WAA8D;IAChH,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC5D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js new file mode 100644 index 00000000000000..2464518a3a1992 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js @@ -0,0 +1,49 @@ +import { mergeAll as higherOrder } from '../operators/mergeAll'; +/** + * Converts a higher-order Observable into a first-order Observable which + * concurrently delivers all values that are emitted on the inner Observables. + * + * Flattens an Observable-of-Observables. + * + * + * + * `mergeAll` subscribes to an Observable that emits Observables, also known as + * a higher-order Observable. Each time it observes one of these emitted inner + * Observables, it subscribes to that and delivers all the values from the + * inner Observable on the output Observable. The output Observable only + * completes once all inner Observables have completed. Any error delivered by + * a inner Observable will be immediately emitted on the output Observable. + * + * @example Spawn a new interval Observable for each click event, and blend their outputs as one Observable + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000)); + * var firstOrder = higherOrder.mergeAll(); + * firstOrder.subscribe(x => console.log(x)); + * + * @example Count from 0 to 9 every second for each click, but only allow 2 concurrent timers + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10)); + * var firstOrder = higherOrder.mergeAll(2); + * firstOrder.subscribe(x => console.log(x)); + * + * @see {@link combineAll} + * @see {@link concatAll} + * @see {@link exhaust} + * @see {@link merge} + * @see {@link mergeMap} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * @see {@link switch} + * @see {@link zipAll} + * + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits values coming from all the + * inner Observables emitted by the source Observable. + * @method mergeAll + * @owner Observable + */ +export function mergeAll(concurrent = Number.POSITIVE_INFINITY) { + return higherOrder(concurrent)(this); +} +//# sourceMappingURL=mergeAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js.map new file mode 100644 index 00000000000000..a8a04ea9423673 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeAll.js","sourceRoot":"","sources":["../../src/operator/mergeAll.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,uBAAuB;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,yBAAiD,UAAU,GAAW,MAAM,CAAC,iBAAiB;IAC5F,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAkB,CAAC;AACxD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js new file mode 100644 index 00000000000000..c7c1bd99cb75be --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js @@ -0,0 +1,64 @@ +import { mergeMap as higherOrderMergeMap } from '../operators/mergeMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link mergeAll}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an Observable, and then merging those resulting Observables and + * emitting the results of this merger. + * + * @example Map and flatten each letter to an Observable ticking every 1 second + * var letters = Rx.Observable.of('a', 'b', 'c'); + * var result = letters.mergeMap(x => + * Rx.Observable.interval(1000).map(i => x+i) + * ); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // a0 + * // b0 + * // c0 + * // a1 + * // b1 + * // c1 + * // continues to list a,b,c with respective ascending integers + * + * @see {@link concatMap} + * @see {@link exhaustMap} + * @see {@link merge} + * @see {@link mergeAll} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and merging the results of the Observables obtained + * from this transformation. + * @method mergeMap + * @owner Observable + */ +export function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + return higherOrderMergeMap(project, resultSelector, concurrent)(this); +} +//# sourceMappingURL=mergeMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js.map new file mode 100644 index 00000000000000..8095283c3f55ca --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMap.js","sourceRoot":"","sources":["../../src/operator/mergeMap.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,uBAAuB;AAKvE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,yBAAuD,OAAwD,EAC7E,cAAuG,EACvG,UAAU,GAAW,MAAM,CAAC,iBAAiB;IAC7E,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAO,cAAc,EAAE,UAAU,CAAC,CAAC,IAAI,CAAsB,CAAC;AAClG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js new file mode 100644 index 00000000000000..2be85147a598dd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js @@ -0,0 +1,49 @@ +import { mergeMapTo as higherOrder } from '../operators/mergeMapTo'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is merged multiple + * times in the output Observable. + * + * It's like {@link mergeMap}, but maps each value always + * to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then merges those resulting Observables into one + * single Observable, which is the output Observable. + * + * @example For each click event, start an interval Observable ticking every 1 second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.mergeMapTo(Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMapTo} + * @see {@link merge} + * @see {@link mergeAll} + * @see {@link mergeMap} + * @see {@link mergeScan} + * @see {@link switchMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits items from the given + * `innerObservable` (and optionally transformed through `resultSelector`) every + * time a value is emitted on the source Observable. + * @method mergeMapTo + * @owner Observable + */ +export function mergeMapTo(innerObservable, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + return higherOrder(innerObservable, resultSelector, concurrent)(this); +} +//# sourceMappingURL=mergeMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js.map new file mode 100644 index 00000000000000..9315e3c9b645e2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMapTo.js","sourceRoot":"","sources":["../../src/operator/mergeMapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAKnE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,2BAAyD,eAA8B,EACnD,cAAuG,EACvG,UAAU,GAAW,MAAM,CAAC,iBAAiB;IAC/E,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,cAAqB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAkB,CAAC;AAChG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js new file mode 100644 index 00000000000000..6713a03d62e908 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js @@ -0,0 +1,36 @@ +import { mergeScan as higherOrder } from '../operators/mergeScan'; +/** + * Applies an accumulator function over the source Observable where the + * accumulator function itself returns an Observable, then each intermediate + * Observable returned is merged into the output Observable. + * + * It's like {@link scan}, but the Observables returned + * by the accumulator are merged into the outer Observable. + * + * @example Count the number of click events + * const click$ = Rx.Observable.fromEvent(document, 'click'); + * const one$ = click$.mapTo(1); + * const seed = 0; + * const count$ = one$.mergeScan((acc, one) => Rx.Observable.of(acc + one), seed); + * count$.subscribe(x => console.log(x)); + * + * // Results: + * 1 + * 2 + * 3 + * 4 + * // ...and so on for each click + * + * @param {function(acc: R, value: T): Observable} accumulator + * The accumulator function called on each source value. + * @param seed The initial accumulation value. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of + * input Observables being subscribed to concurrently. + * @return {Observable} An observable of the accumulated values. + * @method mergeScan + * @owner Observable + */ +export function mergeScan(accumulator, seed, concurrent = Number.POSITIVE_INFINITY) { + return higherOrder(accumulator, seed, concurrent)(this); +} +//# sourceMappingURL=mergeScan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js.map new file mode 100644 index 00000000000000..a3104f58af7a4d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/mergeScan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeScan.js","sourceRoot":"","sources":["../../src/operator/mergeScan.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,0BACgC,WAAgD,EAChD,IAAO,EACP,UAAU,GAAW,MAAM,CAAC,iBAAiB;IAC3E,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js new file mode 100644 index 00000000000000..5f24d5d96c57f1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js @@ -0,0 +1,36 @@ +import { min as higherOrderMin } from '../operators/min'; +/** + * The Min operator operates on an Observable that emits numbers (or items that can be compared with a provided function), + * and when source Observable completes it emits a single item: the item with the smallest value. + * + * + * + * @example Get the minimal value of a series of numbers + * Rx.Observable.of(5, 4, 7, 2, 8) + * .min() + * .subscribe(x => console.log(x)); // -> 2 + * + * @example Use a comparer function to get the minimal item + * interface Person { + * age: number, + * name: string + * } + * Observable.of({age: 7, name: 'Foo'}, + * {age: 5, name: 'Bar'}, + * {age: 9, name: 'Beer'}) + * .min( (a: Person, b: Person) => a.age < b.age ? -1 : 1) + * .subscribe((x: Person) => console.log(x.name)); // -> 'Bar' + * } + * + * @see {@link max} + * + * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the + * value of two items. + * @return {Observable} An Observable that emits item with the smallest value. + * @method min + * @owner Observable + */ +export function min(comparer) { + return higherOrderMin(comparer)(this); +} +//# sourceMappingURL=min.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js.map new file mode 100644 index 00000000000000..8595bece85d6d1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"min.js","sourceRoot":"","sources":["../../src/operator/min.ts"],"names":[],"mappings":"OACO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,kBAAkB;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,oBAA4C,QAAiC;IAC3E,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js new file mode 100644 index 00000000000000..74b70cd114ae8c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js @@ -0,0 +1,100 @@ +import { multicast as higherOrder } from '../operators/multicast'; +/* tslint:enable:max-line-length */ +/** + * Allows source Observable to be subscribed only once with a Subject of choice, + * while still sharing its values between multiple subscribers. + * + * Subscribe to Observable once, but send its values to multiple subscribers. + * + * + * + * `multicast` is an operator that works in two modes. + * + * In the first mode you provide a single argument to it, which can be either an initialized Subject or a Subject + * factory. As a result you will get a special kind of an Observable - a {@link ConnectableObservable}. It can be + * subscribed multiple times, just as regular Observable, but it won't subscribe to the source Observable at that + * moment. It will do it only if you call its `connect` method. This means you can essentially control by hand, when + * source Observable will be actually subscribed. What is more, ConnectableObservable will share this one subscription + * between all of its subscribers. This means that, for example, `ajax` Observable will only send a request once, + * even though usually it would send a request per every subscriber. Since it sends a request at the moment of + * subscription, here request would be sent when the `connect` method of a ConnectableObservable is called. + * + * The most common pattern of using ConnectableObservable is calling `connect` when the first consumer subscribes, + * keeping the subscription alive while several consumers come and go and finally unsubscribing from the source + * Observable, when the last consumer unsubscribes. To not implement that logic over and over again, + * ConnectableObservable has a special operator, `refCount`. When called, it returns an Observable, which will count + * the number of consumers subscribed to it and keep ConnectableObservable connected as long as there is at least + * one consumer. So if you don't actually need to decide yourself when to connect and disconnect a + * ConnectableObservable, use `refCount`. + * + * The second mode is invoked by calling `multicast` with an additional, second argument - selector function. + * This function accepts an Observable - which basically mirrors the source Observable - and returns Observable + * as well, which should be the input stream modified by any operators you want. Note that in this + * mode you cannot provide initialized Subject as a first argument - it has to be a Subject factory. If + * you provide selector function, `multicast` returns just a regular Observable, instead of ConnectableObservable. + * Thus, as usual, each subscription to this stream triggers subscription to the source Observable. However, + * if inside the selector function you subscribe to the input Observable multiple times, actual source stream + * will be subscribed only once. So if you have a chain of operators that use some Observable many times, + * but you want to subscribe to that Observable only once, this is the mode you would use. + * + * Subject provided as a first parameter of `multicast` is used as a proxy for the single subscription to the + * source Observable. It means that all values from the source stream go through that Subject. Thus, if a Subject + * has some special properties, Observable returned by `multicast` will have them as well. If you want to use + * `multicast` with a Subject that is one of the ones included in RxJS by default - {@link Subject}, + * {@link AsyncSubject}, {@link BehaviorSubject}, or {@link ReplaySubject} - simply use {@link publish}, + * {@link publishLast}, {@link publishBehavior} or {@link publishReplay} respectively. These are actually + * just wrappers around `multicast`, with a specific Subject hardcoded inside. + * + * Also, if you use {@link publish} or {@link publishReplay} with a ConnectableObservables `refCount` operator, + * you can simply use {@link share} and {@link shareReplay} respectively, which chain these two. + * + * @example Use ConnectableObservable + * const seconds = Rx.Observable.interval(1000); + * const connectableSeconds = seconds.multicast(new Subject()); + * + * connectableSeconds.subscribe(value => console.log('first: ' + value)); + * connectableSeconds.subscribe(value => console.log('second: ' + value)); + * + * // At this point still nothing happens, even though we subscribed twice. + * + * connectableSeconds.connect(); + * + * // From now on `seconds` are being logged to the console, + * // twice per every second. `seconds` Observable was however only subscribed once, + * // so under the hood Observable.interval had only one clock started. + * + * @example Use selector + * const seconds = Rx.Observable.interval(1000); + * + * seconds + * .multicast( + * () => new Subject(), + * seconds => seconds.zip(seconds) // Usually zip would subscribe to `seconds` twice. + * // Because we are inside selector, `seconds` is subscribed once, + * ) // thus starting only one clock used internally by Observable.interval. + * .subscribe(); + * + * @see {@link publish} + * @see {@link publishLast} + * @see {@link publishBehavior} + * @see {@link publishReplay} + * @see {@link share} + * @see {@link shareReplay} + * + * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate Subject through + * which the source sequence's elements will be multicast to the selector function input Observable or + * ConnectableObservable returned by the operator. + * @param {Function} [selector] - Optional selector function that can use the input stream + * as many times as needed, without causing multiple subscriptions to the source stream. + * Subscribers to the input source will receive all notifications of the source from the + * time of the subscription forward. + * @return {Observable|ConnectableObservable} An Observable that emits the results of invoking the selector + * on the source stream or a special {@link ConnectableObservable}, if selector was not provided. + * + * @method multicast + * @owner Observable + */ +export function multicast(subjectOrSubjectFactory, selector) { + return higherOrder(subjectOrSubjectFactory, selector)(this); +} +//# sourceMappingURL=multicast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js.map new file mode 100644 index 00000000000000..a49f8707e0c9fb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/multicast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../../src/operator/multicast.ts"],"names":[],"mappings":"OAGO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAOjE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,0BAAqD,uBAAwD,EAC7E,QAAmD;IACjF,MAAM,CAAC,WAAW,CAAM,uBAAuB,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js new file mode 100644 index 00000000000000..d11bb876dc949d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js @@ -0,0 +1,51 @@ +import { observeOn as higherOrder } from '../operators/observeOn'; +/** + * + * Re-emits all notifications from source Observable with specified scheduler. + * + * Ensure a specific scheduler is used, from outside of an Observable. + * + * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule + * notifications emitted by the source Observable. It might be useful, if you do not have control over + * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless. + * + * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable, + * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal + * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits + * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`. + * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split + * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source + * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a + * little bit more, to ensure that they are emitted at expected moments. + * + * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications + * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn` + * will delay all notifications - including error notifications - while `delay` will pass through error + * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator + * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used + * for notification emissions in general. + * + * @example Ensure values in subscribe are called just before browser repaint. + * const intervals = Rx.Observable.interval(10); // Intervals are scheduled + * // with async scheduler by default... + * + * intervals + * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame + * .subscribe(val => { // scheduler to ensure smooth animation. + * someDiv.style.height = val + 'px'; + * }); + * + * @see {@link delay} + * + * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable. + * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled. + * @return {Observable} Observable that emits the same notifications as the source Observable, + * but with provided scheduler. + * + * @method observeOn + * @owner Observable + */ +export function observeOn(scheduler, delay = 0) { + return higherOrder(scheduler, delay)(this); +} +//# sourceMappingURL=observeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js.map new file mode 100644 index 00000000000000..afc4b8090d1242 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/observeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observeOn.js","sourceRoot":"","sources":["../../src/operator/observeOn.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,0BAAkD,SAAqB,EAAE,KAAK,GAAW,CAAC;IACxF,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC9D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js new file mode 100644 index 00000000000000..5e3b8fc534a003 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js @@ -0,0 +1,67 @@ +import { onErrorResumeNext as higherOrder } from '../operators/onErrorResumeNext'; +/* tslint:enable:max-line-length */ +/** + * When any of the provided Observable emits an complete or error notification, it immediately subscribes to the next one + * that was passed. + * + * Execute series of Observables no matter what, even if it means swallowing errors. + * + * + * + * `onErrorResumeNext` is an operator that accepts a series of Observables, provided either directly as + * arguments or as an array. If no single Observable is provided, returned Observable will simply behave the same + * as the source. + * + * `onErrorResumeNext` returns an Observable that starts by subscribing and re-emitting values from the source Observable. + * When its stream of values ends - no matter if Observable completed or emitted an error - `onErrorResumeNext` + * will subscribe to the first Observable that was passed as an argument to the method. It will start re-emitting + * its values as well and - again - when that stream ends, `onErrorResumeNext` will proceed to subscribing yet another + * Observable in provided series, no matter if previous Observable completed or ended with an error. This will + * be happening until there is no more Observables left in the series, at which point returned Observable will + * complete - even if the last subscribed stream ended with an error. + * + * `onErrorResumeNext` can be therefore thought of as version of {@link concat} operator, which is more permissive + * when it comes to the errors emitted by its input Observables. While `concat` subscribes to the next Observable + * in series only if previous one successfully completed, `onErrorResumeNext` subscribes even if it ended with + * an error. + * + * Note that you do not get any access to errors emitted by the Observables. In particular do not + * expect these errors to appear in error callback passed to {@link subscribe}. If you want to take + * specific actions based on what error was emitted by an Observable, you should try out {@link catch} instead. + * + * + * @example Subscribe to the next Observable after map fails + * Rx.Observable.of(1, 2, 3, 0) + * .map(x => { + * if (x === 0) { throw Error(); } + return 10 / x; + * }) + * .onErrorResumeNext(Rx.Observable.of(1, 2, 3)) + * .subscribe( + * val => console.log(val), + * err => console.log(err), // Will never be called. + * () => console.log('that\'s it!') + * ); + * + * // Logs: + * // 10 + * // 5 + * // 3.3333333333333335 + * // 1 + * // 2 + * // 3 + * // "that's it!" + * + * @see {@link concat} + * @see {@link catch} + * + * @param {...ObservableInput} observables Observables passed either directly or as an array. + * @return {Observable} An Observable that emits values from source Observable, but - if it errors - subscribes + * to the next passed Observable and so on, until it completes or runs out of Observables. + * @method onErrorResumeNext + * @owner Observable + */ +export function onErrorResumeNext(...nextSources) { + return higherOrder(...nextSources)(this); +} +//# sourceMappingURL=onErrorResumeNext.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js.map new file mode 100644 index 00000000000000..00a55ed77cda78 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/onErrorResumeNext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../src/operator/onErrorResumeNext.ts"],"names":[],"mappings":"OACO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,gCAAgC;AAUjF,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,kCAA6D,GAAG,WAEsB;IACpF,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js new file mode 100644 index 00000000000000..88a7b120ae1cc9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js @@ -0,0 +1,40 @@ +import { pairwise as higherOrder } from '../operators/pairwise'; +/** + * Groups pairs of consecutive emissions together and emits them as an array of + * two values. + * + * Puts the current value and previous value together as + * an array, and emits that. + * + * + * + * The Nth emission from the source Observable will cause the output Observable + * to emit an array [(N-1)th, Nth] of the previous and the current value, as a + * pair. For this reason, `pairwise` emits on the second and subsequent + * emissions from the source Observable, but not on the first emission, because + * there is no previous value in that case. + * + * @example On every click (starting from the second), emit the relative distance to the previous click + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var pairs = clicks.pairwise(); + * var distance = pairs.map(pair => { + * var x0 = pair[0].clientX; + * var y0 = pair[0].clientY; + * var x1 = pair[1].clientX; + * var y1 = pair[1].clientY; + * return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2)); + * }); + * distance.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * + * @return {Observable>} An Observable of pairs (as arrays) of + * consecutive values from the source Observable. + * @method pairwise + * @owner Observable + */ +export function pairwise() { + return higherOrder()(this); +} +//# sourceMappingURL=pairwise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js.map new file mode 100644 index 00000000000000..0125b7e419dfd4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pairwise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pairwise.js","sourceRoot":"","sources":["../../src/operator/pairwise.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,uBAAuB;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAuB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js new file mode 100644 index 00000000000000..e43abed4aca910 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js @@ -0,0 +1,46 @@ +import { partition as higherOrder } from '../operators/partition'; +/** + * Splits the source Observable into two, one with values that satisfy a + * predicate, and another with values that don't satisfy the predicate. + * + * It's like {@link filter}, but returns two Observables: + * one like the output of {@link filter}, and the other with values that did not + * pass the condition. + * + * + * + * `partition` outputs an array with two Observables that partition the values + * from the source Observable through the given `predicate` function. The first + * Observable in that array emits source values for which the predicate argument + * returns true. The second Observable emits source values for which the + * predicate returns false. The first behaves like {@link filter} and the second + * behaves like {@link filter} with the predicate negated. + * + * @example Partition click events into those on DIV elements and those elsewhere + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var parts = clicks.partition(ev => ev.target.tagName === 'DIV'); + * var clicksOnDivs = parts[0]; + * var clicksElsewhere = parts[1]; + * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x)); + * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x)); + * + * @see {@link filter} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates each value emitted by the source Observable. If it returns `true`, + * the value is emitted on the first Observable in the returned array, if + * `false` the value is emitted on the second Observable in the array. The + * `index` parameter is the number `i` for the i-th source emission that has + * happened since the subscription, starting from the number `0`. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {[Observable, Observable]} An array with two Observables: one + * with values that passed the predicate, and another with values that did not + * pass the predicate. + * @method partition + * @owner Observable + */ +export function partition(predicate, thisArg) { + return higherOrder(predicate, thisArg)(this); +} +//# sourceMappingURL=partition.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js.map new file mode 100644 index 00000000000000..be6723b50743bd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/partition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"partition.js","sourceRoot":"","sources":["../../src/operator/partition.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,0BAAkD,SAA+C,EAAE,OAAa;IAC9G,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js new file mode 100644 index 00000000000000..4170185373829b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js @@ -0,0 +1,31 @@ +import { pluck as higherOrder } from '../operators/pluck'; +/** + * Maps each source value (an object) to its specified nested property. + * + * Like {@link map}, but meant only for picking one of + * the nested properties of every emitted object. + * + * + * + * Given a list of strings describing a path to an object property, retrieves + * the value of a specified nested property from all values in the source + * Observable. If a property can't be resolved, it will return `undefined` for + * that value. + * + * @example Map every click to the tagName of the clicked target element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var tagNames = clicks.pluck('target', 'tagName'); + * tagNames.subscribe(x => console.log(x)); + * + * @see {@link map} + * + * @param {...string} properties The nested properties to pluck from each source + * value (an object). + * @return {Observable} A new Observable of property values from the source values. + * @method pluck + * @owner Observable + */ +export function pluck(...properties) { + return higherOrder(...properties)(this); +} +//# sourceMappingURL=pluck.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js.map new file mode 100644 index 00000000000000..e6e425a31d9f60 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/pluck.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pluck.js","sourceRoot":"","sources":["../../src/operator/pluck.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,sBAAiD,GAAG,UAAoB;IACtE,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js new file mode 100644 index 00000000000000..75baacf46f79ef --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js @@ -0,0 +1,19 @@ +import { publish as higherOrder } from '../operators/publish'; +/* tslint:enable:max-line-length */ +/** + * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called + * before it begins emitting items to those Observers that have subscribed to it. + * + * + * + * @param {Function} [selector] - Optional selector function which can use the multicasted source sequence as many times + * as needed, without causing multiple subscriptions to the source sequence. + * Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + * @return A ConnectableObservable that upon connection causes the source Observable to emit items to its Observers. + * @method publish + * @owner Observable + */ +export function publish(selector) { + return higherOrder(selector)(this); +} +//# sourceMappingURL=publish.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js.map new file mode 100644 index 00000000000000..ff81d8e76c8f94 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publish.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/operator/publish.ts"],"names":[],"mappings":"OAGO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB;AAM7D,mCAAmC;AAEnC;;;;;;;;;;;;GAYG;AACH,wBAAmD,QAAmD;IACpG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js new file mode 100644 index 00000000000000..ec2457ac46705c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js @@ -0,0 +1,11 @@ +import { publishBehavior as higherOrder } from '../operators/publishBehavior'; +/** + * @param value + * @return {ConnectableObservable} + * @method publishBehavior + * @owner Observable + */ +export function publishBehavior(value) { + return higherOrder(value)(this); +} +//# sourceMappingURL=publishBehavior.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js.map new file mode 100644 index 00000000000000..5aaa9e1764d4cc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishBehavior.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishBehavior.js","sourceRoot":"","sources":["../../src/operator/publishBehavior.ts"],"names":[],"mappings":"OAEO,EAAE,eAAe,IAAI,WAAW,EAAE,MAAM,8BAA8B;AAE7E;;;;;GAKG;AACH,gCAAwD,KAAQ;IAC9D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js new file mode 100644 index 00000000000000..591426904bfa38 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js @@ -0,0 +1,11 @@ +import { publishLast as higherOrder } from '../operators/publishLast'; +/** + * @return {ConnectableObservable} + * @method publishLast + * @owner Observable + */ +export function publishLast() { + //TODO(benlesh): correct type-flow through here. + return higherOrder()(this); +} +//# sourceMappingURL=publishLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js.map new file mode 100644 index 00000000000000..cbe23e1dd2b144 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishLast.js","sourceRoot":"","sources":["../../src/operator/publishLast.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AACrE;;;;GAIG;AACH;IACE,gDAAgD;IAChD,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAA6B,CAAC;AACzD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js new file mode 100644 index 00000000000000..bdf4c4c1446964 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js @@ -0,0 +1,15 @@ +import { publishReplay as higherOrder } from '../operators/publishReplay'; +/* tslint:enable:max-line-length */ +/** + * @param bufferSize + * @param windowTime + * @param selectorOrScheduler + * @param scheduler + * @return {Observable | ConnectableObservable} + * @method publishReplay + * @owner Observable + */ +export function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { + return higherOrder(bufferSize, windowTime, selectorOrScheduler, scheduler)(this); +} +//# sourceMappingURL=publishReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js.map new file mode 100644 index 00000000000000..56fb525a1ef8b0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/publishReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishReplay.js","sourceRoot":"","sources":["../../src/operator/publishReplay.ts"],"names":[],"mappings":"OAGO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,4BAA4B;AAOzE,mCAAmC;AAEnC;;;;;;;;GAQG;AACH,8BAAyD,UAAmB,EACxC,UAAmB,EACnB,mBAAyD,EACzD,SAAsB;IAExD,MAAM,CAAC,WAAW,CAAO,UAAU,EAAE,UAAU,EAAE,mBAA0B,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAChG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js new file mode 100644 index 00000000000000..42b0644c6f666c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js @@ -0,0 +1,16 @@ +import { race as higherOrder } from '../operators/race'; +// NOTE: to support backwards compatability with 5.4.* and lower +export { race as raceStatic } from '../observable/race'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that mirrors the first source Observable to emit an item + * from the combination of this Observable and supplied Observables. + * @param {...Observables} ...observables Sources used to race for which Observable emits first. + * @return {Observable} An Observable that mirrors the output of the first Observable to emit an item. + * @method race + * @owner Observable + */ +export function race(...observables) { + return higherOrder(...observables)(this); +} +//# sourceMappingURL=race.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js.map new file mode 100644 index 00000000000000..57e43d6bdbfb18 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/race.js.map @@ -0,0 +1 @@ +{"version":3,"file":"race.js","sourceRoot":"","sources":["../../src/operator/race.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB;AAEvD,gEAAgE;AAChE,SAAS,IAAI,IAAI,UAAU,QAAQ,oBAAoB,CAAC;AAOxD,mCAAmC;AAEnC;;;;;;;GAOG;AACH,qBAA6C,GAAG,WAAwD;IACtG,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js new file mode 100644 index 00000000000000..7fcabf7d220f74 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js @@ -0,0 +1,58 @@ +import { reduce as higherOrderReduce } from '../operators/reduce'; +/* tslint:enable:max-line-length */ +/** + * Applies an accumulator function over the source Observable, and returns the + * accumulated result when the source completes, given an optional seed value. + * + * Combines together all values emitted on the source, + * using an accumulator function that knows how to join a new source value into + * the accumulation from the past. + * + * + * + * Like + * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce), + * `reduce` applies an `accumulator` function against an accumulation and each + * value of the source Observable (from the past) to reduce it to a single + * value, emitted on the output Observable. Note that `reduce` will only emit + * one value, only when the source Observable completes. It is equivalent to + * applying operator {@link scan} followed by operator {@link last}. + * + * Returns an Observable that applies a specified `accumulator` function to each + * item emitted by the source Observable. If a `seed` value is specified, then + * that value will be used as the initial value for the accumulator. If no seed + * value is specified, the first item of the source is used as the seed. + * + * @example Count the number of click events that happened in 5 seconds + * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click') + * .takeUntil(Rx.Observable.interval(5000)); + * var ones = clicksInFiveSeconds.mapTo(1); + * var seed = 0; + * var count = ones.reduce((acc, one) => acc + one, seed); + * count.subscribe(x => console.log(x)); + * + * @see {@link count} + * @see {@link expand} + * @see {@link mergeScan} + * @see {@link scan} + * + * @param {function(acc: R, value: T, index: number): R} accumulator The accumulator function + * called on each source value. + * @param {R} [seed] The initial accumulation value. + * @return {Observable} An Observable that emits a single value that is the + * result of accumulating the values emitted by the source Observable. + * @method reduce + * @owner Observable + */ +export function reduce(accumulator, seed) { + // providing a seed of `undefined` *should* be valid and trigger + // hasSeed! so don't use `seed !== undefined` checks! + // For this reason, we have to check it here at the original call site + // otherwise inside Operator/Subscriber we won't know if `undefined` + // means they didn't provide anything or if they literally provided `undefined` + if (arguments.length >= 2) { + return higherOrderReduce(accumulator, seed)(this); + } + return higherOrderReduce(accumulator)(this); +} +//# sourceMappingURL=reduce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js.map new file mode 100644 index 00000000000000..fd5b66521fa276 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/reduce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../src/operator/reduce.ts"],"names":[],"mappings":"OACO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,qBAAqB;AAMjE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,uBAAkD,WAAoD,EAAE,IAAQ;IAC9G,gEAAgE;IAChE,qDAAqD;IACrD,sEAAsE;IACtE,oEAAoE;IACpE,+EAA+E;IAC/E,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js new file mode 100644 index 00000000000000..9b52c4cda39c0f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js @@ -0,0 +1,17 @@ +import { repeat as higherOrder } from '../operators/repeat'; +/** + * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times. + * + * + * + * @param {number} [count] The number of times the source Observable items are repeated, a count of 0 will yield + * an empty Observable. + * @return {Observable} An Observable that repeats the stream of items emitted by the source Observable at most + * count times. + * @method repeat + * @owner Observable + */ +export function repeat(count = -1) { + return higherOrder(count)(this); +} +//# sourceMappingURL=repeat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js.map new file mode 100644 index 00000000000000..b7288b2b160a29 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../src/operator/repeat.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;;;;;;;GAWG;AACH,uBAA+C,KAAK,GAAW,CAAC,CAAC;IAC/D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js new file mode 100644 index 00000000000000..a5dc97b7b299ad --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js @@ -0,0 +1,19 @@ +import { repeatWhen as higherOrder } from '../operators/repeatWhen'; +/** + * Returns an Observable that mirrors the source Observable with the exception of a `complete`. If the source + * Observable calls `complete`, this method will emit to the Observable returned from `notifier`. If that Observable + * calls `complete` or `error`, then this method will call `complete` or `error` on the child subscription. Otherwise + * this method will resubscribe to the source Observable. + * + * + * + * @param {function(notifications: Observable): Observable} notifier - Receives an Observable of notifications with + * which a user can `complete` or `error`, aborting the repetition. + * @return {Observable} The source Observable modified with repeat logic. + * @method repeatWhen + * @owner Observable + */ +export function repeatWhen(notifier) { + return higherOrder(notifier)(this); +} +//# sourceMappingURL=repeatWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js.map new file mode 100644 index 00000000000000..43940c9784837a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/repeatWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeatWhen.js","sourceRoot":"","sources":["../../src/operator/repeatWhen.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;GAaG;AACH,2BAAmD,QAA6D;IAC9G,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACtD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js new file mode 100644 index 00000000000000..e4bf386e212b19 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js @@ -0,0 +1,21 @@ +import { retry as higherOrder } from '../operators/retry'; +/** + * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable + * calls `error`, this method will resubscribe to the source Observable for a maximum of `count` resubscriptions (given + * as a number parameter) rather than propagating the `error` call. + * + * + * + * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted + * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second + * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications + * would be: [1, 2, 1, 2, 3, 4, 5, `complete`]. + * @param {number} count - Number of retry attempts before failing. + * @return {Observable} The source Observable modified with the retry logic. + * @method retry + * @owner Observable + */ +export function retry(count = -1) { + return higherOrder(count)(this); +} +//# sourceMappingURL=retry.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js.map new file mode 100644 index 00000000000000..7711381fd744c6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/operator/retry.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,sBAA8C,KAAK,GAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js new file mode 100644 index 00000000000000..3c7b20856609bc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js @@ -0,0 +1,19 @@ +import { retryWhen as higherOrder } from '../operators/retryWhen'; +/** + * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable + * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`. + * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child + * subscription. Otherwise this method will resubscribe to the source Observable. + * + * + * + * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a + * user can `complete` or `error`, aborting the retry. + * @return {Observable} The source Observable modified with retry logic. + * @method retryWhen + * @owner Observable + */ +export function retryWhen(notifier) { + return higherOrder(notifier)(this); +} +//# sourceMappingURL=retryWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js.map new file mode 100644 index 00000000000000..2dda0455eecc05 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/retryWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retryWhen.js","sourceRoot":"","sources":["../../src/operator/retryWhen.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AACjE;;;;;;;;;;;;;GAaG;AACH,0BAAkD,QAAsD;IACtG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACtD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js new file mode 100644 index 00000000000000..82cd108e16c789 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js @@ -0,0 +1,39 @@ +import { sample as higherOrder } from '../operators/sample'; +/** + * Emits the most recently emitted value from the source Observable whenever + * another Observable, the `notifier`, emits. + * + * It's like {@link sampleTime}, but samples whenever + * the `notifier` Observable emits something. + * + * + * + * Whenever the `notifier` Observable emits a value or completes, `sample` + * looks at the source Observable and emits whichever value it has most recently + * emitted since the previous sampling, unless the source has not emitted + * anything since the previous sampling. The `notifier` is subscribed to as soon + * as the output Observable is subscribed. + * + * @example On every click, sample the most recent "seconds" timer + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = seconds.sample(clicks); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounce} + * @see {@link sampleTime} + * @see {@link throttle} + * + * @param {Observable} notifier The Observable to use for sampling the + * source Observable. + * @return {Observable} An Observable that emits the results of sampling the + * values emitted by the source Observable whenever the notifier Observable + * emits value or completes. + * @method sample + * @owner Observable + */ +export function sample(notifier) { + return higherOrder(notifier)(this); +} +//# sourceMappingURL=sample.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js.map new file mode 100644 index 00000000000000..034c1e8a8a5110 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sample.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/operator/sample.ts"],"names":[],"mappings":"OACO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,uBAA+C,QAAyB;IACtE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACtD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js new file mode 100644 index 00000000000000..43dcc392b3f8d1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js @@ -0,0 +1,42 @@ +import { async } from '../scheduler/async'; +import { sampleTime as higherOrder } from '../operators/sampleTime'; +/** + * Emits the most recently emitted value from the source Observable within + * periodic time intervals. + * + * Samples the source Observable at periodic time + * intervals, emitting what it samples. + * + * + * + * `sampleTime` periodically looks at the source Observable and emits whichever + * value it has most recently emitted since the previous sampling, unless the + * source has not emitted anything since the previous sampling. The sampling + * happens periodically in time every `period` milliseconds (or the time unit + * defined by the optional `scheduler` argument). The sampling starts as soon as + * the output Observable is subscribed. + * + * @example Every second, emit the most recent click at most once + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.sampleTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sample} + * @see {@link throttleTime} + * + * @param {number} period The sampling period expressed in milliseconds or the + * time unit determined internally by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the sampling. + * @return {Observable} An Observable that emits the results of sampling the + * values emitted by the source Observable at the specified time interval. + * @method sampleTime + * @owner Observable + */ +export function sampleTime(period, scheduler = async) { + return higherOrder(period, scheduler)(this); +} +//# sourceMappingURL=sampleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js.map new file mode 100644 index 00000000000000..b39d922a9f8629 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sampleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sampleTime.js","sourceRoot":"","sources":["../../src/operator/sampleTime.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,2BAAmD,MAAc,EAAE,SAAS,GAAe,KAAK;IAC9F,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC/D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js new file mode 100644 index 00000000000000..61c1027c7c7e46 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js @@ -0,0 +1,46 @@ +import { scan as higherOrderScan } from '../operators/scan'; +/* tslint:enable:max-line-length */ +/** + * Applies an accumulator function over the source Observable, and returns each + * intermediate result, with an optional seed value. + * + * It's like {@link reduce}, but emits the current + * accumulation whenever the source emits a value. + * + * + * + * Combines together all values emitted on the source, using an accumulator + * function that knows how to join a new source value into the accumulation from + * the past. Is similar to {@link reduce}, but emits the intermediate + * accumulations. + * + * Returns an Observable that applies a specified `accumulator` function to each + * item emitted by the source Observable. If a `seed` value is specified, then + * that value will be used as the initial value for the accumulator. If no seed + * value is specified, the first item of the source is used as the seed. + * + * @example Count the number of click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var ones = clicks.mapTo(1); + * var seed = 0; + * var count = ones.scan((acc, one) => acc + one, seed); + * count.subscribe(x => console.log(x)); + * + * @see {@link expand} + * @see {@link mergeScan} + * @see {@link reduce} + * + * @param {function(acc: R, value: T, index: number): R} accumulator + * The accumulator function called on each source value. + * @param {T|R} [seed] The initial accumulation value. + * @return {Observable} An observable of the accumulated values. + * @method scan + * @owner Observable + */ +export function scan(accumulator, seed) { + if (arguments.length >= 2) { + return higherOrderScan(accumulator, seed)(this); + } + return higherOrderScan(accumulator)(this); +} +//# sourceMappingURL=scan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js.map new file mode 100644 index 00000000000000..8b964f4ef8b28e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/scan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/operator/scan.ts"],"names":[],"mappings":"OAEO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,mBAAmB;AAM3D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAgD,WAAmD,EAAE,IAAY;IAC/G,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js new file mode 100644 index 00000000000000..0382adecca09dc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js @@ -0,0 +1,57 @@ +import { sequenceEqual as higherOrder } from '../operators/sequenceEqual'; +/** + * Compares all values of two observables in sequence using an optional comparor function + * and returns an observable of a single boolean value representing whether or not the two sequences + * are equal. + * + * Checks to see of all values emitted by both observables are equal, in order. + * + * + * + * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either + * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom + * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the + * observables completes, the operator will wait for the other observable to complete; If the other + * observable emits before completing, the returned observable will emit `false` and complete. If one observable never + * completes or emits after the other complets, the returned observable will never complete. + * + * @example figure out if the Konami code matches + * var code = Rx.Observable.from([ + * "ArrowUp", + * "ArrowUp", + * "ArrowDown", + * "ArrowDown", + * "ArrowLeft", + * "ArrowRight", + * "ArrowLeft", + * "ArrowRight", + * "KeyB", + * "KeyA", + * "Enter" // no start key, clearly. + * ]); + * + * var keys = Rx.Observable.fromEvent(document, 'keyup') + * .map(e => e.code); + * var matches = keys.bufferCount(11, 1) + * .mergeMap( + * last11 => + * Rx.Observable.from(last11) + * .sequenceEqual(code) + * ); + * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched)); + * + * @see {@link combineLatest} + * @see {@link zip} + * @see {@link withLatestFrom} + * + * @param {Observable} compareTo The observable sequence to compare the source sequence to. + * @param {function} [comparor] An optional function to compare each value pair + * @return {Observable} An Observable of a single boolean value representing whether or not + * the values emitted by both observables were equal in sequence. + * @method sequenceEqual + * @owner Observable + */ +export function sequenceEqual(compareTo, comparor) { + return higherOrder(compareTo, comparor)(this); +} +//# sourceMappingURL=sequenceEqual.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js.map new file mode 100644 index 00000000000000..ab2b05f16352e2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/sequenceEqual.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sequenceEqual.js","sourceRoot":"","sources":["../../src/operator/sequenceEqual.ts"],"names":[],"mappings":"OACO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,4BAA4B;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,8BAAsD,SAAwB,EAC7C,QAAkC;IACjE,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js new file mode 100644 index 00000000000000..4d61305398d769 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js @@ -0,0 +1,22 @@ +import { share as higherOrder } from '../operators/share'; +/** + * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one + * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will + * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`. + * + * This behaves similarly to .publish().refCount(), with a behavior difference when the source observable emits complete. + * .publish().refCount() will not resubscribe to the original source, however .share() will resubscribe to the original source. + * Observable.of("test").publish().refCount() will not re-emit "test" on new subscriptions, Observable.of("test").share() will + * re-emit "test" to new subscriptions. + * + * + * + * @return {Observable} An Observable that upon connection causes the source Observable to emit items to its Observers. + * @method share + * @owner Observable + */ +export function share() { + return higherOrder()(this); +} +; +//# sourceMappingURL=share.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js.map new file mode 100644 index 00000000000000..2ad3b80be453d8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/share.js.map @@ -0,0 +1 @@ +{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/operator/share.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAEzD;;;;;;;;;;;;;;;GAeG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js new file mode 100644 index 00000000000000..4802820e770a72 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js @@ -0,0 +1,10 @@ +import { shareReplay as higherOrder } from '../operators/shareReplay'; +/** + * @method shareReplay + * @owner Observable + */ +export function shareReplay(bufferSize, windowTime, scheduler) { + return higherOrder(bufferSize, windowTime, scheduler)(this); +} +; +//# sourceMappingURL=shareReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js.map new file mode 100644 index 00000000000000..1b12e061c4eafb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/shareReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shareReplay.js","sourceRoot":"","sources":["../../src/operator/shareReplay.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAErE;;;GAGG;AACH,4BAAoD,UAAmB,EAAE,UAAmB,EAAE,SAAsB;IAElH,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC/E,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js new file mode 100644 index 00000000000000..fb005578c58d1d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js @@ -0,0 +1,21 @@ +import { single as higherOrder } from '../operators/single'; +/** + * Returns an Observable that emits the single item emitted by the source Observable that matches a specified + * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no + * such items, notify of an IllegalArgumentException or NoSuchElementException respectively. + * + * + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * @param {Function} predicate - A predicate function to evaluate items emitted by the source Observable. + * @return {Observable} An Observable that emits the single item emitted by the source Observable that matches + * the predicate. + . + * @method single + * @owner Observable + */ +export function single(predicate) { + return higherOrder(predicate)(this); +} +//# sourceMappingURL=single.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js.map new file mode 100644 index 00000000000000..2a63ee04618a75 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/single.js.map @@ -0,0 +1 @@ +{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/operator/single.ts"],"names":[],"mappings":"OACO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,uBAA+C,SAAuE;IACpH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js new file mode 100644 index 00000000000000..7d57d54cd35868 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js @@ -0,0 +1,16 @@ +import { skip as higherOrder } from '../operators/skip'; +/** + * Returns an Observable that skips the first `count` items emitted by the source Observable. + * + * + * + * @param {Number} count - The number of times, items emitted by source Observable should be skipped. + * @return {Observable} An Observable that skips values emitted by the source Observable. + * + * @method skip + * @owner Observable + */ +export function skip(count) { + return higherOrder(count)(this); +} +//# sourceMappingURL=skip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js.map new file mode 100644 index 00000000000000..2ec7e832394f45 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skip.js","sourceRoot":"","sources":["../../src/operator/skip.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB;AAEvD;;;;;;;;;;GAUG;AACH,qBAA6C,KAAa;IACxD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js new file mode 100644 index 00000000000000..8ee8c718e85e40 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js @@ -0,0 +1,37 @@ +import { skipLast as higherOrder } from '../operators/skipLast'; +/** + * Skip the last `count` values emitted by the source Observable. + * + * + * + * `skipLast` returns an Observable that accumulates a queue with a length + * enough to store the first `count` values. As more values are received, + * values are taken from the front of the queue and produced on the result + * sequence. This causes values to be delayed. + * + * @example Skip the last 2 values of an Observable with many values + * var many = Rx.Observable.range(1, 5); + * var skipLastTwo = many.skipLast(2); + * skipLastTwo.subscribe(x => console.log(x)); + * + * // Results in: + * // 1 2 3 + * + * @see {@link skip} + * @see {@link skipUntil} + * @see {@link skipWhile} + * @see {@link take} + * + * @throws {ArgumentOutOfRangeError} When using `skipLast(i)`, it throws + * ArgumentOutOrRangeError if `i < 0`. + * + * @param {number} count Number of elements to skip from the end of the source Observable. + * @returns {Observable} An Observable that skips the last count values + * emitted by the source Observable. + * @method skipLast + * @owner Observable + */ +export function skipLast(count) { + return higherOrder(count)(this); +} +//# sourceMappingURL=skipLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js.map new file mode 100644 index 00000000000000..1da25f8da39c91 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipLast.js","sourceRoot":"","sources":["../../src/operator/skipLast.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,uBAAuB;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,yBAAiD,KAAa;IAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js new file mode 100644 index 00000000000000..bae28171c01df2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js @@ -0,0 +1,17 @@ +import { skipUntil as higherOrder } from '../operators/skipUntil'; +/** + * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item. + * + * + * + * @param {Observable} notifier - The second Observable that has to emit an item before the source Observable's elements begin to + * be mirrored by the resulting Observable. + * @return {Observable} An Observable that skips items from the source Observable until the second Observable emits + * an item, then emits the remaining items. + * @method skipUntil + * @owner Observable + */ +export function skipUntil(notifier) { + return higherOrder(notifier)(this); +} +//# sourceMappingURL=skipUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js.map new file mode 100644 index 00000000000000..c33e186f018df1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipUntil.js","sourceRoot":"","sources":["../../src/operator/skipUntil.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;GAWG;AACH,0BAAkD,QAAyB;IACzE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACtD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js new file mode 100644 index 00000000000000..a0f962d150ebca --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js @@ -0,0 +1,17 @@ +import { skipWhile as higherOrder } from '../operators/skipWhile'; +/** + * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds + * true, but emits all further source items as soon as the condition becomes false. + * + * + * + * @param {Function} predicate - A function to test each item emitted from the source Observable. + * @return {Observable} An Observable that begins emitting items emitted by the source Observable when the + * specified predicate becomes false. + * @method skipWhile + * @owner Observable + */ +export function skipWhile(predicate) { + return higherOrder(predicate)(this); +} +//# sourceMappingURL=skipWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js.map new file mode 100644 index 00000000000000..72698c9fb5d95f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/skipWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipWhile.js","sourceRoot":"","sources":["../../src/operator/skipWhile.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;GAWG;AACH,0BAAkD,SAA+C;IAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js new file mode 100644 index 00000000000000..c00656c55eb5d5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js @@ -0,0 +1,20 @@ +import { startWith as higherOrder } from '../operators/startWith'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits the items you specify as arguments before it begins to emit + * items emitted by the source Observable. + * + * + * + * @param {...T} values - Items you want the modified Observable to emit first. + * @param {Scheduler} [scheduler] - A {@link IScheduler} to use for scheduling + * the emissions of the `next` notifications. + * @return {Observable} An Observable that emits the items in the specified Iterable and then emits the items + * emitted by the source Observable. + * @method startWith + * @owner Observable + */ +export function startWith(...array) { + return higherOrder(...array)(this); +} +//# sourceMappingURL=startWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js.map new file mode 100644 index 00000000000000..dcae40e6d6de36 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/startWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"startWith.js","sourceRoot":"","sources":["../../src/operator/startWith.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAUjE,mCAAmC;AAEnC;;;;;;;;;;;;;GAaG;AACH,0BAAkD,GAAG,KAA4B;IAC/E,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js new file mode 100644 index 00000000000000..e54785b3086b03 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js @@ -0,0 +1,16 @@ +import { subscribeOn as higherOrder } from '../operators/subscribeOn'; +/** + * Asynchronously subscribes Observers to this Observable on the specified IScheduler. + * + * + * + * @param {Scheduler} scheduler - The IScheduler to perform subscription actions on. + * @return {Observable} The source Observable modified so that its subscriptions happen on the specified IScheduler. + . + * @method subscribeOn + * @owner Observable + */ +export function subscribeOn(scheduler, delay = 0) { + return higherOrder(scheduler, delay)(this); +} +//# sourceMappingURL=subscribeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js.map new file mode 100644 index 00000000000000..02463b5dd28843 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/subscribeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"subscribeOn.js","sourceRoot":"","sources":["../../src/operator/subscribeOn.ts"],"names":[],"mappings":"OAGO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAErE;;;;;;;;;;GAUG;AACH,4BAAoD,SAAqB,EAAE,KAAK,GAAW,CAAC;IAC1F,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC9D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js new file mode 100644 index 00000000000000..bc78aa18979c89 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js @@ -0,0 +1,47 @@ +import { switchAll as higherOrder } from '../operators/switchAll'; +/** + * Converts a higher-order Observable into a first-order Observable by + * subscribing to only the most recently emitted of those inner Observables. + * + * Flattens an Observable-of-Observables by dropping the + * previous inner Observable once a new one appears. + * + * + * + * `switch` subscribes to an Observable that emits Observables, also known as a + * higher-order Observable. Each time it observes one of these emitted inner + * Observables, the output Observable subscribes to the inner Observable and + * begins emitting the items emitted by that. So far, it behaves + * like {@link mergeAll}. However, when a new inner Observable is emitted, + * `switch` unsubscribes from the earlier-emitted inner Observable and + * subscribes to the new inner Observable and begins emitting items from it. It + * continues to behave like this for subsequent inner Observables. + * + * @example Rerun an interval Observable on every click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * // Each click event is mapped to an Observable that ticks every second + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000)); + * var switched = higherOrder.switch(); + * // The outcome is that `switched` is essentially a timer that restarts + * // on every click. The interval Observables from older clicks do not merge + * // with the current interval Observable. + * switched.subscribe(x => console.log(x)); + * + * @see {@link combineAll} + * @see {@link concatAll} + * @see {@link exhaust} + * @see {@link mergeAll} + * @see {@link switchMap} + * @see {@link switchMapTo} + * @see {@link zipAll} + * + * @return {Observable} An Observable that emits the items emitted by the + * Observable most recently emitted by the source Observable. + * @method switch + * @name switch + * @owner Observable + */ +export function _switch() { + return higherOrder()(this); +} +//# sourceMappingURL=switch.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js.map new file mode 100644 index 00000000000000..3e9a6a83ee6b94 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/operator/switch.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAkB,CAAC;AAC9C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js new file mode 100644 index 00000000000000..b01f240d263b3b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js @@ -0,0 +1,53 @@ +import { switchMap as higherOrderSwitchMap } from '../operators/switchMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable, emitting values only from the most recently projected Observable. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link switch}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. Each time it observes one of these + * inner Observables, the output Observable begins emitting the items emitted by + * that inner Observable. When a new inner Observable is emitted, `switchMap` + * stops emitting items from the earlier-emitted inner Observable and begins + * emitting items from the new one. It continues to behave like this for + * subsequent inner Observables. + * + * @example Rerun an interval Observable on every click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMap} + * @see {@link exhaustMap} + * @see {@link mergeMap} + * @see {@link switch} + * @see {@link switchMapTo} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and taking only the values from the most recently + * projected inner Observable. + * @method switchMap + * @owner Observable + */ +export function switchMap(project, resultSelector) { + return higherOrderSwitchMap(project, resultSelector)(this); +} +//# sourceMappingURL=switchMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js.map new file mode 100644 index 00000000000000..44999cd1618935 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../../src/operator/switchMap.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,wBAAwB;AAK1E,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,0BAAwD,OAAwD,EAC7E,cAA4F;IAC7H,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js new file mode 100644 index 00000000000000..7c2ca013efb4e8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js @@ -0,0 +1,48 @@ +import { switchMapTo as higherOrder } from '../operators/switchMapTo'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is flattened multiple + * times with {@link switch} in the output Observable. + * + * It's like {@link switchMap}, but maps each value + * always to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then flattens those resulting Observables into one + * single Observable, which is the output Observable. The output Observables + * emits values only from the most recently emitted instance of + * `innerObservable`. + * + * @example Rerun an interval Observable on every click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.switchMapTo(Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMapTo} + * @see {@link switch} + * @see {@link switchMap} + * @see {@link mergeMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits items from the given + * `innerObservable` (and optionally transformed through `resultSelector`) every + * time a value is emitted on the source Observable, and taking only the values + * from the most recently projected inner Observable. + * @method switchMapTo + * @owner Observable + */ +export function switchMapTo(innerObservable, resultSelector) { + return higherOrder(innerObservable, resultSelector)(this); +} +//# sourceMappingURL=switchMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js.map new file mode 100644 index 00000000000000..0ca61c30f64e52 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/switchMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMapTo.js","sourceRoot":"","sources":["../../src/operator/switchMapTo.ts"],"names":[],"mappings":"OACO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAKrE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,4BAA0D,eAA8B,EACnD,cAG0C;IAC7E,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js new file mode 100644 index 00000000000000..89d7c7d66f4c31 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js @@ -0,0 +1,38 @@ +import { take as higherOrder } from '../operators/take'; +/** + * Emits only the first `count` values emitted by the source Observable. + * + * Takes the first `count` values from the source, then + * completes. + * + * + * + * `take` returns an Observable that emits only the first `count` values emitted + * by the source Observable. If the source emits fewer than `count` values then + * all of its values are emitted. After that, it completes, regardless if the + * source completes. + * + * @example Take the first 5 seconds of an infinite 1-second interval Observable + * var interval = Rx.Observable.interval(1000); + * var five = interval.take(5); + * five.subscribe(x => console.log(x)); + * + * @see {@link takeLast} + * @see {@link takeUntil} + * @see {@link takeWhile} + * @see {@link skip} + * + * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`. + * + * @param {number} count The maximum number of `next` values to emit. + * @return {Observable} An Observable that emits only the first `count` + * values emitted by the source Observable, or all of the values from the source + * if the source emits fewer than `count` values. + * @method take + * @owner Observable + */ +export function take(count) { + return higherOrder(count)(this); +} +//# sourceMappingURL=take.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js.map new file mode 100644 index 00000000000000..c9fdda7f29585f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/take.js.map @@ -0,0 +1 @@ +{"version":3,"file":"take.js","sourceRoot":"","sources":["../../src/operator/take.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAA6C,KAAa;IACxD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js new file mode 100644 index 00000000000000..fa059619e8bb12 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js @@ -0,0 +1,41 @@ +import { takeLast as higherOrderTakeLast } from '../operators/takeLast'; +/** + * Emits only the last `count` values emitted by the source Observable. + * + * Remembers the latest `count` values, then emits those + * only when the source completes. + * + * + * + * `takeLast` returns an Observable that emits at most the last `count` values + * emitted by the source Observable. If the source emits fewer than `count` + * values then all of its values are emitted. This operator must wait until the + * `complete` notification emission from the source in order to emit the `next` + * values on the output Observable, because otherwise it is impossible to know + * whether or not more values will be emitted on the source. For this reason, + * all values are emitted synchronously, followed by the complete notification. + * + * @example Take the last 3 values of an Observable with many values + * var many = Rx.Observable.range(1, 100); + * var lastThree = many.takeLast(3); + * lastThree.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeUntil} + * @see {@link takeWhile} + * @see {@link skip} + * + * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`. + * + * @param {number} count The maximum number of values to emit from the end of + * the sequence of values emitted by the source Observable. + * @return {Observable} An Observable that emits at most the last count + * values emitted by the source Observable. + * @method takeLast + * @owner Observable + */ +export function takeLast(count) { + return higherOrderTakeLast(count)(this); +} +//# sourceMappingURL=takeLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js.map new file mode 100644 index 00000000000000..68763fdca9ebba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeLast.js","sourceRoot":"","sources":["../../src/operator/takeLast.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,uBAAuB;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,yBAAiD,KAAa;IAC5D,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js new file mode 100644 index 00000000000000..6acaa40eea8ff1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js @@ -0,0 +1,38 @@ +import { takeUntil as higherOrder } from '../operators/takeUntil'; +/** + * Emits the values emitted by the source Observable until a `notifier` + * Observable emits a value. + * + * Lets values pass until a second Observable, + * `notifier`, emits something. Then, it completes. + * + * + * + * `takeUntil` subscribes and begins mirroring the source Observable. It also + * monitors a second Observable, `notifier` that you provide. If the `notifier` + * emits a value, the output Observable stops mirroring the source Observable + * and completes. + * + * @example Tick every second until the first click happens + * var interval = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = interval.takeUntil(clicks); + * result.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeLast} + * @see {@link takeWhile} + * @see {@link skip} + * + * @param {Observable} notifier The Observable whose first emitted value will + * cause the output Observable of `takeUntil` to stop emitting values from the + * source Observable. + * @return {Observable} An Observable that emits the values from the source + * Observable until such time as `notifier` emits its first value. + * @method takeUntil + * @owner Observable + */ +export function takeUntil(notifier) { + return higherOrder(notifier)(this); +} +//# sourceMappingURL=takeUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js.map new file mode 100644 index 00000000000000..c5c1087c8b268e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeUntil.js","sourceRoot":"","sources":["../../src/operator/takeUntil.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,0BAAkD,QAAyB;IACzE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAkB,CAAC;AACtD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js new file mode 100644 index 00000000000000..9d6bcb3c113c70 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js @@ -0,0 +1,41 @@ +import { takeWhile as higherOrder } from '../operators/takeWhile'; +/** + * Emits values emitted by the source Observable so long as each value satisfies + * the given `predicate`, and then completes as soon as this `predicate` is not + * satisfied. + * + * Takes values from the source only while they pass the + * condition given. When the first value does not satisfy, it completes. + * + * + * + * `takeWhile` subscribes and begins mirroring the source Observable. Each value + * emitted on the source is given to the `predicate` function which returns a + * boolean, representing a condition to be satisfied by the source values. The + * output Observable emits the source values until such time as the `predicate` + * returns false, at which point `takeWhile` stops mirroring the source + * Observable and completes the output Observable. + * + * @example Emit click events only while the clientX property is greater than 200 + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.takeWhile(ev => ev.clientX > 200); + * result.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeLast} + * @see {@link takeUntil} + * @see {@link skip} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates a value emitted by the source Observable and returns a boolean. + * Also takes the (zero-based) index as the second argument. + * @return {Observable} An Observable that emits the values from the source + * Observable so long as each value satisfies the condition defined by the + * `predicate`, then completes. + * @method takeWhile + * @owner Observable + */ +export function takeWhile(predicate) { + return higherOrder(predicate)(this); +} +//# sourceMappingURL=takeWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js.map new file mode 100644 index 00000000000000..c24d891d53c429 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/takeWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeWhile.js","sourceRoot":"","sources":["../../src/operator/takeWhile.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,0BAAkD,SAA+C;IAC/F,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js new file mode 100644 index 00000000000000..1244f94dc25d30 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js @@ -0,0 +1,45 @@ +import { throttle as higherOrder, defaultThrottleConfig } from '../operators/throttle'; +/** + * Emits a value from the source Observable, then ignores subsequent source + * values for a duration determined by another Observable, then repeats this + * process. + * + * It's like {@link throttleTime}, but the silencing + * duration is determined by a second Observable. + * + * + * + * `throttle` emits the source Observable values on the output Observable + * when its internal timer is disabled, and ignores source values when the timer + * is enabled. Initially, the timer is disabled. As soon as the first source + * value arrives, it is forwarded to the output Observable, and then the timer + * is enabled by calling the `durationSelector` function with the source value, + * which returns the "duration" Observable. When the duration Observable emits a + * value or completes, the timer is disabled, and this process repeats for the + * next source value. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.throttle(ev => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounce} + * @see {@link delayWhen} + * @see {@link sample} + * @see {@link throttleTime} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the silencing + * duration for each source value, returned as an Observable or a Promise. + * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults + * to `{ leading: true, trailing: false }`. + * @return {Observable} An Observable that performs the throttle operation to + * limit the rate of emissions from the source. + * @method throttle + * @owner Observable + */ +export function throttle(durationSelector, config = defaultThrottleConfig) { + return higherOrder(durationSelector, config)(this); +} +//# sourceMappingURL=throttle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js.map new file mode 100644 index 00000000000000..dafc1df35cde92 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/operator/throttle.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,IAAI,WAAW,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,yBAC4B,gBAA6D,EAC7D,MAAM,GAAmB,qBAAqB;IACxE,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js new file mode 100644 index 00000000000000..bbad2cb98dba24 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js @@ -0,0 +1,46 @@ +import { async } from '../scheduler/async'; +import { defaultThrottleConfig } from '../operators/throttle'; +import { throttleTime as higherOrder } from '../operators/throttleTime'; +/** + * Emits a value from the source Observable, then ignores subsequent source + * values for `duration` milliseconds, then repeats this process. + * + * Lets a value pass, then ignores source values for the + * next `duration` milliseconds. + * + * + * + * `throttleTime` emits the source Observable values on the output Observable + * when its internal timer is disabled, and ignores source values when the timer + * is enabled. Initially, the timer is disabled. As soon as the first source + * value arrives, it is forwarded to the output Observable, and then the timer + * is enabled. After `duration` milliseconds (or the time unit determined + * internally by the optional `scheduler`) has passed, the timer is disabled, + * and this process repeats for the next source value. Optionally takes a + * {@link IScheduler} for managing timers. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.throttleTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttle} + * + * @param {number} duration Time to wait before emitting another value after + * emitting the last value, measured in milliseconds or the time unit determined + * internally by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the throttling. + * @return {Observable} An Observable that performs the throttle operation to + * limit the rate of emissions from the source. + * @method throttleTime + * @owner Observable + */ +export function throttleTime(duration, scheduler = async, config = defaultThrottleConfig) { + return higherOrder(duration, scheduler, config)(this); +} +//# sourceMappingURL=throttleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js.map new file mode 100644 index 00000000000000..bcbfd96f7e8958 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/throttleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttleTime.js","sourceRoot":"","sources":["../../src/operator/throttleTime.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB;OACtE,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,2BAA2B;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,6BACgC,QAAgB,EAChB,SAAS,GAAe,KAAK,EAC7B,MAAM,GAAmB,qBAAqB;IAC5E,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAkB,CAAC;AACzE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js new file mode 100644 index 00000000000000..499fe76a4ed438 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js @@ -0,0 +1,13 @@ +import { async } from '../scheduler/async'; +import { timeInterval as higherOrder, TimeInterval } from '../operators/timeInterval'; +export { TimeInterval }; +/** + * @param scheduler + * @return {Observable>|WebSocketSubject|Observable} + * @method timeInterval + * @owner Observable + */ +export function timeInterval(scheduler = async) { + return higherOrder(scheduler)(this); +} +//# sourceMappingURL=timeInterval.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js.map new file mode 100644 index 00000000000000..05842d769c1224 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeInterval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeInterval.js","sourceRoot":"","sources":["../../src/operator/timeInterval.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAE,YAAY,IAAI,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B;AACrF,SAAQ,YAAY,GAAE;AAEtB;;;;;GAKG;AACH,6BAAqD,SAAS,GAAe,KAAK;IAChF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAgC,CAAC;AACrE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js new file mode 100644 index 00000000000000..41781f33b8ec19 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js @@ -0,0 +1,71 @@ +import { async } from '../scheduler/async'; +import { timeout as higherOrder } from '../operators/timeout'; +/** + * + * Errors if Observable does not emit a value in given time span. + * + * Timeouts on Observable that doesn't emit values fast enough. + * + * + * + * `timeout` operator accepts as an argument either a number or a Date. + * + * If number was provided, it returns an Observable that behaves like a source + * Observable, unless there is a period of time where there is no value emitted. + * So if you provide `100` as argument and first value comes after 50ms from + * the moment of subscription, this value will be simply re-emitted by the resulting + * Observable. If however after that 100ms passes without a second value being emitted, + * stream will end with an error and source Observable will be unsubscribed. + * These checks are performed throughout whole lifecycle of Observable - from the moment + * it was subscribed to, until it completes or errors itself. Thus every value must be + * emitted within specified period since previous value. + * + * If provided argument was Date, returned Observable behaves differently. It throws + * if Observable did not complete before provided Date. This means that periods between + * emission of particular values do not matter in this case. If Observable did not complete + * before provided Date, source Observable will be unsubscribed. Other than that, resulting + * stream behaves just as source Observable. + * + * `timeout` accepts also a Scheduler as a second parameter. It is used to schedule moment (or moments) + * when returned Observable will check if source stream emitted value or completed. + * + * @example Check if ticks are emitted within certain timespan + * const seconds = Rx.Observable.interval(1000); + * + * seconds.timeout(1100) // Let's use bigger timespan to be safe, + * // since `interval` might fire a bit later then scheduled. + * .subscribe( + * value => console.log(value), // Will emit numbers just as regular `interval` would. + * err => console.log(err) // Will never be called. + * ); + * + * seconds.timeout(900).subscribe( + * value => console.log(value), // Will never be called. + * err => console.log(err) // Will emit error before even first value is emitted, + * // since it did not arrive within 900ms period. + * ); + * + * @example Use Date to check if Observable completed + * const seconds = Rx.Observable.interval(1000); + * + * seconds.timeout(new Date("December 17, 2020 03:24:00")) + * .subscribe( + * value => console.log(value), // Will emit values as regular `interval` would + * // until December 17, 2020 at 03:24:00. + * err => console.log(err) // On December 17, 2020 at 03:24:00 it will emit an error, + * // since Observable did not complete by then. + * ); + * + * @see {@link timeoutWith} + * + * @param {number|Date} due Number specifying period within which Observable must emit values + * or Date specifying before when Observable should complete + * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur. + * @return {Observable} Observable that mirrors behaviour of source, unless timeout checks fail. + * @method timeout + * @owner Observable + */ +export function timeout(due, scheduler = async) { + return higherOrder(due, scheduler)(this); +} +//# sourceMappingURL=timeout.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js.map new file mode 100644 index 00000000000000..33e3b1da303574 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/operator/timeout.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAGnC,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAC2B,GAAkB,EAClB,SAAS,GAAe,KAAK;IACtD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAkB,CAAC;AAC5D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js new file mode 100644 index 00000000000000..6fb8a3228921b7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js @@ -0,0 +1,54 @@ +import { async } from '../scheduler/async'; +import { timeoutWith as higherOrder } from '../operators/timeoutWith'; +/* tslint:enable:max-line-length */ +/** + * + * Errors if Observable does not emit a value in given time span, in case of which + * subscribes to the second Observable. + * + * It's a version of `timeout` operator that let's you specify fallback Observable. + * + * + * + * `timeoutWith` is a variation of `timeout` operator. It behaves exactly the same, + * still accepting as a first argument either a number or a Date, which control - respectively - + * when values of source Observable should be emitted or when it should complete. + * + * The only difference is that it accepts a second, required parameter. This parameter + * should be an Observable which will be subscribed when source Observable fails any timeout check. + * So whenever regular `timeout` would emit an error, `timeoutWith` will instead start re-emitting + * values from second Observable. Note that this fallback Observable is not checked for timeouts + * itself, so it can emit values and complete at arbitrary points in time. From the moment of a second + * subscription, Observable returned from `timeoutWith` simply mirrors fallback stream. When that + * stream completes, it completes as well. + * + * Scheduler, which in case of `timeout` is provided as as second argument, can be still provided + * here - as a third, optional parameter. It still is used to schedule timeout checks and - + * as a consequence - when second Observable will be subscribed, since subscription happens + * immediately after failing check. + * + * @example Add fallback observable + * const seconds = Rx.Observable.interval(1000); + * const minutes = Rx.Observable.interval(60 * 1000); + * + * seconds.timeoutWith(900, minutes) + * .subscribe( + * value => console.log(value), // After 900ms, will start emitting `minutes`, + * // since first value of `seconds` will not arrive fast enough. + * err => console.log(err) // Would be called after 900ms in case of `timeout`, + * // but here will never be called. + * ); + * + * @param {number|Date} due Number specifying period within which Observable must emit values + * or Date specifying before when Observable should complete + * @param {Observable} withObservable Observable which will be subscribed if source fails timeout check. + * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur. + * @return {Observable} Observable that mirrors behaviour of source or, when timeout check fails, of an Observable + * passed as a second parameter. + * @method timeoutWith + * @owner Observable + */ +export function timeoutWith(due, withObservable, scheduler = async) { + return higherOrder(due, withObservable, scheduler)(this); +} +//# sourceMappingURL=timeoutWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js.map new file mode 100644 index 00000000000000..7df90c9289460b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timeoutWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeoutWith.js","sourceRoot":"","sources":["../../src/operator/timeoutWith.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAEnC,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAKrE,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,4BAAuD,GAAkB,EACvC,cAAkC,EAClC,SAAS,GAAe,KAAK;IAC7D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,IAAW,CAAC,CAAC;AAClE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js new file mode 100644 index 00000000000000..328bbeeb7c24c1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js @@ -0,0 +1,12 @@ +import { async } from '../scheduler/async'; +import { timestamp as higherOrder } from '../operators/timestamp'; +/** + * @param scheduler + * @return {Observable>|WebSocketSubject|Observable} + * @method timestamp + * @owner Observable + */ +export function timestamp(scheduler = async) { + return higherOrder(scheduler)(this); +} +//# sourceMappingURL=timestamp.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js.map new file mode 100644 index 00000000000000..adb29c32c49cd7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/timestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/operator/timestamp.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OACnC,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wBAAwB;AAEjE;;;;;GAKG;AACH,0BAAkD,SAAS,GAAe,KAAK;IAC7E,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAA6B,CAAC;AAClE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js new file mode 100644 index 00000000000000..5c111a20bb2add --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js @@ -0,0 +1,28 @@ +import { toArray as higherOrder } from '../operators/toArray'; +/** + * Collects all source emissions and emits them as an array when the source completes. + * + * Get all values inside an array when the source completes + * + * + * + * `toArray` will wait until the source Observable completes + * before emitting the array containing all emissions. + * When the source Observable errors no array will be emitted. + * + * @example Create array from input + * const input = Rx.Observable.interval(100).take(4); + * + * input.toArray() + * .subscribe(arr => console.log(arr)); // [0,1,2,3] + * + * @see {@link buffer} + * + * @return {Observable|WebSocketSubject|Observable} + * @method toArray + * @owner Observable + */ +export function toArray() { + return higherOrder()(this); +} +//# sourceMappingURL=toArray.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js.map new file mode 100644 index 00000000000000..c501b6d9215513 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toArray.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toArray.js","sourceRoot":"","sources":["../../src/operator/toArray.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB;AAE7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IACE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAoB,CAAC;AAChD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js new file mode 100644 index 00000000000000..e1eb75df8731cf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js @@ -0,0 +1,5 @@ +import { Observable } from '../Observable'; +// HACK: this is here for backward compatability +// TODO(benlesh): remove this in v6. +export const toPromise = Observable.prototype.toPromise; +//# sourceMappingURL=toPromise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js.map new file mode 100644 index 00000000000000..07182d1bee6d2c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/toPromise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toPromise.js","sourceRoot":"","sources":["../../src/operator/toPromise.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,eAAe;AAE1C,gDAAgD;AAChD,oCAAoC;AACpC,OAAO,MAAM,SAAS,GAA0C,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js new file mode 100644 index 00000000000000..7338f1fd36211a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js @@ -0,0 +1,41 @@ +import { window as higherOrder } from '../operators/window'; +/** + * Branch out the source Observable values as a nested Observable whenever + * `windowBoundaries` emits. + * + * It's like {@link buffer}, but emits a nested Observable + * instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits connected, non-overlapping + * windows. It emits the current window and opens a new one whenever the + * Observable `windowBoundaries` emits an item. Because each window is an + * Observable, the output is a higher-order Observable. + * + * @example In every window of 1 second each, emit at most 2 click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var interval = Rx.Observable.interval(1000); + * var result = clicks.window(interval) + * .map(win => win.take(2)) // each window has at most 2 emissions + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link windowWhen} + * @see {@link buffer} + * + * @param {Observable} windowBoundaries An Observable that completes the + * previous window and starts a new window. + * @return {Observable>} An Observable of windows, which are + * Observables emitting values of the source Observable. + * @method window + * @owner Observable + */ +export function window(windowBoundaries) { + return higherOrder(windowBoundaries)(this); +} +//# sourceMappingURL=window.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js.map new file mode 100644 index 00000000000000..887a435bbb0364 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/window.js.map @@ -0,0 +1 @@ +{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/operator/window.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,uBAA+C,gBAAiC;IAC9E,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAA8B,CAAC;AAC1E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js new file mode 100644 index 00000000000000..e2cce8f639044f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js @@ -0,0 +1,53 @@ +import { windowCount as higherOrder } from '../operators/windowCount'; +/** + * Branch out the source Observable values as a nested Observable with each + * nested Observable emitting at most `windowSize` values. + * + * It's like {@link bufferCount}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits windows every `startWindowEvery` + * items, each containing no more than `windowSize` items. When the source + * Observable completes or encounters an error, the output Observable emits + * the current window and propagates the notification from the source + * Observable. If `startWindowEvery` is not provided, then new windows are + * started immediately at the start of the source and when each window completes + * with size `windowSize`. + * + * @example Ignore every 3rd click event, starting from the first one + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.windowCount(3) + * .map(win => win.skip(1)) // skip first of every 3 clicks + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @example Ignore every 3rd click event, starting from the third one + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.windowCount(2, 3) + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link windowWhen} + * @see {@link bufferCount} + * + * @param {number} windowSize The maximum number of values emitted by each + * window. + * @param {number} [startWindowEvery] Interval at which to start a new window. + * For example if `startWindowEvery` is `2`, then a new window will be started + * on every other value from the source. A new window is started at the + * beginning of the source by default. + * @return {Observable>} An Observable of windows, which in turn + * are Observable of values. + * @method windowCount + * @owner Observable + */ +export function windowCount(windowSize, startWindowEvery = 0) { + return higherOrder(windowSize, startWindowEvery)(this); +} +//# sourceMappingURL=windowCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js.map new file mode 100644 index 00000000000000..189873f4c9ad61 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowCount.js","sourceRoot":"","sources":["../../src/operator/windowCount.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,4BAAoD,UAAkB,EACvC,gBAAgB,GAAW,CAAC;IACzD,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAA8B,CAAC;AACtF,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js new file mode 100644 index 00000000000000..d095e64701e2e3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js @@ -0,0 +1,26 @@ +import { async } from '../scheduler/async'; +import { isNumeric } from '../util/isNumeric'; +import { isScheduler } from '../util/isScheduler'; +import { windowTime as higherOrder } from '../operators/windowTime'; +export function windowTime(windowTimeSpan) { + let scheduler = async; + let windowCreationInterval = null; + let maxWindowSize = Number.POSITIVE_INFINITY; + if (isScheduler(arguments[3])) { + scheduler = arguments[3]; + } + if (isScheduler(arguments[2])) { + scheduler = arguments[2]; + } + else if (isNumeric(arguments[2])) { + maxWindowSize = arguments[2]; + } + if (isScheduler(arguments[1])) { + scheduler = arguments[1]; + } + else if (isNumeric(arguments[1])) { + windowCreationInterval = arguments[1]; + } + return higherOrder(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler)(this); +} +//# sourceMappingURL=windowTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js.map new file mode 100644 index 00000000000000..62e9203eef99c2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowTime.js","sourceRoot":"","sources":["../../src/operator/windowTime.ts"],"names":[],"mappings":"OACO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAEnC,EAAE,SAAS,EAAE,MAAM,mBAAmB;OACtC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAwEnE,2BAC8B,cAAsB;IAElD,IAAI,SAAS,GAAe,KAAK,CAAC;IAClC,IAAI,sBAAsB,GAAW,IAAI,CAAC;IAC1C,IAAI,aAAa,GAAW,MAAM,CAAC,iBAAiB,CAAC;IAErD,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,sBAAsB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CAA8B,CAAC;AAC1H,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js new file mode 100644 index 00000000000000..0b25088d6b6a73 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js @@ -0,0 +1,46 @@ +import { windowToggle as higherOrder } from '../operators/windowToggle'; +/** + * Branch out the source Observable values as a nested Observable starting from + * an emission from `openings` and ending when the output of `closingSelector` + * emits. + * + * It's like {@link bufferToggle}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits windows that contain those items + * emitted by the source Observable between the time when the `openings` + * Observable emits an item and when the Observable returned by + * `closingSelector` emits an item. + * + * @example Every other second, emit the click events from the next 500ms + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var openings = Rx.Observable.interval(1000); + * var result = clicks.windowToggle(openings, i => + * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty() + * ).mergeAll(); + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowWhen} + * @see {@link bufferToggle} + * + * @param {Observable} openings An observable of notifications to start new + * windows. + * @param {function(value: O): Observable} closingSelector A function that takes + * the value emitted by the `openings` observable and returns an Observable, + * which, when it emits (either `next` or `complete`), signals that the + * associated window should complete. + * @return {Observable>} An observable of windows, which in turn + * are Observables. + * @method windowToggle + * @owner Observable + */ +export function windowToggle(openings, closingSelector) { + return higherOrder(openings, closingSelector)(this); +} +//# sourceMappingURL=windowToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js.map new file mode 100644 index 00000000000000..76d54b95f66bb6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowToggle.js","sourceRoot":"","sources":["../../src/operator/windowToggle.ts"],"names":[],"mappings":"OAEO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,2BAA2B;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,6BAAwD,QAAuB,EAC5C,eAAkD;IACnF,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,IAAI,CAA8B,CAAC;AACnF,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js new file mode 100644 index 00000000000000..7f0f7a0f5a5be3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js @@ -0,0 +1,43 @@ +import { windowWhen as higherOrder } from '../operators/windowWhen'; +/** + * Branch out the source Observable values as a nested Observable using a + * factory function of closing Observables to determine when to start a new + * window. + * + * It's like {@link bufferWhen}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits connected, non-overlapping windows. + * It emits the current window and opens a new one whenever the Observable + * produced by the specified `closingSelector` function emits an item. The first + * window is opened immediately when subscribing to the output Observable. + * + * @example Emit only the first two clicks events in every window of [1-5] random seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks + * .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000)) + * .map(win => win.take(2)) // each window has at most 2 emissions + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link bufferWhen} + * + * @param {function(): Observable} closingSelector A function that takes no + * arguments and returns an Observable that signals (on either `next` or + * `complete`) when to close the previous window and start a new one. + * @return {Observable>} An observable of windows, which in turn + * are Observables. + * @method windowWhen + * @owner Observable + */ +export function windowWhen(closingSelector) { + return higherOrder(closingSelector)(this); +} +//# sourceMappingURL=windowWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js.map new file mode 100644 index 00000000000000..3cde5312921e0a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/windowWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowWhen.js","sourceRoot":"","sources":["../../src/operator/windowWhen.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,yBAAyB;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,2BAAmD,eAAsC;IACvF,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAA8B,CAAC;AACzE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js new file mode 100644 index 00000000000000..693366e3303949 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js @@ -0,0 +1,44 @@ +import { withLatestFrom as higherOrder } from '../operators/withLatestFrom'; +/* tslint:enable:max-line-length */ +/** + * Combines the source Observable with other Observables to create an Observable + * whose values are calculated from the latest values of each, only when the + * source emits. + * + * Whenever the source Observable emits a value, it + * computes a formula using that value plus the latest values from other input + * Observables, then emits the output of that formula. + * + * + * + * `withLatestFrom` combines each value from the source Observable (the + * instance) with the latest values from the other input Observables only when + * the source emits a value, optionally using a `project` function to determine + * the value to be emitted on the output Observable. All input Observables must + * emit at least one value before the output Observable will emit a value. + * + * @example On every click event, emit an array with the latest timer event plus the click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var timer = Rx.Observable.interval(1000); + * var result = clicks.withLatestFrom(timer); + * result.subscribe(x => console.log(x)); + * + * @see {@link combineLatest} + * + * @param {ObservableInput} other An input Observable to combine with the source + * Observable. More than one input Observables may be given as argument. + * @param {Function} [project] Projection function for combining values + * together. Receives all values in order of the Observables passed, where the + * first parameter is a value from the source Observable. (e.g. + * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not + * passed, arrays will be emitted on the output Observable. + * @return {Observable} An Observable of projected values from the most recent + * values from each input Observable, or an array of the most recent values from + * each input Observable. + * @method withLatestFrom + * @owner Observable + */ +export function withLatestFrom(...args) { + return higherOrder(...args)(this); +} +//# sourceMappingURL=withLatestFrom.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js.map new file mode 100644 index 00000000000000..646b7ada748160 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/withLatestFrom.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withLatestFrom.js","sourceRoot":"","sources":["../../src/operator/withLatestFrom.ts"],"names":[],"mappings":"OACO,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,6BAA6B;AAiB3E,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,+BAA0D,GAAG,IAAkE;IAC7H,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js new file mode 100644 index 00000000000000..3246d2a369ee59 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js @@ -0,0 +1,12 @@ +import { zip as higherOrder } from '../operators/zip'; +/* tslint:enable:max-line-length */ +/** + * @param observables + * @return {Observable} + * @method zip + * @owner Observable + */ +export function zipProto(...observables) { + return higherOrder(...observables)(this); +} +//# sourceMappingURL=zip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js.map new file mode 100644 index 00000000000000..8bc90145267fec --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/operator/zip.ts"],"names":[],"mappings":"OACO,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,kBAAkB;AAkBrD,mCAAmC;AAEnC;;;;;GAKG;AACH,yBAAoD,GAAG,WAAyE;IAC9H,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js new file mode 100644 index 00000000000000..25522bfc481c4e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js @@ -0,0 +1,11 @@ +import { zipAll as higherOrder } from '../operators/zipAll'; +/** + * @param project + * @return {Observable|WebSocketSubject|Observable} + * @method zipAll + * @owner Observable + */ +export function zipAll(project) { + return higherOrder(project)(this); +} +//# sourceMappingURL=zipAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js.map new file mode 100644 index 00000000000000..24ffff49df62f8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operator/zipAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zipAll.js","sourceRoot":"","sources":["../../src/operator/zipAll.ts"],"names":[],"mappings":"OACO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE3D;;;;;GAKG;AACH,uBAAkD,OAAsC;IACtF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js new file mode 100644 index 00000000000000..fab19497604ccc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js @@ -0,0 +1,109 @@ +export { audit } from './operators/audit'; +export { auditTime } from './operators/auditTime'; +export { buffer } from './operators/buffer'; +export { bufferCount } from './operators/bufferCount'; +export { bufferTime } from './operators/bufferTime'; +export { bufferToggle } from './operators/bufferToggle'; +export { bufferWhen } from './operators/bufferWhen'; +export { catchError } from './operators/catchError'; +export { combineAll } from './operators/combineAll'; +export { combineLatest } from './operators/combineLatest'; +export { concat } from './operators/concat'; +export { concatAll } from './operators/concatAll'; +export { concatMap } from './operators/concatMap'; +export { concatMapTo } from './operators/concatMapTo'; +export { count } from './operators/count'; +export { debounce } from './operators/debounce'; +export { debounceTime } from './operators/debounceTime'; +export { defaultIfEmpty } from './operators/defaultIfEmpty'; +export { delay } from './operators/delay'; +export { delayWhen } from './operators/delayWhen'; +export { dematerialize } from './operators/dematerialize'; +export { distinct } from './operators/distinct'; +export { distinctUntilChanged } from './operators/distinctUntilChanged'; +export { distinctUntilKeyChanged } from './operators/distinctUntilKeyChanged'; +export { elementAt } from './operators/elementAt'; +export { every } from './operators/every'; +export { exhaust } from './operators/exhaust'; +export { exhaustMap } from './operators/exhaustMap'; +export { expand } from './operators/expand'; +export { filter } from './operators/filter'; +export { finalize } from './operators/finalize'; +export { find } from './operators/find'; +export { findIndex } from './operators/findIndex'; +export { first } from './operators/first'; +export { groupBy } from './operators/groupBy'; +export { ignoreElements } from './operators/ignoreElements'; +export { isEmpty } from './operators/isEmpty'; +export { last } from './operators/last'; +export { map } from './operators/map'; +export { mapTo } from './operators/mapTo'; +export { materialize } from './operators/materialize'; +export { max } from './operators/max'; +export { merge } from './operators/merge'; +export { mergeAll } from './operators/mergeAll'; +export { mergeMap } from './operators/mergeMap'; +export { mergeMap as flatMap } from './operators/mergeMap'; +export { mergeMapTo } from './operators/mergeMapTo'; +export { mergeScan } from './operators/mergeScan'; +export { min } from './operators/min'; +export { multicast } from './operators/multicast'; +export { observeOn } from './operators/observeOn'; +export { onErrorResumeNext } from './operators/onErrorResumeNext'; +export { pairwise } from './operators/pairwise'; +export { partition } from './operators/partition'; +export { pluck } from './operators/pluck'; +export { publish } from './operators/publish'; +export { publishBehavior } from './operators/publishBehavior'; +export { publishLast } from './operators/publishLast'; +export { publishReplay } from './operators/publishReplay'; +export { race } from './operators/race'; +export { reduce } from './operators/reduce'; +export { repeat } from './operators/repeat'; +export { repeatWhen } from './operators/repeatWhen'; +export { retry } from './operators/retry'; +export { retryWhen } from './operators/retryWhen'; +export { refCount } from './operators/refCount'; +export { sample } from './operators/sample'; +export { sampleTime } from './operators/sampleTime'; +export { scan } from './operators/scan'; +export { sequenceEqual } from './operators/sequenceEqual'; +export { share } from './operators/share'; +export { shareReplay } from './operators/shareReplay'; +export { single } from './operators/single'; +export { skip } from './operators/skip'; +export { skipLast } from './operators/skipLast'; +export { skipUntil } from './operators/skipUntil'; +export { skipWhile } from './operators/skipWhile'; +export { startWith } from './operators/startWith'; +/** + * TODO(https://github.com/ReactiveX/rxjs/issues/2900): Add back subscribeOn once it can be + * treeshaken. Currently if this export is added back, it + * forces apps to bring in asap scheduler along with + * Immediate, root, and other supporting code. + */ +// export { subscribeOn } from './operators/subscribeOn'; +export { switchAll } from './operators/switchAll'; +export { switchMap } from './operators/switchMap'; +export { switchMapTo } from './operators/switchMapTo'; +export { take } from './operators/take'; +export { takeLast } from './operators/takeLast'; +export { takeUntil } from './operators/takeUntil'; +export { takeWhile } from './operators/takeWhile'; +export { tap } from './operators/tap'; +export { throttle } from './operators/throttle'; +export { throttleTime } from './operators/throttleTime'; +export { timeInterval } from './operators/timeInterval'; +export { timeout } from './operators/timeout'; +export { timeoutWith } from './operators/timeoutWith'; +export { timestamp } from './operators/timestamp'; +export { toArray } from './operators/toArray'; +export { window } from './operators/window'; +export { windowCount } from './operators/windowCount'; +export { windowTime } from './operators/windowTime'; +export { windowToggle } from './operators/windowToggle'; +export { windowWhen } from './operators/windowWhen'; +export { withLatestFrom } from './operators/withLatestFrom'; +export { zip } from './operators/zip'; +export { zipAll } from './operators/zipAll'; +//# sourceMappingURL=operators.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js.map new file mode 100644 index 00000000000000..ad74b90bd03597 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators.js.map @@ -0,0 +1 @@ +{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js new file mode 100644 index 00000000000000..dd54c90653db52 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js @@ -0,0 +1,108 @@ +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Ignores source values for a duration determined by another Observable, then + * emits the most recent value from the source Observable, then repeats this + * process. + * + * It's like {@link auditTime}, but the silencing + * duration is determined by a second Observable. + * + * + * + * `audit` is similar to `throttle`, but emits the last value from the silenced + * time window, instead of the first value. `audit` emits the most recent value + * from the source Observable on the output Observable as soon as its internal + * timer becomes disabled, and ignores source values while the timer is enabled. + * Initially, the timer is disabled. As soon as the first source value arrives, + * the timer is enabled by calling the `durationSelector` function with the + * source value, which returns the "duration" Observable. When the duration + * Observable emits a value or completes, the timer is disabled, then the most + * recent source value is emitted on the output Observable, and this process + * repeats for the next source value. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.audit(ev => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounce} + * @see {@link delayWhen} + * @see {@link sample} + * @see {@link throttle} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the silencing + * duration, returned as an Observable or a Promise. + * @return {Observable} An Observable that performs rate-limiting of + * emissions from the source Observable. + * @method audit + * @owner Observable + */ +export function audit(durationSelector) { + return function auditOperatorFunction(source) { + return source.lift(new AuditOperator(durationSelector)); + }; +} +class AuditOperator { + constructor(durationSelector) { + this.durationSelector = durationSelector; + } + call(subscriber, source) { + return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class AuditSubscriber extends OuterSubscriber { + constructor(destination, durationSelector) { + super(destination); + this.durationSelector = durationSelector; + this.hasValue = false; + } + _next(value) { + this.value = value; + this.hasValue = true; + if (!this.throttled) { + const duration = tryCatch(this.durationSelector)(value); + if (duration === errorObject) { + this.destination.error(errorObject.e); + } + else { + const innerSubscription = subscribeToResult(this, duration); + if (innerSubscription.closed) { + this.clearThrottle(); + } + else { + this.add(this.throttled = innerSubscription); + } + } + } + } + clearThrottle() { + const { value, hasValue, throttled } = this; + if (throttled) { + this.remove(throttled); + this.throttled = null; + throttled.unsubscribe(); + } + if (hasValue) { + this.value = null; + this.hasValue = false; + this.destination.next(value); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex) { + this.clearThrottle(); + } + notifyComplete() { + this.clearThrottle(); + } +} +//# sourceMappingURL=audit.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js.map new file mode 100644 index 00000000000000..6f363137aebed0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/audit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/operators/audit.ts"],"names":[],"mappings":"OAKO,EAAE,QAAQ,EAAE,MAAM,kBAAkB;OACpC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAC7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,sBAAyB,gBAA0D;IACjF,MAAM,CAAC,+BAA+B,MAAqB;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,gBAA0D;QAA1D,qBAAgB,GAAhB,gBAAgB,CAA0C;IAC9E,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAO,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAoC,eAAe;IAMjD,YAAY,WAA0B,EAClB,gBAA0D;QAC5E,MAAM,WAAW,CAAC,CAAC;QADD,qBAAgB,GAAhB,gBAAgB,CAA0C;QAJtE,aAAQ,GAAY,KAAK,CAAC;IAMlC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,EAAE,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5D,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;QACX,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC5C,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC;QACD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAAE,UAAkB,EAAE,UAAkB;QAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js new file mode 100644 index 00000000000000..ea2b0d30827a23 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js @@ -0,0 +1,49 @@ +import { async } from '../scheduler/async'; +import { audit } from './audit'; +import { timer } from '../observable/timer'; +/** + * Ignores source values for `duration` milliseconds, then emits the most recent + * value from the source Observable, then repeats this process. + * + * When it sees a source values, it ignores that plus + * the next ones for `duration` milliseconds, and then it emits the most recent + * value from the source. + * + * + * + * `auditTime` is similar to `throttleTime`, but emits the last value from the + * silenced time window, instead of the first value. `auditTime` emits the most + * recent value from the source Observable on the output Observable as soon as + * its internal timer becomes disabled, and ignores source values while the + * timer is enabled. Initially, the timer is disabled. As soon as the first + * source value arrives, the timer is enabled. After `duration` milliseconds (or + * the time unit determined internally by the optional `scheduler`) has passed, + * the timer is disabled, then the most recent source value is emitted on the + * output Observable, and this process repeats for the next source value. + * Optionally takes a {@link IScheduler} for managing timers. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.auditTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttleTime} + * + * @param {number} duration Time to wait before emitting the most recent source + * value, measured in milliseconds or the time unit determined internally + * by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the rate-limiting behavior. + * @return {Observable} An Observable that performs rate-limiting of + * emissions from the source Observable. + * @method auditTime + * @owner Observable + */ +export function auditTime(duration, scheduler = async) { + return audit(() => timer(duration, scheduler)); +} +//# sourceMappingURL=auditTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js.map new file mode 100644 index 00000000000000..34699b0a205cf1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/auditTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auditTime.js","sourceRoot":"","sources":["../../src/operators/auditTime.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAEnC,EAAE,KAAK,EAAE,MAAM,SAAS;OACxB,EAAE,KAAK,EAAE,MAAM,qBAAqB;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,0BAA6B,QAAgB,EAAE,SAAS,GAAe,KAAK;IAC1E,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js new file mode 100644 index 00000000000000..9241dab4457b25 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js @@ -0,0 +1,68 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Buffers the source Observable values until `closingNotifier` emits. + * + * Collects values from the past as an array, and emits + * that array only when another Observable emits. + * + * + * + * Buffers the incoming Observable values until the given `closingNotifier` + * Observable emits a value, at which point it emits the buffer on the output + * Observable and starts a new buffer internally, awaiting the next time + * `closingNotifier` emits. + * + * @example On every click, emit array of most recent interval events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var interval = Rx.Observable.interval(1000); + * var buffered = interval.buffer(clicks); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link window} + * + * @param {Observable} closingNotifier An Observable that signals the + * buffer to be emitted on the output Observable. + * @return {Observable} An Observable of buffers, which are arrays of + * values. + * @method buffer + * @owner Observable + */ +export function buffer(closingNotifier) { + return function bufferOperatorFunction(source) { + return source.lift(new BufferOperator(closingNotifier)); + }; +} +class BufferOperator { + constructor(closingNotifier) { + this.closingNotifier = closingNotifier; + } + call(subscriber, source) { + return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferSubscriber extends OuterSubscriber { + constructor(destination, closingNotifier) { + super(destination); + this.buffer = []; + this.add(subscribeToResult(this, closingNotifier)); + } + _next(value) { + this.buffer.push(value); + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const buffer = this.buffer; + this.buffer = []; + this.destination.next(buffer); + } +} +//# sourceMappingURL=buffer.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js.map new file mode 100644 index 00000000000000..e3d47615f31ae1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/buffer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/operators/buffer.ts"],"names":[],"mappings":"OAGO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,uBAA0B,eAAgC;IACxD,MAAM,CAAC,gCAAgC,MAAqB;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAI,eAAe,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;IAEE,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IACpD,CAAC;IAED,IAAI,CAAC,UAA2B,EAAE,MAAW;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,eAAe;IAG/C,YAAY,WAA4B,EAAE,eAAgC;QACxE,MAAM,WAAW,CAAC,CAAC;QAHb,WAAM,GAAQ,EAAE,CAAC;QAIvB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAe,EAC9B,UAAkB,EAAE,UAAkB,EACtC,QAAiC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js new file mode 100644 index 00000000000000..3d7f1784332b4f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js @@ -0,0 +1,129 @@ +import { Subscriber } from '../Subscriber'; +/** + * Buffers the source Observable values until the size hits the maximum + * `bufferSize` given. + * + * Collects values from the past as an array, and emits + * that array only when its size reaches `bufferSize`. + * + * + * + * Buffers a number of values from the source Observable by `bufferSize` then + * emits the buffer and clears it, and starts a new buffer each + * `startBufferEvery` values. If `startBufferEvery` is not provided or is + * `null`, then new buffers are started immediately at the start of the source + * and when each buffer closes and is emitted. + * + * @example Emit the last two click events as an array + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferCount(2); + * buffered.subscribe(x => console.log(x)); + * + * @example On every click, emit the last two click events as an array + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferCount(2, 1); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link pairwise} + * @see {@link windowCount} + * + * @param {number} bufferSize The maximum size of the buffer emitted. + * @param {number} [startBufferEvery] Interval at which to start a new buffer. + * For example if `startBufferEvery` is `2`, then a new buffer will be started + * on every other value from the source. A new buffer is started at the + * beginning of the source by default. + * @return {Observable} An Observable of arrays of buffered values. + * @method bufferCount + * @owner Observable + */ +export function bufferCount(bufferSize, startBufferEvery = null) { + return function bufferCountOperatorFunction(source) { + return source.lift(new BufferCountOperator(bufferSize, startBufferEvery)); + }; +} +class BufferCountOperator { + constructor(bufferSize, startBufferEvery) { + this.bufferSize = bufferSize; + this.startBufferEvery = startBufferEvery; + if (!startBufferEvery || bufferSize === startBufferEvery) { + this.subscriberClass = BufferCountSubscriber; + } + else { + this.subscriberClass = BufferSkipCountSubscriber; + } + } + call(subscriber, source) { + return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferCountSubscriber extends Subscriber { + constructor(destination, bufferSize) { + super(destination); + this.bufferSize = bufferSize; + this.buffer = []; + } + _next(value) { + const buffer = this.buffer; + buffer.push(value); + if (buffer.length == this.bufferSize) { + this.destination.next(buffer); + this.buffer = []; + } + } + _complete() { + const buffer = this.buffer; + if (buffer.length > 0) { + this.destination.next(buffer); + } + super._complete(); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferSkipCountSubscriber extends Subscriber { + constructor(destination, bufferSize, startBufferEvery) { + super(destination); + this.bufferSize = bufferSize; + this.startBufferEvery = startBufferEvery; + this.buffers = []; + this.count = 0; + } + _next(value) { + const { bufferSize, startBufferEvery, buffers, count } = this; + this.count++; + if (count % startBufferEvery === 0) { + buffers.push([]); + } + for (let i = buffers.length; i--;) { + const buffer = buffers[i]; + buffer.push(value); + if (buffer.length === bufferSize) { + buffers.splice(i, 1); + this.destination.next(buffer); + } + } + } + _complete() { + const { buffers, destination } = this; + while (buffers.length > 0) { + let buffer = buffers.shift(); + if (buffer.length > 0) { + destination.next(buffer); + } + } + super._complete(); + } +} +//# sourceMappingURL=bufferCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js.map new file mode 100644 index 00000000000000..6490ba2015d11a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferCount.js","sourceRoot":"","sources":["../../src/operators/bufferCount.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js new file mode 100644 index 00000000000000..09a49a1b61e51d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js @@ -0,0 +1,190 @@ +import { async } from '../scheduler/async'; +import { Subscriber } from '../Subscriber'; +import { isScheduler } from '../util/isScheduler'; +/* tslint:enable:max-line-length */ +/** + * Buffers the source Observable values for a specific time period. + * + * Collects values from the past as an array, and emits + * those arrays periodically in time. + * + * + * + * Buffers values from the source for a specific time duration `bufferTimeSpan`. + * Unless the optional argument `bufferCreationInterval` is given, it emits and + * resets the buffer every `bufferTimeSpan` milliseconds. If + * `bufferCreationInterval` is given, this operator opens the buffer every + * `bufferCreationInterval` milliseconds and closes (emits and resets) the + * buffer every `bufferTimeSpan` milliseconds. When the optional argument + * `maxBufferSize` is specified, the buffer will be closed either after + * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements. + * + * @example Every second, emit an array of the recent click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferTime(1000); + * buffered.subscribe(x => console.log(x)); + * + * @example Every 5 seconds, emit the click events from the next 2 seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferTime(2000, 5000); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferToggle} + * @see {@link bufferWhen} + * @see {@link windowTime} + * + * @param {number} bufferTimeSpan The amount of time to fill each buffer array. + * @param {number} [bufferCreationInterval] The interval at which to start new + * buffers. + * @param {number} [maxBufferSize] The maximum buffer size. + * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the + * intervals that determine buffer boundaries. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferTime + * @owner Observable + */ +export function bufferTime(bufferTimeSpan) { + let length = arguments.length; + let scheduler = async; + if (isScheduler(arguments[arguments.length - 1])) { + scheduler = arguments[arguments.length - 1]; + length--; + } + let bufferCreationInterval = null; + if (length >= 2) { + bufferCreationInterval = arguments[1]; + } + let maxBufferSize = Number.POSITIVE_INFINITY; + if (length >= 3) { + maxBufferSize = arguments[2]; + } + return function bufferTimeOperatorFunction(source) { + return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler)); + }; +} +class BufferTimeOperator { + constructor(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) { + this.bufferTimeSpan = bufferTimeSpan; + this.bufferCreationInterval = bufferCreationInterval; + this.maxBufferSize = maxBufferSize; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler)); + } +} +class Context { + constructor() { + this.buffer = []; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferTimeSubscriber extends Subscriber { + constructor(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) { + super(destination); + this.bufferTimeSpan = bufferTimeSpan; + this.bufferCreationInterval = bufferCreationInterval; + this.maxBufferSize = maxBufferSize; + this.scheduler = scheduler; + this.contexts = []; + const context = this.openContext(); + this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0; + if (this.timespanOnly) { + const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan }; + this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState)); + } + else { + const closeState = { subscriber: this, context }; + const creationState = { bufferTimeSpan, bufferCreationInterval, subscriber: this, scheduler }; + this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState)); + this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState)); + } + } + _next(value) { + const contexts = this.contexts; + const len = contexts.length; + let filledBufferContext; + for (let i = 0; i < len; i++) { + const context = contexts[i]; + const buffer = context.buffer; + buffer.push(value); + if (buffer.length == this.maxBufferSize) { + filledBufferContext = context; + } + } + if (filledBufferContext) { + this.onBufferFull(filledBufferContext); + } + } + _error(err) { + this.contexts.length = 0; + super._error(err); + } + _complete() { + const { contexts, destination } = this; + while (contexts.length > 0) { + const context = contexts.shift(); + destination.next(context.buffer); + } + super._complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + this.contexts = null; + } + onBufferFull(context) { + this.closeContext(context); + const closeAction = context.closeAction; + closeAction.unsubscribe(); + this.remove(closeAction); + if (!this.closed && this.timespanOnly) { + context = this.openContext(); + const bufferTimeSpan = this.bufferTimeSpan; + const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan }; + this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState)); + } + } + openContext() { + const context = new Context(); + this.contexts.push(context); + return context; + } + closeContext(context) { + this.destination.next(context.buffer); + const contexts = this.contexts; + const spliceIndex = contexts ? contexts.indexOf(context) : -1; + if (spliceIndex >= 0) { + contexts.splice(contexts.indexOf(context), 1); + } + } +} +function dispatchBufferTimeSpanOnly(state) { + const subscriber = state.subscriber; + const prevContext = state.context; + if (prevContext) { + subscriber.closeContext(prevContext); + } + if (!subscriber.closed) { + state.context = subscriber.openContext(); + state.context.closeAction = this.schedule(state, state.bufferTimeSpan); + } +} +function dispatchBufferCreation(state) { + const { bufferCreationInterval, bufferTimeSpan, subscriber, scheduler } = state; + const context = subscriber.openContext(); + const action = this; + if (!subscriber.closed) { + subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber, context })); + action.schedule(state, bufferCreationInterval); + } +} +function dispatchBufferClose(arg) { + const { subscriber, context } = arg; + subscriber.closeContext(context); +} +//# sourceMappingURL=bufferTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js.map new file mode 100644 index 00000000000000..1bca1e657d03d2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferTime.js","sourceRoot":"","sources":["../../src/operators/bufferTime.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js new file mode 100644 index 00000000000000..54a4165cf2beba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js @@ -0,0 +1,144 @@ +import { Subscription } from '../Subscription'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * Buffers the source Observable values starting from an emission from + * `openings` and ending when the output of `closingSelector` emits. + * + * Collects values from the past as an array. Starts + * collecting only when `opening` emits, and calls the `closingSelector` + * function to get an Observable that tells when to close the buffer. + * + * + * + * Buffers values from the source by opening the buffer via signals from an + * Observable provided to `openings`, and closing and sending the buffers when + * a Subscribable or Promise returned by the `closingSelector` function emits. + * + * @example Every other second, emit the click events from the next 500ms + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var openings = Rx.Observable.interval(1000); + * var buffered = clicks.bufferToggle(openings, i => + * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty() + * ); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferWhen} + * @see {@link windowToggle} + * + * @param {SubscribableOrPromise} openings A Subscribable or Promise of notifications to start new + * buffers. + * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes + * the value emitted by the `openings` observable and returns a Subscribable or Promise, + * which, when it emits, signals that the associated buffer should be emitted + * and cleared. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferToggle + * @owner Observable + */ +export function bufferToggle(openings, closingSelector) { + return function bufferToggleOperatorFunction(source) { + return source.lift(new BufferToggleOperator(openings, closingSelector)); + }; +} +class BufferToggleOperator { + constructor(openings, closingSelector) { + this.openings = openings; + this.closingSelector = closingSelector; + } + call(subscriber, source) { + return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferToggleSubscriber extends OuterSubscriber { + constructor(destination, openings, closingSelector) { + super(destination); + this.openings = openings; + this.closingSelector = closingSelector; + this.contexts = []; + this.add(subscribeToResult(this, openings)); + } + _next(value) { + const contexts = this.contexts; + const len = contexts.length; + for (let i = 0; i < len; i++) { + contexts[i].buffer.push(value); + } + } + _error(err) { + const contexts = this.contexts; + while (contexts.length > 0) { + const context = contexts.shift(); + context.subscription.unsubscribe(); + context.buffer = null; + context.subscription = null; + } + this.contexts = null; + super._error(err); + } + _complete() { + const contexts = this.contexts; + while (contexts.length > 0) { + const context = contexts.shift(); + this.destination.next(context.buffer); + context.subscription.unsubscribe(); + context.buffer = null; + context.subscription = null; + } + this.contexts = null; + super._complete(); + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue); + } + notifyComplete(innerSub) { + this.closeBuffer(innerSub.context); + } + openBuffer(value) { + try { + const closingSelector = this.closingSelector; + const closingNotifier = closingSelector.call(this, value); + if (closingNotifier) { + this.trySubscribe(closingNotifier); + } + } + catch (err) { + this._error(err); + } + } + closeBuffer(context) { + const contexts = this.contexts; + if (contexts && context) { + const { buffer, subscription } = context; + this.destination.next(buffer); + contexts.splice(contexts.indexOf(context), 1); + this.remove(subscription); + subscription.unsubscribe(); + } + } + trySubscribe(closingNotifier) { + const contexts = this.contexts; + const buffer = []; + const subscription = new Subscription(); + const context = { buffer, subscription }; + contexts.push(context); + const innerSubscription = subscribeToResult(this, closingNotifier, context); + if (!innerSubscription || innerSubscription.closed) { + this.closeBuffer(context); + } + else { + innerSubscription.context = context; + this.add(innerSubscription); + subscription.add(innerSubscription); + } + } +} +//# sourceMappingURL=bufferToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js.map new file mode 100644 index 00000000000000..3ffd53d8f2f524 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferToggle.js","sourceRoot":"","sources":["../../src/operators/bufferToggle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js new file mode 100644 index 00000000000000..0c9b6dcaf080c6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js @@ -0,0 +1,114 @@ +import { Subscription } from '../Subscription'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Buffers the source Observable values, using a factory function of closing + * Observables to determine when to close, emit, and reset the buffer. + * + * Collects values from the past as an array. When it + * starts collecting values, it calls a function that returns an Observable that + * tells when to close the buffer and restart collecting. + * + * + * + * Opens a buffer immediately, then closes the buffer when the observable + * returned by calling `closingSelector` function emits a value. When it closes + * the buffer, it immediately opens a new buffer and repeats the process. + * + * @example Emit an array of the last clicks every [1-5] random seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var buffered = clicks.bufferWhen(() => + * Rx.Observable.interval(1000 + Math.random() * 4000) + * ); + * buffered.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * @see {@link bufferTime} + * @see {@link bufferToggle} + * @see {@link windowWhen} + * + * @param {function(): Observable} closingSelector A function that takes no + * arguments and returns an Observable that signals buffer closure. + * @return {Observable} An observable of arrays of buffered values. + * @method bufferWhen + * @owner Observable + */ +export function bufferWhen(closingSelector) { + return function (source) { + return source.lift(new BufferWhenOperator(closingSelector)); + }; +} +class BufferWhenOperator { + constructor(closingSelector) { + this.closingSelector = closingSelector; + } + call(subscriber, source) { + return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class BufferWhenSubscriber extends OuterSubscriber { + constructor(destination, closingSelector) { + super(destination); + this.closingSelector = closingSelector; + this.subscribing = false; + this.openBuffer(); + } + _next(value) { + this.buffer.push(value); + } + _complete() { + const buffer = this.buffer; + if (buffer) { + this.destination.next(buffer); + } + super._complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + this.buffer = null; + this.subscribing = false; + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.openBuffer(); + } + notifyComplete() { + if (this.subscribing) { + this.complete(); + } + else { + this.openBuffer(); + } + } + openBuffer() { + let { closingSubscription } = this; + if (closingSubscription) { + this.remove(closingSubscription); + closingSubscription.unsubscribe(); + } + const buffer = this.buffer; + if (this.buffer) { + this.destination.next(buffer); + } + this.buffer = []; + const closingNotifier = tryCatch(this.closingSelector)(); + if (closingNotifier === errorObject) { + this.error(errorObject.e); + } + else { + closingSubscription = new Subscription(); + this.closingSubscription = closingSubscription; + this.add(closingSubscription); + this.subscribing = true; + closingSubscription.add(subscribeToResult(this, closingNotifier)); + this.subscribing = false; + } + } +} +//# sourceMappingURL=bufferWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js.map new file mode 100644 index 00000000000000..00355da77f2d8a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/bufferWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bufferWhen.js","sourceRoot":"","sources":["../../src/operators/bufferWhen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js new file mode 100644 index 00000000000000..7a32d7ea043103 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js @@ -0,0 +1,106 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Catches errors on the observable to be handled by returning a new observable or throwing an error. + * + * + * + * @example Continues with a different Observable when there's an error + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n == 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V')) + * .subscribe(x => console.log(x)); + * // 1, 2, 3, I, II, III, IV, V + * + * @example Retries the caught source Observable again in case of error, similar to retry() operator + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n === 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch((err, caught) => caught) + * .take(30) + * .subscribe(x => console.log(x)); + * // 1, 2, 3, 1, 2, 3, ... + * + * @example Throws a new error when the source Observable throws an error + * + * Observable.of(1, 2, 3, 4, 5) + * .map(n => { + * if (n == 4) { + * throw 'four!'; + * } + * return n; + * }) + * .catch(err => { + * throw 'error in source. Details: ' + err; + * }) + * .subscribe( + * x => console.log(x), + * err => console.log(err) + * ); + * // 1, 2, 3, error in source. Details: four! + * + * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which + * is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable + * is returned by the `selector` will be used to continue the observable chain. + * @return {Observable} An observable that originates from either the source or the observable returned by the + * catch `selector` function. + * @name catchError + */ +export function catchError(selector) { + return function catchErrorOperatorFunction(source) { + const operator = new CatchOperator(selector); + const caught = source.lift(operator); + return (operator.caught = caught); + }; +} +class CatchOperator { + constructor(selector) { + this.selector = selector; + } + call(subscriber, source) { + return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class CatchSubscriber extends OuterSubscriber { + constructor(destination, selector, caught) { + super(destination); + this.selector = selector; + this.caught = caught; + } + // NOTE: overriding `error` instead of `_error` because we don't want + // to have this flag this subscriber as `isStopped`. We can mimic the + // behavior of the RetrySubscriber (from the `retry` operator), where + // we unsubscribe from our source chain, reset our Subscriber flags, + // then subscribe to the selector result. + error(err) { + if (!this.isStopped) { + let result; + try { + result = this.selector(err, this.caught); + } + catch (err2) { + super.error(err2); + return; + } + this._unsubscribeAndRecycle(); + this.add(subscribeToResult(this, result)); + } + } +} +//# sourceMappingURL=catchError.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js.map new file mode 100644 index 00000000000000..dbf7fcb25d8e7c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/catchError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"catchError.js","sourceRoot":"","sources":["../../src/operators/catchError.ts"],"names":[],"mappings":"OAIO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAC7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,2BAAiC,QAAiE;IAChG,MAAM,CAAC,oCAAoC,MAAqB;QAC9D,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAuB,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC;AAED;IAGE,YAAoB,QAAqE;QAArE,aAAQ,GAAR,QAAQ,CAA6D;IACzF,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAoC,eAAe;IACjD,YAAY,WAA4B,EACpB,QAAqE,EACrE,MAAqB;QACvC,MAAM,WAAW,CAAC,CAAC;QAFD,aAAQ,GAAR,QAAQ,CAA6D;QACrE,WAAM,GAAN,MAAM,CAAe;IAEzC,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,oEAAoE;IACpE,yCAAyC;IACzC,KAAK,CAAC,GAAQ;QACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAE;YAAA,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACd,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC;YACT,CAAC;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js new file mode 100644 index 00000000000000..aa581e7ca7ced6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js @@ -0,0 +1,5 @@ +import { CombineLatestOperator } from '../operators/combineLatest'; +export function combineAll(project) { + return (source) => source.lift(new CombineLatestOperator(project)); +} +//# sourceMappingURL=combineAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js.map new file mode 100644 index 00000000000000..60a319f5c02052 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineAll.js","sourceRoot":"","sources":["../../src/operators/combineAll.ts"],"names":[],"mappings":"OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B;AAIlE,2BAAiC,OAAsC;IACrE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AACpF,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js new file mode 100644 index 00000000000000..a5b8d0043e2a00 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js @@ -0,0 +1,135 @@ +import { ArrayObservable } from '../observable/ArrayObservable'; +import { isArray } from '../util/isArray'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +const none = {}; +/* tslint:enable:max-line-length */ +/** + * Combines multiple Observables to create an Observable whose values are + * calculated from the latest values of each of its input Observables. + * + * Whenever any input Observable emits a value, it + * computes a formula using the latest values from all the inputs, then emits + * the output of that formula. + * + * + * + * `combineLatest` combines the values from this Observable with values from + * Observables passed as arguments. This is done by subscribing to each + * Observable, in order, and collecting an array of each of the most recent + * values any time any of the input Observables emits, then either taking that + * array and passing it as arguments to an optional `project` function and + * emitting the return value of that, or just emitting the array of recent + * values directly if there is no `project` function. + * + * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height + * var weight = Rx.Observable.of(70, 72, 76, 79, 75); + * var height = Rx.Observable.of(1.76, 1.77, 1.78); + * var bmi = weight.combineLatest(height, (w, h) => w / (h * h)); + * bmi.subscribe(x => console.log('BMI is ' + x)); + * + * // With output to console: + * // BMI is 24.212293388429753 + * // BMI is 23.93948099205209 + * // BMI is 23.671253629592222 + * + * @see {@link combineAll} + * @see {@link merge} + * @see {@link withLatestFrom} + * + * @param {ObservableInput} other An input Observable to combine with the source + * Observable. More than one input Observables may be given as argument. + * @param {function} [project] An optional function to project the values from + * the combined latest values into a new value on the output Observable. + * @return {Observable} An Observable of projected values from the most recent + * values from each input Observable, or an array of the most recent values from + * each input Observable. + * @method combineLatest + * @owner Observable + */ +export function combineLatest(...observables) { + let project = null; + if (typeof observables[observables.length - 1] === 'function') { + project = observables.pop(); + } + // if the first and only other argument besides the resultSelector is an array + // assume it's been called with `combineLatest([obs1, obs2, obs3], project)` + if (observables.length === 1 && isArray(observables[0])) { + observables = observables[0].slice(); + } + return (source) => source.lift.call(new ArrayObservable([source, ...observables]), new CombineLatestOperator(project)); +} +export class CombineLatestOperator { + constructor(project) { + this.project = project; + } + call(subscriber, source) { + return source.subscribe(new CombineLatestSubscriber(subscriber, this.project)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class CombineLatestSubscriber extends OuterSubscriber { + constructor(destination, project) { + super(destination); + this.project = project; + this.active = 0; + this.values = []; + this.observables = []; + } + _next(observable) { + this.values.push(none); + this.observables.push(observable); + } + _complete() { + const observables = this.observables; + const len = observables.length; + if (len === 0) { + this.destination.complete(); + } + else { + this.active = len; + this.toRespond = len; + for (let i = 0; i < len; i++) { + const observable = observables[i]; + this.add(subscribeToResult(this, observable, observable, i)); + } + } + } + notifyComplete(unused) { + if ((this.active -= 1) === 0) { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const values = this.values; + const oldVal = values[outerIndex]; + const toRespond = !this.toRespond + ? 0 + : oldVal === none ? --this.toRespond : this.toRespond; + values[outerIndex] = innerValue; + if (toRespond === 0) { + if (this.project) { + this._tryProject(values); + } + else { + this.destination.next(values.slice()); + } + } + } + _tryProject(values) { + let result; + try { + result = this.project.apply(this, values); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } +} +//# sourceMappingURL=combineLatest.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js.map new file mode 100644 index 00000000000000..a36d2a18a8867c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/combineLatest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"combineLatest.js","sourceRoot":"","sources":["../../src/operators/combineLatest.ts"],"names":[],"mappings":"OACO,EAAE,eAAe,EAAE,MAAM,+BAA+B;OACxD,EAAE,OAAO,EAAE,MAAM,iBAAiB;OAGlC,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D,MAAM,IAAI,GAAG,EAAE,CAAC;AAiBhB,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,8BAAoC,GAAG,WAE4C;IACjF,IAAI,OAAO,GAAiC,IAAI,CAAC;IACjD,EAAE,CAAC,CAAC,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAiC,WAAW,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,WAAW,GAAS,WAAW,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AACxI,CAAC;AAED;IACE,YAAoB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAC1D,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,6CAAmD,eAAe;IAMhE,YAAY,WAA0B,EAAU,OAAsC;QACpF,MAAM,WAAW,CAAC,CAAC;QAD2B,YAAO,GAAP,OAAO,CAA+B;QAL9E,WAAM,GAAW,CAAC,CAAC;QACnB,WAAM,GAAU,EAAE,CAAC;QACnB,gBAAW,GAAU,EAAE,CAAC;IAKhC,CAAC;IAES,KAAK,CAAC,UAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAES,SAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/B,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAqB;QAClC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;cAC7B,CAAC;cACD,MAAM,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;QAEhC,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAa;QAC/B,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js new file mode 100644 index 00000000000000..5784eb6e8f3f25 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js @@ -0,0 +1,56 @@ +import { concat as concatStatic } from '../observable/concat'; +export { concat as concatStatic } from '../observable/concat'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which sequentially emits all values from every + * given input Observable after the current Observable. + * + * Concatenates multiple Observables together by + * sequentially emitting their values, one Observable after the other. + * + * + * + * Joins this Observable with multiple other Observables by subscribing to them + * one at a time, starting with the source, and merging their results into the + * output Observable. Will wait for each Observable to complete before moving + * on to the next. + * + * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10 + * var timer = Rx.Observable.interval(1000).take(4); + * var sequence = Rx.Observable.range(1, 10); + * var result = timer.concat(sequence); + * result.subscribe(x => console.log(x)); + * + * // results in: + * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10 + * + * @example Concatenate 3 Observables + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var result = timer1.concat(timer2, timer3); + * result.subscribe(x => console.log(x)); + * + * // results in the following: + * // (Prints to console sequentially) + * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9 + * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5 + * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9 + * + * @see {@link concatAll} + * @see {@link concatMap} + * @see {@link concatMapTo} + * + * @param {ObservableInput} other An input Observable to concatenate after the source + * Observable. More than one input Observables may be given as argument. + * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each + * Observable subscription on. + * @return {Observable} All values of each passed Observable merged into a + * single Observable, in order, in serial fashion. + * @method concat + * @owner Observable + */ +export function concat(...observables) { + return (source) => source.lift.call(concatStatic(source, ...observables)); +} +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js.map new file mode 100644 index 00000000000000..043a4e9fa6622e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../src/operators/concat.ts"],"names":[],"mappings":"OAGO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,sBAAsB;AAE7D,SAAS,MAAM,IAAI,YAAY,QAAQ,sBAAsB,CAAC;AAW9D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,uBAA6B,GAAG,WAAqD;IACnF,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAO,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AACjG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js new file mode 100644 index 00000000000000..07ace5b0d7620d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js @@ -0,0 +1,53 @@ +import { mergeAll } from './mergeAll'; +/** + * Converts a higher-order Observable into a first-order Observable by + * concatenating the inner Observables in order. + * + * Flattens an Observable-of-Observables by putting one + * inner Observable after the other. + * + * + * + * Joins every Observable emitted by the source (a higher-order Observable), in + * a serial fashion. It subscribes to each inner Observable only after the + * previous inner Observable has completed, and merges all of their values into + * the returned observable. + * + * __Warning:__ If the source Observable emits Observables quickly and + * endlessly, and the inner Observables it emits generally complete slower than + * the source emits, you can run into memory issues as the incoming Observables + * collect in an unbounded buffer. + * + * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set + * to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4)); + * var firstOrder = higherOrder.concatAll(); + * firstOrder.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link combineAll} + * @see {@link concat} + * @see {@link concatMap} + * @see {@link concatMapTo} + * @see {@link exhaust} + * @see {@link mergeAll} + * @see {@link switch} + * @see {@link zipAll} + * + * @return {Observable} An Observable emitting values from all the inner + * Observables concatenated. + * @method concatAll + * @owner Observable + */ +export function concatAll() { + return mergeAll(1); +} +//# sourceMappingURL=concatAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js.map new file mode 100644 index 00000000000000..a45ad9ffa9b374 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatAll.js","sourceRoot":"","sources":["../../src/operators/concatAll.ts"],"names":[],"mappings":"OACO,EAAE,QAAQ,EAAE,MAAM,YAAY;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH;IACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js new file mode 100644 index 00000000000000..efce943458ed08 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js @@ -0,0 +1,65 @@ +import { mergeMap } from './mergeMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable, in a serialized fashion waiting for each one to complete before + * merging the next. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link concatAll}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. Each new inner Observable is + * concatenated with the previous inner Observable. + * + * __Warning:__ if source values arrive endlessly and faster than their + * corresponding inner Observables can complete, it will result in memory issues + * as inner Observables amass in an unbounded buffer waiting for their turn to + * be subscribed to. + * + * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set + * to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4)); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link concat} + * @see {@link concatAll} + * @see {@link concatMapTo} + * @see {@link exhaustMap} + * @see {@link mergeMap} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and taking values from each projected inner + * Observable sequentially. + * @method concatMap + * @owner Observable + */ +export function concatMap(project, resultSelector) { + return mergeMap(project, resultSelector, 1); +} +//# sourceMappingURL=concatMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js.map new file mode 100644 index 00000000000000..c7ffe1b67e3880 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMap.js","sourceRoot":"","sources":["../../src/operators/concatMap.ts"],"names":[],"mappings":"OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY;AAOrC,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,0BAAmC,OAAyD,EACzD,cAA4F;IAC7H,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js new file mode 100644 index 00000000000000..48a3d047fabbdf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js @@ -0,0 +1,62 @@ +import { concatMap } from './concatMap'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is merged multiple + * times in a serialized fashion on the output Observable. + * + * It's like {@link concatMap}, but maps each value + * always to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then flattens those resulting Observables into one + * single Observable, which is the output Observable. Each new `innerObservable` + * instance emitted on the output Observable is concatenated with the previous + * `innerObservable` instance. + * + * __Warning:__ if source values arrive endlessly and faster than their + * corresponding inner Observables can complete, it will result in memory issues + * as inner Observables amass in an unbounded buffer waiting for their turn to + * be subscribed to. + * + * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter + * set to `1`. + * + * @example For each click event, tick every second from 0 to 3, with no concurrency + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4)); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // (results are not concurrent) + * // For every click on the "document" it will emit values 0 to 3 spaced + * // on a 1000ms interval + * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 + * + * @see {@link concat} + * @see {@link concatAll} + * @see {@link concatMap} + * @see {@link mergeMapTo} + * @see {@link switchMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An observable of values merged together by joining the + * passed observable with itself, one after the other, for each value emitted + * from the source. + * @method concatMapTo + * @owner Observable + */ +export function concatMapTo(innerObservable, resultSelector) { + return concatMap(() => innerObservable, resultSelector); +} +//# sourceMappingURL=concatMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js.map new file mode 100644 index 00000000000000..f827b97df5021d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/concatMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concatMapTo.js","sourceRoot":"","sources":["../../src/operators/concatMapTo.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,EAAE,MAAM,aAAa;AAMvC,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,4BACE,eAA8B,EAC9B,cAA4F;IAE5F,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js new file mode 100644 index 00000000000000..b46e7070c2f811 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js @@ -0,0 +1,101 @@ +import { Subscriber } from '../Subscriber'; +/** + * Counts the number of emissions on the source and emits that number when the + * source completes. + * + * Tells how many values were emitted, when the source + * completes. + * + * + * + * `count` transforms an Observable that emits values into an Observable that + * emits a single value that represents the number of values emitted by the + * source Observable. If the source Observable terminates with an error, `count` + * will pass this error notification along without emitting a value first. If + * the source Observable does not terminate at all, `count` will neither emit + * a value nor terminate. This operator takes an optional `predicate` function + * as argument, in which case the output emission will represent the number of + * source values that matched `true` with the `predicate`. + * + * @example Counts how many seconds have passed before the first click happened + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var secondsBeforeClick = seconds.takeUntil(clicks); + * var result = secondsBeforeClick.count(); + * result.subscribe(x => console.log(x)); + * + * @example Counts how many odd numbers are there between 1 and 7 + * var numbers = Rx.Observable.range(1, 7); + * var result = numbers.count(i => i % 2 === 1); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // 4 + * + * @see {@link max} + * @see {@link min} + * @see {@link reduce} + * + * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A + * boolean function to select what values are to be counted. It is provided with + * arguments of: + * - `value`: the value from the source Observable. + * - `index`: the (zero-based) "index" of the value from the source Observable. + * - `source`: the source Observable instance itself. + * @return {Observable} An Observable of one number that represents the count as + * described above. + * @method count + * @owner Observable + */ +export function count(predicate) { + return (source) => source.lift(new CountOperator(predicate, source)); +} +class CountOperator { + constructor(predicate, source) { + this.predicate = predicate; + this.source = source; + } + call(subscriber, source) { + return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class CountSubscriber extends Subscriber { + constructor(destination, predicate, source) { + super(destination); + this.predicate = predicate; + this.source = source; + this.count = 0; + this.index = 0; + } + _next(value) { + if (this.predicate) { + this._tryPredicate(value); + } + else { + this.count++; + } + } + _tryPredicate(value) { + let result; + try { + result = this.predicate(value, this.index++, this.source); + } + catch (err) { + this.destination.error(err); + return; + } + if (result) { + this.count++; + } + } + _complete() { + this.destination.next(this.count); + this.destination.complete(); + } +} +//# sourceMappingURL=count.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js.map new file mode 100644 index 00000000000000..40cd82318dd133 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/count.js.map @@ -0,0 +1 @@ +{"version":3,"file":"count.js","sourceRoot":"","sources":["../../src/operators/count.ts"],"names":[],"mappings":"OAGO,EAAE,UAAU,EAAE,MAAM,eAAe;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,sBAAyB,SAAuE;IAC9F,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;IACE,YAAoB,SAAuE,EACvE,MAAsB;QADtB,cAAS,GAAT,SAAS,CAA8D;QACvE,WAAM,GAAN,MAAM,CAAgB;IAC1C,CAAC;IAED,IAAI,CAAC,UAA8B,EAAE,MAAW;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAiC,UAAU;IAIzC,YAAY,WAA6B,EACrB,SAAuE,EACvE,MAAsB;QACxC,MAAM,WAAW,CAAC,CAAC;QAFD,cAAS,GAAT,SAAS,CAA8D;QACvE,WAAM,GAAN,MAAM,CAAgB;QALlC,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;IAM1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAQ;QAC5B,IAAI,MAAW,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js new file mode 100644 index 00000000000000..27cd9deffb7a3a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js @@ -0,0 +1,117 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Emits a value from the source Observable only after a particular time span + * determined by another Observable has passed without another source emission. + * + * It's like {@link debounceTime}, but the time span of + * emission silence is determined by a second Observable. + * + * + * + * `debounce` delays values emitted by the source Observable, but drops previous + * pending delayed emissions if a new value arrives on the source Observable. + * This operator keeps track of the most recent value from the source + * Observable, and spawns a duration Observable by calling the + * `durationSelector` function. The value is emitted only when the duration + * Observable emits a value or completes, and if no other value was emitted on + * the source Observable since the duration Observable was spawned. If a new + * value appears before the duration Observable emits, the previous value will + * be dropped and will not be emitted on the output Observable. + * + * Like {@link debounceTime}, this is a rate-limiting operator, and also a + * delay-like operator since output emissions do not necessarily occur at the + * same time as they did on the source Observable. + * + * @example Emit the most recent click after a burst of clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.debounce(() => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounceTime} + * @see {@link delayWhen} + * @see {@link throttle} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the timeout + * duration for each source value, returned as an Observable or a Promise. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified duration Observable returned by + * `durationSelector`, and may drop some values if they occur too frequently. + * @method debounce + * @owner Observable + */ +export function debounce(durationSelector) { + return (source) => source.lift(new DebounceOperator(durationSelector)); +} +class DebounceOperator { + constructor(durationSelector) { + this.durationSelector = durationSelector; + } + call(subscriber, source) { + return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DebounceSubscriber extends OuterSubscriber { + constructor(destination, durationSelector) { + super(destination); + this.durationSelector = durationSelector; + this.hasValue = false; + this.durationSubscription = null; + } + _next(value) { + try { + const result = this.durationSelector.call(this, value); + if (result) { + this._tryNext(value, result); + } + } + catch (err) { + this.destination.error(err); + } + } + _complete() { + this.emitValue(); + this.destination.complete(); + } + _tryNext(value, duration) { + let subscription = this.durationSubscription; + this.value = value; + this.hasValue = true; + if (subscription) { + subscription.unsubscribe(); + this.remove(subscription); + } + subscription = subscribeToResult(this, duration); + if (!subscription.closed) { + this.add(this.durationSubscription = subscription); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.emitValue(); + } + notifyComplete() { + this.emitValue(); + } + emitValue() { + if (this.hasValue) { + const value = this.value; + const subscription = this.durationSubscription; + if (subscription) { + this.durationSubscription = null; + subscription.unsubscribe(); + this.remove(subscription); + } + this.value = null; + this.hasValue = false; + super._next(value); + } + } +} +//# sourceMappingURL=debounce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js.map new file mode 100644 index 00000000000000..8f6bb36177cdad --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/operators/debounce.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js new file mode 100644 index 00000000000000..fbe84af3b0973f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js @@ -0,0 +1,105 @@ +import { Subscriber } from '../Subscriber'; +import { async } from '../scheduler/async'; +/** + * Emits a value from the source Observable only after a particular time span + * has passed without another source emission. + * + * It's like {@link delay}, but passes only the most + * recent value from each burst of emissions. + * + * + * + * `debounceTime` delays values emitted by the source Observable, but drops + * previous pending delayed emissions if a new value arrives on the source + * Observable. This operator keeps track of the most recent value from the + * source Observable, and emits that only when `dueTime` enough time has passed + * without any other value appearing on the source Observable. If a new value + * appears before `dueTime` silence occurs, the previous value will be dropped + * and will not be emitted on the output Observable. + * + * This is a rate-limiting operator, because it is impossible for more than one + * value to be emitted in any time window of duration `dueTime`, but it is also + * a delay-like operator since output emissions do not occur at the same time as + * they did on the source Observable. Optionally takes a {@link IScheduler} for + * managing timers. + * + * @example Emit the most recent click after a burst of clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.debounceTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounce} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttleTime} + * + * @param {number} dueTime The timeout duration in milliseconds (or the time + * unit determined internally by the optional `scheduler`) for the window of + * time required to wait for emission silence before emitting the most recent + * source value. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the timeout for each value. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified `dueTime`, and may drop some values if they occur + * too frequently. + * @method debounceTime + * @owner Observable + */ +export function debounceTime(dueTime, scheduler = async) { + return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler)); +} +class DebounceTimeOperator { + constructor(dueTime, scheduler) { + this.dueTime = dueTime; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DebounceTimeSubscriber extends Subscriber { + constructor(destination, dueTime, scheduler) { + super(destination); + this.dueTime = dueTime; + this.scheduler = scheduler; + this.debouncedSubscription = null; + this.lastValue = null; + this.hasValue = false; + } + _next(value) { + this.clearDebounce(); + this.lastValue = value; + this.hasValue = true; + this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this)); + } + _complete() { + this.debouncedNext(); + this.destination.complete(); + } + debouncedNext() { + this.clearDebounce(); + if (this.hasValue) { + this.destination.next(this.lastValue); + this.lastValue = null; + this.hasValue = false; + } + } + clearDebounce() { + const debouncedSubscription = this.debouncedSubscription; + if (debouncedSubscription !== null) { + this.remove(debouncedSubscription); + debouncedSubscription.unsubscribe(); + this.debouncedSubscription = null; + } + } +} +function dispatchNext(subscriber) { + subscriber.debouncedNext(); +} +//# sourceMappingURL=debounceTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js.map new file mode 100644 index 00000000000000..6d482a7c9fcead --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/debounceTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debounceTime.js","sourceRoot":"","sources":["../../src/operators/debounceTime.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OAGnC,EAAE,KAAK,EAAE,MAAM,oBAAoB;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,6BAAgC,OAAe,EAAE,SAAS,GAAe,KAAK;IAC5E,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;IACE,YAAoB,OAAe,EAAU,SAAqB;QAA9C,YAAO,GAAP,OAAO,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAY;IAClE,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,qCAAwC,UAAU;IAKhD,YAAY,WAA0B,EAClB,OAAe,EACf,SAAqB;QACvC,MAAM,WAAW,CAAC,CAAC;QAFD,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QANjC,0BAAqB,GAAiB,IAAI,CAAC;QAC3C,cAAS,GAAM,IAAI,CAAC;QACpB,aAAQ,GAAY,KAAK,CAAC;IAMlC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACnG,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAEzD,EAAE,CAAC,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACnC,qBAAqB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,sBAAsB,UAAuC;IAC3D,UAAU,CAAC,aAAa,EAAE,CAAC;AAC7B,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js new file mode 100644 index 00000000000000..1b0b255e2f88fb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js @@ -0,0 +1,66 @@ +import { Subscriber } from '../Subscriber'; +/* tslint:enable:max-line-length */ +/** + * Emits a given value if the source Observable completes without emitting any + * `next` value, otherwise mirrors the source Observable. + * + * If the source Observable turns out to be empty, then + * this operator will emit a default value. + * + * + * + * `defaultIfEmpty` emits the values emitted by the source Observable or a + * specified default value if the source Observable is empty (completes without + * having emitted any `next` value). + * + * @example If no clicks happen in 5 seconds, then emit "no clicks" + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000)); + * var result = clicksBeforeFive.defaultIfEmpty('no clicks'); + * result.subscribe(x => console.log(x)); + * + * @see {@link empty} + * @see {@link last} + * + * @param {any} [defaultValue=null] The default value used if the source + * Observable is empty. + * @return {Observable} An Observable that emits either the specified + * `defaultValue` if the source Observable emits no items, or the values emitted + * by the source Observable. + * @method defaultIfEmpty + * @owner Observable + */ +export function defaultIfEmpty(defaultValue = null) { + return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue)); +} +class DefaultIfEmptyOperator { + constructor(defaultValue) { + this.defaultValue = defaultValue; + } + call(subscriber, source) { + return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DefaultIfEmptySubscriber extends Subscriber { + constructor(destination, defaultValue) { + super(destination); + this.defaultValue = defaultValue; + this.isEmpty = true; + } + _next(value) { + this.isEmpty = false; + this.destination.next(value); + } + _complete() { + if (this.isEmpty) { + this.destination.next(this.defaultValue); + } + this.destination.complete(); + } +} +//# sourceMappingURL=defaultIfEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js.map new file mode 100644 index 00000000000000..ee93ac5da61ddb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/defaultIfEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defaultIfEmpty.js","sourceRoot":"","sources":["../../src/operators/defaultIfEmpty.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAM1C,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,+BAAqC,YAAY,GAAM,IAAI;IACzD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAsB,CAAC;AAC/G,CAAC;AAED;IAEE,YAAoB,YAAe;QAAf,iBAAY,GAAZ,YAAY,CAAG;IACnC,CAAC;IAED,IAAI,CAAC,UAA6B,EAAE,MAAW;QAC7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,uCAA6C,UAAU;IAGrD,YAAY,WAA8B,EAAU,YAAe;QACjE,MAAM,WAAW,CAAC,CAAC;QAD+B,iBAAY,GAAZ,YAAY,CAAG;QAF3D,YAAO,GAAY,IAAI,CAAC;IAIhC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,SAAS;QACjB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js new file mode 100644 index 00000000000000..e01e4bd4948883 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js @@ -0,0 +1,124 @@ +import { async } from '../scheduler/async'; +import { isDate } from '../util/isDate'; +import { Subscriber } from '../Subscriber'; +import { Notification } from '../Notification'; +/** + * Delays the emission of items from the source Observable by a given timeout or + * until a given Date. + * + * Time shifts each item by some specified amount of + * milliseconds. + * + * + * + * If the delay argument is a Number, this operator time shifts the source + * Observable by that amount of time expressed in milliseconds. The relative + * time intervals between the values are preserved. + * + * If the delay argument is a Date, this operator time shifts the start of the + * Observable execution until the given date occurs. + * + * @example Delay each click by one second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second + * delayedClicks.subscribe(x => console.log(x)); + * + * @example Delay all clicks until a future date happens + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var date = new Date('March 15, 2050 12:00:00'); // in the future + * var delayedClicks = clicks.delay(date); // click emitted only after that date + * delayedClicks.subscribe(x => console.log(x)); + * + * @see {@link debounceTime} + * @see {@link delayWhen} + * + * @param {number|Date} delay The delay duration in milliseconds (a `number`) or + * a `Date` until which the emission of the source items is delayed. + * @param {Scheduler} [scheduler=async] The IScheduler to use for + * managing the timers that handle the time-shift for each item. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by the specified timeout or Date. + * @method delay + * @owner Observable + */ +export function delay(delay, scheduler = async) { + const absoluteDelay = isDate(delay); + const delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay); + return (source) => source.lift(new DelayOperator(delayFor, scheduler)); +} +class DelayOperator { + constructor(delay, scheduler) { + this.delay = delay; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DelaySubscriber extends Subscriber { + constructor(destination, delay, scheduler) { + super(destination); + this.delay = delay; + this.scheduler = scheduler; + this.queue = []; + this.active = false; + this.errored = false; + } + static dispatch(state) { + const source = state.source; + const queue = source.queue; + const scheduler = state.scheduler; + const destination = state.destination; + while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) { + queue.shift().notification.observe(destination); + } + if (queue.length > 0) { + const delay = Math.max(0, queue[0].time - scheduler.now()); + this.schedule(state, delay); + } + else { + this.unsubscribe(); + source.active = false; + } + } + _schedule(scheduler) { + this.active = true; + this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, { + source: this, destination: this.destination, scheduler: scheduler + })); + } + scheduleNotification(notification) { + if (this.errored === true) { + return; + } + const scheduler = this.scheduler; + const message = new DelayMessage(scheduler.now() + this.delay, notification); + this.queue.push(message); + if (this.active === false) { + this._schedule(scheduler); + } + } + _next(value) { + this.scheduleNotification(Notification.createNext(value)); + } + _error(err) { + this.errored = true; + this.queue = []; + this.destination.error(err); + } + _complete() { + this.scheduleNotification(Notification.createComplete()); + } +} +class DelayMessage { + constructor(time, notification) { + this.time = time; + this.notification = notification; + } +} +//# sourceMappingURL=delay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js.map new file mode 100644 index 00000000000000..bcd4e78b40a504 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../src/operators/delay.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js new file mode 100644 index 00000000000000..d2b97c9a9a35e2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js @@ -0,0 +1,178 @@ +import { Subscriber } from '../Subscriber'; +import { Observable } from '../Observable'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Delays the emission of items from the source Observable by a given time span + * determined by the emissions of another Observable. + * + * It's like {@link delay}, but the time span of the + * delay duration is determined by a second Observable. + * + * + * + * `delayWhen` time shifts each emitted value from the source Observable by a + * time span determined by another Observable. When the source emits a value, + * the `delayDurationSelector` function is called with the source value as + * argument, and should return an Observable, called the "duration" Observable. + * The source value is emitted on the output Observable only when the duration + * Observable emits a value or completes. + * + * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which + * is an Observable. When `subscriptionDelay` emits its first value or + * completes, the source Observable is subscribed to and starts behaving like + * described in the previous paragraph. If `subscriptionDelay` is not provided, + * `delayWhen` will subscribe to the source Observable as soon as the output + * Observable is subscribed. + * + * @example Delay each click by a random amount of time, between 0 and 5 seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var delayedClicks = clicks.delayWhen(event => + * Rx.Observable.interval(Math.random() * 5000) + * ); + * delayedClicks.subscribe(x => console.log(x)); + * + * @see {@link debounce} + * @see {@link delay} + * + * @param {function(value: T): Observable} delayDurationSelector A function that + * returns an Observable for each value emitted by the source Observable, which + * is then used to delay the emission of that item on the output Observable + * until the Observable returned from this function emits a value. + * @param {Observable} subscriptionDelay An Observable that triggers the + * subscription to the source Observable once it emits any value. + * @return {Observable} An Observable that delays the emissions of the source + * Observable by an amount of time specified by the Observable returned by + * `delayDurationSelector`. + * @method delayWhen + * @owner Observable + */ +export function delayWhen(delayDurationSelector, subscriptionDelay) { + if (subscriptionDelay) { + return (source) => new SubscriptionDelayObservable(source, subscriptionDelay) + .lift(new DelayWhenOperator(delayDurationSelector)); + } + return (source) => source.lift(new DelayWhenOperator(delayDurationSelector)); +} +class DelayWhenOperator { + constructor(delayDurationSelector) { + this.delayDurationSelector = delayDurationSelector; + } + call(subscriber, source) { + return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DelayWhenSubscriber extends OuterSubscriber { + constructor(destination, delayDurationSelector) { + super(destination); + this.delayDurationSelector = delayDurationSelector; + this.completed = false; + this.delayNotifierSubscriptions = []; + this.values = []; + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.destination.next(outerValue); + this.removeSubscription(innerSub); + this.tryComplete(); + } + notifyError(error, innerSub) { + this._error(error); + } + notifyComplete(innerSub) { + const value = this.removeSubscription(innerSub); + if (value) { + this.destination.next(value); + } + this.tryComplete(); + } + _next(value) { + try { + const delayNotifier = this.delayDurationSelector(value); + if (delayNotifier) { + this.tryDelay(delayNotifier, value); + } + } + catch (err) { + this.destination.error(err); + } + } + _complete() { + this.completed = true; + this.tryComplete(); + } + removeSubscription(subscription) { + subscription.unsubscribe(); + const subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription); + let value = null; + if (subscriptionIdx !== -1) { + value = this.values[subscriptionIdx]; + this.delayNotifierSubscriptions.splice(subscriptionIdx, 1); + this.values.splice(subscriptionIdx, 1); + } + return value; + } + tryDelay(delayNotifier, value) { + const notifierSubscription = subscribeToResult(this, delayNotifier, value); + if (notifierSubscription && !notifierSubscription.closed) { + this.add(notifierSubscription); + this.delayNotifierSubscriptions.push(notifierSubscription); + } + this.values.push(value); + } + tryComplete() { + if (this.completed && this.delayNotifierSubscriptions.length === 0) { + this.destination.complete(); + } + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SubscriptionDelayObservable extends Observable { + constructor(/** @deprecated internal use only */ source, subscriptionDelay) { + super(); + this.source = source; + this.subscriptionDelay = subscriptionDelay; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SubscriptionDelaySubscriber extends Subscriber { + constructor(parent, source) { + super(); + this.parent = parent; + this.source = source; + this.sourceSubscribed = false; + } + _next(unused) { + this.subscribeToSource(); + } + _error(err) { + this.unsubscribe(); + this.parent.error(err); + } + _complete() { + this.subscribeToSource(); + } + subscribeToSource() { + if (!this.sourceSubscribed) { + this.sourceSubscribed = true; + this.unsubscribe(); + this.source.subscribe(this.parent); + } + } +} +//# sourceMappingURL=delayWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js.map new file mode 100644 index 00000000000000..0b57e8adeaf605 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/delayWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"delayWhen.js","sourceRoot":"","sources":["../../src/operators/delayWhen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js new file mode 100644 index 00000000000000..fa1dcd4733efc1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js @@ -0,0 +1,65 @@ +import { Subscriber } from '../Subscriber'; +/** + * Converts an Observable of {@link Notification} objects into the emissions + * that they represent. + * + * Unwraps {@link Notification} objects as actual `next`, + * `error` and `complete` emissions. The opposite of {@link materialize}. + * + * + * + * `dematerialize` is assumed to operate an Observable that only emits + * {@link Notification} objects as `next` emissions, and does not emit any + * `error`. Such Observable is the output of a `materialize` operation. Those + * notifications are then unwrapped using the metadata they contain, and emitted + * as `next`, `error`, and `complete` on the output Observable. + * + * Use this operator in conjunction with {@link materialize}. + * + * @example Convert an Observable of Notifications to an actual Observable + * var notifA = new Rx.Notification('N', 'A'); + * var notifB = new Rx.Notification('N', 'B'); + * var notifE = new Rx.Notification('E', void 0, + * new TypeError('x.toUpperCase is not a function') + * ); + * var materialized = Rx.Observable.of(notifA, notifB, notifE); + * var upperCase = materialized.dematerialize(); + * upperCase.subscribe(x => console.log(x), e => console.error(e)); + * + * // Results in: + * // A + * // B + * // TypeError: x.toUpperCase is not a function + * + * @see {@link Notification} + * @see {@link materialize} + * + * @return {Observable} An Observable that emits items and notifications + * embedded in Notification objects emitted by the source Observable. + * @method dematerialize + * @owner Observable + */ +export function dematerialize() { + return function dematerializeOperatorFunction(source) { + return source.lift(new DeMaterializeOperator()); + }; +} +class DeMaterializeOperator { + call(subscriber, source) { + return source.subscribe(new DeMaterializeSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DeMaterializeSubscriber extends Subscriber { + constructor(destination) { + super(destination); + } + _next(value) { + value.observe(this.destination); + } +} +//# sourceMappingURL=dematerialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js.map new file mode 100644 index 00000000000000..286b1abf333e51 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/dematerialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dematerialize.js","sourceRoot":"","sources":["../../src/operators/dematerialize.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;IACE,MAAM,CAAC,uCAAuC,MAAmC;QAC/E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,IAAI,CAAC,UAA2B,EAAE,MAAW;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,sCAAmE,UAAU;IAC3E,YAAY,WAA4B;QACtC,MAAM,WAAW,CAAC,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js new file mode 100644 index 00000000000000..f54b53b72ef6cb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js @@ -0,0 +1,109 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { Set } from '../util/Set'; +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items. + * + * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will + * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the + * source observable directly with an equality check against previous values. + * + * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking. + * + * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the + * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct` + * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so + * that the internal `Set` can be "flushed", basically clearing it of values. + * + * @example A simple example with numbers + * Observable.of(1, 1, 2, 2, 2, 1, 2, 3, 4, 3, 2, 1) + * .distinct() + * .subscribe(x => console.log(x)); // 1, 2, 3, 4 + * + * @example An example using a keySelector function + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}) + * .distinct((p: Person) => p.name) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * + * @see {@link distinctUntilChanged} + * @see {@link distinctUntilKeyChanged} + * + * @param {function} [keySelector] Optional function to select which value you want to check as distinct. + * @param {Observable} [flushes] Optional Observable for flushing the internal HashSet of the operator. + * @return {Observable} An Observable that emits items from the source Observable with distinct values. + * @method distinct + * @owner Observable + */ +export function distinct(keySelector, flushes) { + return (source) => source.lift(new DistinctOperator(keySelector, flushes)); +} +class DistinctOperator { + constructor(keySelector, flushes) { + this.keySelector = keySelector; + this.flushes = flushes; + } + call(subscriber, source) { + return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class DistinctSubscriber extends OuterSubscriber { + constructor(destination, keySelector, flushes) { + super(destination); + this.keySelector = keySelector; + this.values = new Set(); + if (flushes) { + this.add(subscribeToResult(this, flushes)); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.values.clear(); + } + notifyError(error, innerSub) { + this._error(error); + } + _next(value) { + if (this.keySelector) { + this._useKeySelector(value); + } + else { + this._finalizeNext(value, value); + } + } + _useKeySelector(value) { + let key; + const { destination } = this; + try { + key = this.keySelector(value); + } + catch (err) { + destination.error(err); + return; + } + this._finalizeNext(key, value); + } + _finalizeNext(key, value) { + const { values } = this; + if (!values.has(key)) { + values.add(key); + this.destination.next(value); + } + } +} +//# sourceMappingURL=distinct.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js.map new file mode 100644 index 00000000000000..8dbba1e8d23235 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinct.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../src/operators/distinct.ts"],"names":[],"mappings":"OAIO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;OACtD,EAAQ,GAAG,EAAE,MAAM,aAAa;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,yBAA+B,WAA6B,EAC7B,OAAyB;IACtD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;IACE,YAAoB,WAA4B,EAAU,OAAwB;QAA9D,gBAAW,GAAX,WAAW,CAAiB;QAAU,YAAO,GAAP,OAAO,CAAiB;IAClF,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,wCAA8C,eAAe;IAG3D,YAAY,WAA0B,EAAU,WAA4B,EAAE,OAAwB;QACpG,MAAM,WAAW,CAAC,CAAC;QAD2B,gBAAW,GAAX,WAAW,CAAiB;QAFpE,WAAM,GAAY,IAAI,GAAG,EAAK,CAAC;QAKrC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAA+B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAQ;QAC9B,IAAI,GAAM,CAAC;QACX,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,aAAa,CAAC,GAAQ,EAAE,KAAQ;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AAEH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js new file mode 100644 index 00000000000000..370ed5884af981 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js @@ -0,0 +1,98 @@ +import { Subscriber } from '../Subscriber'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item. + * + * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted. + * + * If a comparator function is not provided, an equality check is used by default. + * + * @example A simple example with numbers + * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4) + * .distinctUntilChanged() + * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4 + * + * @example An example using a compare function + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}) + * { age: 6, name: 'Foo'}) + * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo' } + * + * @see {@link distinct} + * @see {@link distinctUntilKeyChanged} + * + * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source. + * @return {Observable} An Observable that emits items from the source Observable with distinct values. + * @method distinctUntilChanged + * @owner Observable + */ +export function distinctUntilChanged(compare, keySelector) { + return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector)); +} +class DistinctUntilChangedOperator { + constructor(compare, keySelector) { + this.compare = compare; + this.keySelector = keySelector; + } + call(subscriber, source) { + return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DistinctUntilChangedSubscriber extends Subscriber { + constructor(destination, compare, keySelector) { + super(destination); + this.keySelector = keySelector; + this.hasKey = false; + if (typeof compare === 'function') { + this.compare = compare; + } + } + compare(x, y) { + return x === y; + } + _next(value) { + const keySelector = this.keySelector; + let key = value; + if (keySelector) { + key = tryCatch(this.keySelector)(value); + if (key === errorObject) { + return this.destination.error(errorObject.e); + } + } + let result = false; + if (this.hasKey) { + result = tryCatch(this.compare)(this.key, key); + if (result === errorObject) { + return this.destination.error(errorObject.e); + } + } + else { + this.hasKey = true; + } + if (Boolean(result) === false) { + this.key = key; + this.destination.next(value); + } + } +} +//# sourceMappingURL=distinctUntilChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js.map new file mode 100644 index 00000000000000..e18f740b4b250d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilChanged.js","sourceRoot":"","sources":["../../src/operators/distinctUntilChanged.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,QAAQ,EAAE,MAAM,kBAAkB;OACpC,EAAE,WAAW,EAAE,MAAM,qBAAqB;AAQjD,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qCAA2C,OAAiC,EAAE,WAAyB;IACrG,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAO,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED;IACE,YAAoB,OAAgC,EAChC,WAAwB;QADxB,YAAO,GAAP,OAAO,CAAyB;QAChC,gBAAW,GAAX,WAAW,CAAa;IAC5C,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,6CAAmD,UAAU;IAI3D,YAAY,WAA0B,EAC1B,OAAgC,EACxB,WAAwB;QAC1C,MAAM,WAAW,CAAC,CAAC;QADD,gBAAW,GAAX,WAAW,CAAa;QAJpC,WAAM,GAAY,KAAK,CAAC;QAM9B,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,CAAM,EAAE,CAAM;QAC5B,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,KAAQ;QAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,GAAG,GAAQ,KAAK,CAAC;QAErB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAQ,KAAK,CAAC;QAExB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js new file mode 100644 index 00000000000000..805724999788a7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js @@ -0,0 +1,63 @@ +import { distinctUntilChanged } from './distinctUntilChanged'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item, + * using a property accessed by using the key provided to check if the two items are distinct. + * + * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted. + * + * If a comparator function is not provided, an equality check is used by default. + * + * @example An example comparing the name of persons + * + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo'}, + * { age: 6, name: 'Foo'}) + * .distinctUntilKeyChanged('name') + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo' } + * + * @example An example comparing the first letters of the name + * + * interface Person { + * age: number, + * name: string + * } + * + * Observable.of( + * { age: 4, name: 'Foo1'}, + * { age: 7, name: 'Bar'}, + * { age: 5, name: 'Foo2'}, + * { age: 6, name: 'Foo3'}) + * .distinctUntilKeyChanged('name', (x: string, y: string) => x.substring(0, 3) === y.substring(0, 3)) + * .subscribe(x => console.log(x)); + * + * // displays: + * // { age: 4, name: 'Foo1' } + * // { age: 7, name: 'Bar' } + * // { age: 5, name: 'Foo2' } + * + * @see {@link distinct} + * @see {@link distinctUntilChanged} + * + * @param {string} key String key for object property lookup on each item. + * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source. + * @return {Observable} An Observable that emits items from the source Observable with distinct values based on the key specified. + * @method distinctUntilKeyChanged + * @owner Observable + */ +export function distinctUntilKeyChanged(key, compare) { + return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]); +} +//# sourceMappingURL=distinctUntilKeyChanged.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js.map new file mode 100644 index 00000000000000..9fd0b3b68da628 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/distinctUntilKeyChanged.js.map @@ -0,0 +1 @@ +{"version":3,"file":"distinctUntilKeyChanged.js","sourceRoot":"","sources":["../../src/operators/distinctUntilKeyChanged.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB;AAM7D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wCAA2C,GAAW,EAAE,OAAiC;IACvF,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAI,EAAE,CAAI,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js new file mode 100644 index 00000000000000..968333e60f43aa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js @@ -0,0 +1,90 @@ +import { Subscriber } from '../Subscriber'; +import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError'; +/** + * Emits the single value at the specified `index` in a sequence of emissions + * from the source Observable. + * + * Emits only the i-th value, then completes. + * + * + * + * `elementAt` returns an Observable that emits the item at the specified + * `index` in the source Observable, or a default value if that `index` is out + * of range and the `default` argument is provided. If the `default` argument is + * not given and the `index` is out of range, the output Observable will emit an + * `ArgumentOutOfRangeError` error. + * + * @example Emit only the third click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.elementAt(2); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // click 1 = nothing + * // click 2 = nothing + * // click 3 = MouseEvent object logged to console + * + * @see {@link first} + * @see {@link last} + * @see {@link skip} + * @see {@link single} + * @see {@link take} + * + * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the + * Observable has completed before emitting the i-th `next` notification. + * + * @param {number} index Is the number `i` for the i-th source emission that has + * happened since the subscription, starting from the number `0`. + * @param {T} [defaultValue] The default value returned for missing indices. + * @return {Observable} An Observable that emits a single item, if it is found. + * Otherwise, will emit the default value if given. If not, then emits an error. + * @method elementAt + * @owner Observable + */ +export function elementAt(index, defaultValue) { + return (source) => source.lift(new ElementAtOperator(index, defaultValue)); +} +class ElementAtOperator { + constructor(index, defaultValue) { + this.index = index; + this.defaultValue = defaultValue; + if (index < 0) { + throw new ArgumentOutOfRangeError; + } + } + call(subscriber, source) { + return source.subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class ElementAtSubscriber extends Subscriber { + constructor(destination, index, defaultValue) { + super(destination); + this.index = index; + this.defaultValue = defaultValue; + } + _next(x) { + if (this.index-- === 0) { + this.destination.next(x); + this.destination.complete(); + } + } + _complete() { + const destination = this.destination; + if (this.index >= 0) { + if (typeof this.defaultValue !== 'undefined') { + destination.next(this.defaultValue); + } + else { + destination.error(new ArgumentOutOfRangeError); + } + } + destination.complete(); + } +} +//# sourceMappingURL=elementAt.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js.map new file mode 100644 index 00000000000000..db04cdfe782582 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/elementAt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"elementAt.js","sourceRoot":"","sources":["../../src/operators/elementAt.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,uBAAuB,EAAE,MAAM,iCAAiC;AAKzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,0BAA6B,KAAa,EAAE,YAAgB;IAC1D,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;IAEE,YAAoB,KAAa,EAAU,YAAgB;QAAvC,UAAK,GAAL,KAAK,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAI;QACzD,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,uBAAuB,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,kCAAqC,UAAU;IAE7C,YAAY,WAA0B,EAAU,KAAa,EAAU,YAAgB;QACrF,MAAM,WAAW,CAAC,CAAC;QAD2B,UAAK,GAAL,KAAK,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAI;IAEvF,CAAC;IAES,KAAK,CAAC,CAAI;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAES,SAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC7C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,WAAW,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js new file mode 100644 index 00000000000000..c05243d0a3ff15 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js @@ -0,0 +1,64 @@ +import { Subscriber } from '../Subscriber'; +/** + * Returns an Observable that emits whether or not every item of the source satisfies the condition specified. + * + * @example A simple example emitting true if all elements are less than 5, false otherwise + * Observable.of(1, 2, 3, 4, 5, 6) + * .every(x => x < 5) + * .subscribe(x => console.log(x)); // -> false + * + * @param {function} predicate A function for determining if an item meets a specified condition. + * @param {any} [thisArg] Optional object to use for `this` in the callback. + * @return {Observable} An Observable of booleans that determines if all items of the source Observable meet the condition specified. + * @method every + * @owner Observable + */ +export function every(predicate, thisArg) { + return (source) => source.lift(new EveryOperator(predicate, thisArg, source)); +} +class EveryOperator { + constructor(predicate, thisArg, source) { + this.predicate = predicate; + this.thisArg = thisArg; + this.source = source; + } + call(observer, source) { + return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class EverySubscriber extends Subscriber { + constructor(destination, predicate, thisArg, source) { + super(destination); + this.predicate = predicate; + this.thisArg = thisArg; + this.source = source; + this.index = 0; + this.thisArg = thisArg || this; + } + notifyComplete(everyValueMatch) { + this.destination.next(everyValueMatch); + this.destination.complete(); + } + _next(value) { + let result = false; + try { + result = this.predicate.call(this.thisArg, value, this.index++, this.source); + } + catch (err) { + this.destination.error(err); + return; + } + if (!result) { + this.notifyComplete(false); + } + } + _complete() { + this.notifyComplete(true); + } +} +//# sourceMappingURL=every.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js.map new file mode 100644 index 00000000000000..f68f4ecef1d618 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/every.js.map @@ -0,0 +1 @@ +{"version":3,"file":"every.js","sourceRoot":"","sources":["../../src/operators/every.ts"],"names":[],"mappings":"OAGO,EAAE,UAAU,EAAE,MAAM,eAAe;AAG1C;;;;;;;;;;;;;GAaG;AACH,sBAAyB,SAAsE,EACtE,OAAa;IACpC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED;IACE,YAAoB,SAAsE,EACtE,OAAa,EACb,MAAsB;QAFtB,cAAS,GAAT,SAAS,CAA6D;QACtE,YAAO,GAAP,OAAO,CAAM;QACb,WAAM,GAAN,MAAM,CAAgB;IAC1C,CAAC;IAED,IAAI,CAAC,QAA6B,EAAE,MAAW;QAC7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAiC,UAAU;IAGzC,YAAY,WAA8B,EACtB,SAAsE,EACtE,OAAY,EACZ,MAAsB;QACxC,MAAM,WAAW,CAAC,CAAC;QAHD,cAAS,GAAT,SAAS,CAA6D;QACtE,YAAO,GAAP,OAAO,CAAK;QACZ,WAAM,GAAN,MAAM,CAAgB;QALlC,UAAK,GAAW,CAAC,CAAC;QAOxB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;IACjC,CAAC;IAEO,cAAc,CAAC,eAAwB;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js new file mode 100644 index 00000000000000..5b403308bd35cd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js @@ -0,0 +1,77 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Converts a higher-order Observable into a first-order Observable by dropping + * inner Observables while the previous inner Observable has not yet completed. + * + * Flattens an Observable-of-Observables by dropping the + * next inner Observables while the current inner is still executing. + * + * + * + * `exhaust` subscribes to an Observable that emits Observables, also known as a + * higher-order Observable. Each time it observes one of these emitted inner + * Observables, the output Observable begins emitting the items emitted by that + * inner Observable. So far, it behaves like {@link mergeAll}. However, + * `exhaust` ignores every new inner Observable if the previous Observable has + * not yet completed. Once that one completes, it will accept and flatten the + * next inner Observable and repeat this process. + * + * @example Run a finite timer for each click, only if there is no currently active timer + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(5)); + * var result = higherOrder.exhaust(); + * result.subscribe(x => console.log(x)); + * + * @see {@link combineAll} + * @see {@link concatAll} + * @see {@link switch} + * @see {@link mergeAll} + * @see {@link exhaustMap} + * @see {@link zipAll} + * + * @return {Observable} An Observable that takes a source of Observables and propagates the first observable + * exclusively until it completes before subscribing to the next. + * @method exhaust + * @owner Observable + */ +export function exhaust() { + return (source) => source.lift(new SwitchFirstOperator()); +} +class SwitchFirstOperator { + call(subscriber, source) { + return source.subscribe(new SwitchFirstSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SwitchFirstSubscriber extends OuterSubscriber { + constructor(destination) { + super(destination); + this.hasCompleted = false; + this.hasSubscription = false; + } + _next(value) { + if (!this.hasSubscription) { + this.hasSubscription = true; + this.add(subscribeToResult(this, value)); + } + } + _complete() { + this.hasCompleted = true; + if (!this.hasSubscription) { + this.destination.complete(); + } + } + notifyComplete(innerSub) { + this.remove(innerSub); + this.hasSubscription = false; + if (this.hasCompleted) { + this.destination.complete(); + } + } +} +//# sourceMappingURL=exhaust.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js.map new file mode 100644 index 00000000000000..5adec09ad302bd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaust.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaust.js","sourceRoot":"","sources":["../../src/operators/exhaust.ts"],"names":[],"mappings":"OAIO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAC7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IACE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAK,CAAC,CAAC;AAC9E,CAAC;AAED;IACE,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,oCAAuC,eAAe;IAIpD,YAAY,WAA0B;QACpC,MAAM,WAAW,CAAC,CAAC;QAJb,iBAAY,GAAY,KAAK,CAAC;QAC9B,oBAAe,GAAY,KAAK,CAAC;IAIzC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,QAAsB;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js new file mode 100644 index 00000000000000..5cc403bab766a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js @@ -0,0 +1,128 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable only if the previous projected Observable has completed. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link exhaust}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. When it projects a source value to + * an Observable, the output Observable begins emitting the items emitted by + * that projected Observable. However, `exhaustMap` ignores every new projected + * Observable if the previous projected Observable has not yet completed. Once + * that one completes, it will accept and flatten the next projected Observable + * and repeat this process. + * + * @example Run a finite timer for each click, only if there is no currently active timer + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000).take(5)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMap} + * @see {@link exhaust} + * @see {@link mergeMap} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable containing projected Observables + * of each item of the source, ignoring projected Observables that start before + * their preceding Observable has completed. + * @method exhaustMap + * @owner Observable + */ +export function exhaustMap(project, resultSelector) { + return (source) => source.lift(new SwitchFirstMapOperator(project, resultSelector)); +} +class SwitchFirstMapOperator { + constructor(project, resultSelector) { + this.project = project; + this.resultSelector = resultSelector; + } + call(subscriber, source) { + return source.subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SwitchFirstMapSubscriber extends OuterSubscriber { + constructor(destination, project, resultSelector) { + super(destination); + this.project = project; + this.resultSelector = resultSelector; + this.hasSubscription = false; + this.hasCompleted = false; + this.index = 0; + } + _next(value) { + if (!this.hasSubscription) { + this.tryNext(value); + } + } + tryNext(value) { + const index = this.index++; + const destination = this.destination; + try { + const result = this.project(value, index); + this.hasSubscription = true; + this.add(subscribeToResult(this, result, value, index)); + } + catch (err) { + destination.error(err); + } + } + _complete() { + this.hasCompleted = true; + if (!this.hasSubscription) { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const { resultSelector, destination } = this; + if (resultSelector) { + this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex); + } + else { + destination.next(innerValue); + } + } + trySelectResult(outerValue, innerValue, outerIndex, innerIndex) { + const { resultSelector, destination } = this; + try { + const result = resultSelector(outerValue, innerValue, outerIndex, innerIndex); + destination.next(result); + } + catch (err) { + destination.error(err); + } + } + notifyError(err) { + this.destination.error(err); + } + notifyComplete(innerSub) { + this.remove(innerSub); + this.hasSubscription = false; + if (this.hasCompleted) { + this.destination.complete(); + } + } +} +//# sourceMappingURL=exhaustMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js.map new file mode 100644 index 00000000000000..5f1c28f6d21814 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/exhaustMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exhaustMap.js","sourceRoot":"","sources":["../../src/operators/exhaustMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js new file mode 100644 index 00000000000000..1dd88fd5a9bb82 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js @@ -0,0 +1,137 @@ +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Recursively projects each source value to an Observable which is merged in + * the output Observable. + * + * It's similar to {@link mergeMap}, but applies the + * projection function to every source value as well as every output value. + * It's recursive. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an Observable, and then merging those resulting Observables and + * emitting the results of this merger. *Expand* will re-emit on the output + * Observable every source value. Then, each output value is given to the + * `project` function which returns an inner Observable to be merged on the + * output Observable. Those output values resulting from the projection are also + * given to the `project` function to produce new output values. This is how + * *expand* behaves recursively. + * + * @example Start emitting the powers of two on every click, at most 10 of them + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var powersOfTwo = clicks + * .mapTo(1) + * .expand(x => Rx.Observable.of(2 * x).delay(1000)) + * .take(10); + * powersOfTwo.subscribe(x => console.log(x)); + * + * @see {@link mergeMap} + * @see {@link mergeScan} + * + * @param {function(value: T, index: number) => Observable} project A function + * that, when applied to an item emitted by the source or the output Observable, + * returns an Observable. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to + * each projected inner Observable. + * @return {Observable} An Observable that emits the source values and also + * result of applying the projection function to each value emitted on the + * output Observable and and merging the results of the Observables obtained + * from this transformation. + * @method expand + * @owner Observable + */ +export function expand(project, concurrent = Number.POSITIVE_INFINITY, scheduler = undefined) { + concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent; + return (source) => source.lift(new ExpandOperator(project, concurrent, scheduler)); +} +export class ExpandOperator { + constructor(project, concurrent, scheduler) { + this.project = project; + this.concurrent = concurrent; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class ExpandSubscriber extends OuterSubscriber { + constructor(destination, project, concurrent, scheduler) { + super(destination); + this.project = project; + this.concurrent = concurrent; + this.scheduler = scheduler; + this.index = 0; + this.active = 0; + this.hasCompleted = false; + if (concurrent < Number.POSITIVE_INFINITY) { + this.buffer = []; + } + } + static dispatch(arg) { + const { subscriber, result, value, index } = arg; + subscriber.subscribeToProjection(result, value, index); + } + _next(value) { + const destination = this.destination; + if (destination.closed) { + this._complete(); + return; + } + const index = this.index++; + if (this.active < this.concurrent) { + destination.next(value); + let result = tryCatch(this.project)(value, index); + if (result === errorObject) { + destination.error(errorObject.e); + } + else if (!this.scheduler) { + this.subscribeToProjection(result, value, index); + } + else { + const state = { subscriber: this, result, value, index }; + this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state)); + } + } + else { + this.buffer.push(value); + } + } + subscribeToProjection(result, value, index) { + this.active++; + this.add(subscribeToResult(this, result, value, index)); + } + _complete() { + this.hasCompleted = true; + if (this.hasCompleted && this.active === 0) { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this._next(innerValue); + } + notifyComplete(innerSub) { + const buffer = this.buffer; + this.remove(innerSub); + this.active--; + if (buffer && buffer.length > 0) { + this._next(buffer.shift()); + } + if (this.hasCompleted && this.active === 0) { + this.destination.complete(); + } + } +} +//# sourceMappingURL=expand.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js.map new file mode 100644 index 00000000000000..4940e9c04f5c4a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/expand.js.map @@ -0,0 +1 @@ +{"version":3,"file":"expand.js","sourceRoot":"","sources":["../../src/operators/expand.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js new file mode 100644 index 00000000000000..e4ac7e61353bf7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js @@ -0,0 +1,84 @@ +import { Subscriber } from '../Subscriber'; +/* tslint:enable:max-line-length */ +/** + * Filter items emitted by the source Observable by only emitting those that + * satisfy a specified predicate. + * + * Like + * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter), + * it only emits a value from the source if it passes a criterion function. + * + * + * + * Similar to the well-known `Array.prototype.filter` method, this operator + * takes values from the source Observable, passes them through a `predicate` + * function and only emits those values that yielded `true`. + * + * @example Emit only click events whose target was a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV'); + * clicksOnDivs.subscribe(x => console.log(x)); + * + * @see {@link distinct} + * @see {@link distinctUntilChanged} + * @see {@link distinctUntilKeyChanged} + * @see {@link ignoreElements} + * @see {@link partition} + * @see {@link skip} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates each value emitted by the source Observable. If it returns `true`, + * the value is emitted, if `false` the value is not passed to the output + * Observable. The `index` parameter is the number `i` for the i-th source + * emission that has happened since the subscription, starting from the number + * `0`. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of values from the source that were + * allowed by the `predicate` function. + * @method filter + * @owner Observable + */ +export function filter(predicate, thisArg) { + return function filterOperatorFunction(source) { + return source.lift(new FilterOperator(predicate, thisArg)); + }; +} +class FilterOperator { + constructor(predicate, thisArg) { + this.predicate = predicate; + this.thisArg = thisArg; + } + call(subscriber, source) { + return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class FilterSubscriber extends Subscriber { + constructor(destination, predicate, thisArg) { + super(destination); + this.predicate = predicate; + this.thisArg = thisArg; + this.count = 0; + } + // the try catch block below is left specifically for + // optimization and perf reasons. a tryCatcher is not necessary here. + _next(value) { + let result; + try { + result = this.predicate.call(this.thisArg, value, this.count++); + } + catch (err) { + this.destination.error(err); + return; + } + if (result) { + this.destination.next(value); + } + } +} +//# sourceMappingURL=filter.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js.map new file mode 100644 index 00000000000000..f36f38f82b6e50 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/operators/filter.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAU1C,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,uBAA0B,SAA+C,EAC/C,OAAa;IACrC,MAAM,CAAC,gCAAgC,MAAqB;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,SAA+C,EAC/C,OAAa;QADb,cAAS,GAAT,SAAS,CAAsC;QAC/C,YAAO,GAAP,OAAO,CAAM;IACjC,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,UAAU;IAI1C,YAAY,WAA0B,EAClB,SAA+C,EAC/C,OAAY;QAC9B,MAAM,WAAW,CAAC,CAAC;QAFD,cAAS,GAAT,SAAS,CAAsC;QAC/C,YAAO,GAAP,OAAO,CAAK;QAJhC,UAAK,GAAW,CAAC,CAAC;IAMlB,CAAC;IAED,qDAAqD;IACrD,qEAAqE;IAC3D,KAAK,CAAC,KAAQ;QACtB,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js new file mode 100644 index 00000000000000..c0662f3d607cdc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js @@ -0,0 +1,33 @@ +import { Subscriber } from '../Subscriber'; +import { Subscription } from '../Subscription'; +/** + * Returns an Observable that mirrors the source Observable, but will call a specified function when + * the source terminates on complete or error. + * @param {function} callback Function to be called when source terminates. + * @return {Observable} An Observable that mirrors the source, but will call the specified function on termination. + * @method finally + * @owner Observable + */ +export function finalize(callback) { + return (source) => source.lift(new FinallyOperator(callback)); +} +class FinallyOperator { + constructor(callback) { + this.callback = callback; + } + call(subscriber, source) { + return source.subscribe(new FinallySubscriber(subscriber, this.callback)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class FinallySubscriber extends Subscriber { + constructor(destination, callback) { + super(destination); + this.add(new Subscription(callback)); + } +} +//# sourceMappingURL=finalize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js.map new file mode 100644 index 00000000000000..036d8249ec9bc2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/finalize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/operators/finalize.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,YAAY,EAAiB,MAAM,iBAAiB;AAI7D;;;;;;;GAOG;AACH,yBAA4B,QAAoB;IAC9C,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;IACE,YAAoB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;IACxC,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,gCAAmC,UAAU;IAC3C,YAAY,WAA0B,EAAE,QAAoB;QAC1D,MAAM,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js new file mode 100644 index 00000000000000..645ba6d86de815 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js @@ -0,0 +1,88 @@ +import { Subscriber } from '../Subscriber'; +/** + * Emits only the first value emitted by the source Observable that meets some + * condition. + * + * Finds the first value that passes some test and emits + * that. + * + * + * + * `find` searches for the first item in the source Observable that matches the + * specified condition embodied by the `predicate`, and returns the first + * occurrence in the source. Unlike {@link first}, the `predicate` is required + * in `find`, and does not emit an error if a valid value is not found. + * + * @example Find and emit the first click that happens on a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.find(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link first} + * @see {@link findIndex} + * @see {@link take} + * + * @param {function(value: T, index: number, source: Observable): boolean} predicate + * A function called with each item to test for condition matching. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of the first item that matches the + * condition. + * @method find + * @owner Observable + */ +export function find(predicate, thisArg) { + if (typeof predicate !== 'function') { + throw new TypeError('predicate is not a function'); + } + return (source) => source.lift(new FindValueOperator(predicate, source, false, thisArg)); +} +export class FindValueOperator { + constructor(predicate, source, yieldIndex, thisArg) { + this.predicate = predicate; + this.source = source; + this.yieldIndex = yieldIndex; + this.thisArg = thisArg; + } + call(observer, source) { + return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class FindValueSubscriber extends Subscriber { + constructor(destination, predicate, source, yieldIndex, thisArg) { + super(destination); + this.predicate = predicate; + this.source = source; + this.yieldIndex = yieldIndex; + this.thisArg = thisArg; + this.index = 0; + } + notifyComplete(value) { + const destination = this.destination; + destination.next(value); + destination.complete(); + } + _next(value) { + const { predicate, thisArg } = this; + const index = this.index++; + try { + const result = predicate.call(thisArg || this, value, index, this.source); + if (result) { + this.notifyComplete(this.yieldIndex ? index : value); + } + } + catch (err) { + this.destination.error(err); + } + } + _complete() { + this.notifyComplete(this.yieldIndex ? -1 : undefined); + } +} +//# sourceMappingURL=find.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js.map new file mode 100644 index 00000000000000..ac74dbbfc933ff --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/find.js.map @@ -0,0 +1 @@ +{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operators/find.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAW1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAwB,SAAsE,EACtE,OAAa;IACnC,EAAE,CAAC,CAAC,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED;IACE,YAAoB,SAAsE,EACtE,MAAqB,EACrB,UAAmB,EACnB,OAAa;QAHb,cAAS,GAAT,SAAS,CAA6D;QACtE,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAM;IACjC,CAAC;IAED,IAAI,CAAC,QAAuB,EAAE,MAAW;QACvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,yCAA4C,UAAU;IAGpD,YAAY,WAA0B,EAClB,SAAsE,EACtE,MAAqB,EACrB,UAAmB,EACnB,OAAa;QAC/B,MAAM,WAAW,CAAC,CAAC;QAJD,cAAS,GAAT,SAAS,CAA6D;QACtE,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAM;QANzB,UAAK,GAAW,CAAC,CAAC;IAQ1B,CAAC;IAEO,cAAc,CAAC,KAAU;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1E,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js new file mode 100644 index 00000000000000..7703e713729ab1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js @@ -0,0 +1,39 @@ +import { FindValueOperator } from '../operators/find'; +/** + * Emits only the index of the first value emitted by the source Observable that + * meets some condition. + * + * It's like {@link find}, but emits the index of the + * found value, not the value itself. + * + * + * + * `findIndex` searches for the first item in the source Observable that matches + * the specified condition embodied by the `predicate`, and returns the + * (zero-based) index of the first occurrence in the source. Unlike + * {@link first}, the `predicate` is required in `findIndex`, and does not emit + * an error if a valid value is not found. + * + * @example Emit the index of first click that happens on a DIV element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link find} + * @see {@link first} + * @see {@link take} + * + * @param {function(value: T, index: number, source: Observable): boolean} predicate + * A function called with each item to test for condition matching. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {Observable} An Observable of the index of the first item that + * matches the condition. + * @method find + * @owner Observable + */ +export function findIndex(predicate, thisArg) { + return (source) => source.lift(new FindValueOperator(predicate, source, true, thisArg)); +} +//# sourceMappingURL=findIndex.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js.map new file mode 100644 index 00000000000000..458d0a10cc5d0a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/findIndex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"findIndex.js","sourceRoot":"","sources":["../../src/operators/findIndex.ts"],"names":[],"mappings":"OACO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,0BAA6B,SAAsE,EACtE,OAAa;IACxC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAoB,CAAC;AAC5H,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js new file mode 100644 index 00000000000000..6b012f08e320fa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js @@ -0,0 +1,142 @@ +import { Subscriber } from '../Subscriber'; +import { EmptyError } from '../util/EmptyError'; +/** + * Emits only the first value (or the first value that meets some condition) + * emitted by the source Observable. + * + * Emits only the first value. Or emits only the first + * value that passes some test. + * + * + * + * If called with no arguments, `first` emits the first value of the source + * Observable, then completes. If called with a `predicate` function, `first` + * emits the first value of the source that matches the specified condition. It + * may also take a `resultSelector` function to produce the output value from + * the input value, and a `defaultValue` to emit in case the source completes + * before it is able to emit a valid value. Throws an error if `defaultValue` + * was not provided and a matching element is not found. + * + * @example Emit only the first click that happens on the DOM + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.first(); + * result.subscribe(x => console.log(x)); + * + * @example Emits the first click that happens on a DIV + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.first(ev => ev.target.tagName === 'DIV'); + * result.subscribe(x => console.log(x)); + * + * @see {@link filter} + * @see {@link find} + * @see {@link take} + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * + * @param {function(value: T, index: number, source: Observable): boolean} [predicate] + * An optional function called with each item to test for condition matching. + * @param {function(value: T, index: number): R} [resultSelector] A function to + * produce the value on the output Observable based on the values + * and the indices of the source Observable. The arguments passed to this + * function are: + * - `value`: the value that was emitted on the source. + * - `index`: the "index" of the value from the source. + * @param {R} [defaultValue] The default value emitted in case no valid value + * was found on the source. + * @return {Observable} An Observable of the first item that matches the + * condition. + * @method first + * @owner Observable + */ +export function first(predicate, resultSelector, defaultValue) { + return (source) => source.lift(new FirstOperator(predicate, resultSelector, defaultValue, source)); +} +class FirstOperator { + constructor(predicate, resultSelector, defaultValue, source) { + this.predicate = predicate; + this.resultSelector = resultSelector; + this.defaultValue = defaultValue; + this.source = source; + } + call(observer, source) { + return source.subscribe(new FirstSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class FirstSubscriber extends Subscriber { + constructor(destination, predicate, resultSelector, defaultValue, source) { + super(destination); + this.predicate = predicate; + this.resultSelector = resultSelector; + this.defaultValue = defaultValue; + this.source = source; + this.index = 0; + this.hasCompleted = false; + this._emitted = false; + } + _next(value) { + const index = this.index++; + if (this.predicate) { + this._tryPredicate(value, index); + } + else { + this._emit(value, index); + } + } + _tryPredicate(value, index) { + let result; + try { + result = this.predicate(value, index, this.source); + } + catch (err) { + this.destination.error(err); + return; + } + if (result) { + this._emit(value, index); + } + } + _emit(value, index) { + if (this.resultSelector) { + this._tryResultSelector(value, index); + return; + } + this._emitFinal(value); + } + _tryResultSelector(value, index) { + let result; + try { + result = this.resultSelector(value, index); + } + catch (err) { + this.destination.error(err); + return; + } + this._emitFinal(result); + } + _emitFinal(value) { + const destination = this.destination; + if (!this._emitted) { + this._emitted = true; + destination.next(value); + destination.complete(); + this.hasCompleted = true; + } + } + _complete() { + const destination = this.destination; + if (!this.hasCompleted && typeof this.defaultValue !== 'undefined') { + destination.next(this.defaultValue); + destination.complete(); + } + else if (!this.hasCompleted) { + destination.error(new EmptyError); + } + } +} +//# sourceMappingURL=first.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js.map new file mode 100644 index 00000000000000..f019f1652837b5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/first.js.map @@ -0,0 +1 @@ +{"version":3,"file":"first.js","sourceRoot":"","sources":["../../src/operators/first.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js new file mode 100644 index 00000000000000..c5b0177ea77c1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js @@ -0,0 +1,257 @@ +import { Subscriber } from '../Subscriber'; +import { Subscription } from '../Subscription'; +import { Observable } from '../Observable'; +import { Subject } from '../Subject'; +import { Map } from '../util/Map'; +import { FastMap } from '../util/FastMap'; +/* tslint:enable:max-line-length */ +/** + * Groups the items emitted by an Observable according to a specified criterion, + * and emits these grouped items as `GroupedObservables`, one + * {@link GroupedObservable} per group. + * + * + * + * @example Group objects by id and return as array + * Observable.of({id: 1, name: 'aze1'}, + * {id: 2, name: 'sf2'}, + * {id: 2, name: 'dg2'}, + * {id: 1, name: 'erg1'}, + * {id: 1, name: 'df1'}, + * {id: 2, name: 'sfqfb2'}, + * {id: 3, name: 'qfs3'}, + * {id: 2, name: 'qsgqsfg2'} + * ) + * .groupBy(p => p.id) + * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], [])) + * .subscribe(p => console.log(p)); + * + * // displays: + * // [ { id: 1, name: 'aze1' }, + * // { id: 1, name: 'erg1' }, + * // { id: 1, name: 'df1' } ] + * // + * // [ { id: 2, name: 'sf2' }, + * // { id: 2, name: 'dg2' }, + * // { id: 2, name: 'sfqfb2' }, + * // { id: 2, name: 'qsgqsfg2' } ] + * // + * // [ { id: 3, name: 'qfs3' } ] + * + * @example Pivot data on the id field + * Observable.of({id: 1, name: 'aze1'}, + * {id: 2, name: 'sf2'}, + * {id: 2, name: 'dg2'}, + * {id: 1, name: 'erg1'}, + * {id: 1, name: 'df1'}, + * {id: 2, name: 'sfqfb2'}, + * {id: 3, name: 'qfs1'}, + * {id: 2, name: 'qsgqsfg2'} + * ) + * .groupBy(p => p.id, p => p.name) + * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], ["" + group$.key])) + * .map(arr => ({'id': parseInt(arr[0]), 'values': arr.slice(1)})) + * .subscribe(p => console.log(p)); + * + * // displays: + * // { id: 1, values: [ 'aze1', 'erg1', 'df1' ] } + * // { id: 2, values: [ 'sf2', 'dg2', 'sfqfb2', 'qsgqsfg2' ] } + * // { id: 3, values: [ 'qfs1' ] } + * + * @param {function(value: T): K} keySelector A function that extracts the key + * for each item. + * @param {function(value: T): R} [elementSelector] A function that extracts the + * return element for each item. + * @param {function(grouped: GroupedObservable): Observable} [durationSelector] + * A function that returns an Observable to determine how long each group should + * exist. + * @return {Observable>} An Observable that emits + * GroupedObservables, each of which corresponds to a unique key value and each + * of which emits those items from the source Observable that share that key + * value. + * @method groupBy + * @owner Observable + */ +export function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) { + return (source) => source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector)); +} +class GroupByOperator { + constructor(keySelector, elementSelector, durationSelector, subjectSelector) { + this.keySelector = keySelector; + this.elementSelector = elementSelector; + this.durationSelector = durationSelector; + this.subjectSelector = subjectSelector; + } + call(subscriber, source) { + return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class GroupBySubscriber extends Subscriber { + constructor(destination, keySelector, elementSelector, durationSelector, subjectSelector) { + super(destination); + this.keySelector = keySelector; + this.elementSelector = elementSelector; + this.durationSelector = durationSelector; + this.subjectSelector = subjectSelector; + this.groups = null; + this.attemptedToUnsubscribe = false; + this.count = 0; + } + _next(value) { + let key; + try { + key = this.keySelector(value); + } + catch (err) { + this.error(err); + return; + } + this._group(value, key); + } + _group(value, key) { + let groups = this.groups; + if (!groups) { + groups = this.groups = typeof key === 'string' ? new FastMap() : new Map(); + } + let group = groups.get(key); + let element; + if (this.elementSelector) { + try { + element = this.elementSelector(value); + } + catch (err) { + this.error(err); + } + } + else { + element = value; + } + if (!group) { + group = this.subjectSelector ? this.subjectSelector() : new Subject(); + groups.set(key, group); + const groupedObservable = new GroupedObservable(key, group, this); + this.destination.next(groupedObservable); + if (this.durationSelector) { + let duration; + try { + duration = this.durationSelector(new GroupedObservable(key, group)); + } + catch (err) { + this.error(err); + return; + } + this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this))); + } + } + if (!group.closed) { + group.next(element); + } + } + _error(err) { + const groups = this.groups; + if (groups) { + groups.forEach((group, key) => { + group.error(err); + }); + groups.clear(); + } + this.destination.error(err); + } + _complete() { + const groups = this.groups; + if (groups) { + groups.forEach((group, key) => { + group.complete(); + }); + groups.clear(); + } + this.destination.complete(); + } + removeGroup(key) { + this.groups.delete(key); + } + unsubscribe() { + if (!this.closed) { + this.attemptedToUnsubscribe = true; + if (this.count === 0) { + super.unsubscribe(); + } + } + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class GroupDurationSubscriber extends Subscriber { + constructor(key, group, parent) { + super(group); + this.key = key; + this.group = group; + this.parent = parent; + } + _next(value) { + this.complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + const { parent, key } = this; + this.key = this.parent = null; + if (parent) { + parent.removeGroup(key); + } + } +} +/** + * An Observable representing values belonging to the same group represented by + * a common key. The values emitted by a GroupedObservable come from the source + * Observable. The common key is available as the field `key` on a + * GroupedObservable instance. + * + * @class GroupedObservable + */ +export class GroupedObservable extends Observable { + constructor(key, groupSubject, refCountSubscription) { + super(); + this.key = key; + this.groupSubject = groupSubject; + this.refCountSubscription = refCountSubscription; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const subscription = new Subscription(); + const { refCountSubscription, groupSubject } = this; + if (refCountSubscription && !refCountSubscription.closed) { + subscription.add(new InnerRefCountSubscription(refCountSubscription)); + } + subscription.add(groupSubject.subscribe(subscriber)); + return subscription; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class InnerRefCountSubscription extends Subscription { + constructor(parent) { + super(); + this.parent = parent; + parent.count++; + } + unsubscribe() { + const parent = this.parent; + if (!parent.closed && !this.closed) { + super.unsubscribe(); + parent.count -= 1; + if (parent.count === 0 && parent.attemptedToUnsubscribe) { + parent.unsubscribe(); + } + } + } +} +//# sourceMappingURL=groupBy.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js.map new file mode 100644 index 00000000000000..3a55fb7e231c4e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/groupBy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../src/operators/groupBy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js new file mode 100644 index 00000000000000..8569612a00ed9b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js @@ -0,0 +1,33 @@ +import { Subscriber } from '../Subscriber'; +import { noop } from '../util/noop'; +/** + * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`. + * + * + * + * @return {Observable} An empty Observable that only calls `complete` + * or `error`, based on which one is called by the source Observable. + * @method ignoreElements + * @owner Observable + */ +export function ignoreElements() { + return function ignoreElementsOperatorFunction(source) { + return source.lift(new IgnoreElementsOperator()); + }; +} +class IgnoreElementsOperator { + call(subscriber, source) { + return source.subscribe(new IgnoreElementsSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class IgnoreElementsSubscriber extends Subscriber { + _next(unused) { + noop(); + } +} +//# sourceMappingURL=ignoreElements.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js.map new file mode 100644 index 00000000000000..667d020ce285bf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/ignoreElements.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ignoreElements.js","sourceRoot":"","sources":["../../src/operators/ignoreElements.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,IAAI,EAAE,MAAM,cAAc;AAGnC;;;;;;;;;GASG;AACH;IACE,MAAM,CAAC,wCAAwC,MAAqB;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,uCAA0C,UAAU;IACxC,KAAK,CAAC,MAAS;QACvB,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js new file mode 100644 index 00000000000000..1f33bcf7610582 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js @@ -0,0 +1,31 @@ +import { Subscriber } from '../Subscriber'; +export function isEmpty() { + return (source) => source.lift(new IsEmptyOperator()); +} +class IsEmptyOperator { + call(observer, source) { + return source.subscribe(new IsEmptySubscriber(observer)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class IsEmptySubscriber extends Subscriber { + constructor(destination) { + super(destination); + } + notifyComplete(isEmpty) { + const destination = this.destination; + destination.next(isEmpty); + destination.complete(); + } + _next(value) { + this.notifyComplete(false); + } + _complete() { + this.notifyComplete(true); + } +} +//# sourceMappingURL=isEmpty.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js.map new file mode 100644 index 00000000000000..ebf2307c92056f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/isEmpty.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isEmpty.js","sourceRoot":"","sources":["../../src/operators/isEmpty.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;IACE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;IACE,IAAI,CAAE,QAA6B,EAAE,MAAW;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,gCAAgC,UAAU;IACxC,YAAY,WAAgC;QAC1C,MAAM,WAAW,CAAC,CAAC;IACrB,CAAC;IAEO,cAAc,CAAC,OAAgB;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,KAAc;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js new file mode 100644 index 00000000000000..0dedbdad20a78a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js @@ -0,0 +1,109 @@ +import { Subscriber } from '../Subscriber'; +import { EmptyError } from '../util/EmptyError'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits only the last item emitted by the source Observable. + * It optionally takes a predicate function as a parameter, in which case, rather than emitting + * the last item from the source Observable, the resulting Observable will emit the last item + * from the source Observable that satisfies the predicate. + * + * + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * @param {function} predicate - The condition any source emitted item has to satisfy. + * @return {Observable} An Observable that emits only the last item satisfying the given condition + * from the source, or an NoSuchElementException if no such items are emitted. + * @throws - Throws if no items that match the predicate are emitted by the source Observable. + * @method last + * @owner Observable + */ +export function last(predicate, resultSelector, defaultValue) { + return (source) => source.lift(new LastOperator(predicate, resultSelector, defaultValue, source)); +} +class LastOperator { + constructor(predicate, resultSelector, defaultValue, source) { + this.predicate = predicate; + this.resultSelector = resultSelector; + this.defaultValue = defaultValue; + this.source = source; + } + call(observer, source) { + return source.subscribe(new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class LastSubscriber extends Subscriber { + constructor(destination, predicate, resultSelector, defaultValue, source) { + super(destination); + this.predicate = predicate; + this.resultSelector = resultSelector; + this.defaultValue = defaultValue; + this.source = source; + this.hasValue = false; + this.index = 0; + if (typeof defaultValue !== 'undefined') { + this.lastValue = defaultValue; + this.hasValue = true; + } + } + _next(value) { + const index = this.index++; + if (this.predicate) { + this._tryPredicate(value, index); + } + else { + if (this.resultSelector) { + this._tryResultSelector(value, index); + return; + } + this.lastValue = value; + this.hasValue = true; + } + } + _tryPredicate(value, index) { + let result; + try { + result = this.predicate(value, index, this.source); + } + catch (err) { + this.destination.error(err); + return; + } + if (result) { + if (this.resultSelector) { + this._tryResultSelector(value, index); + return; + } + this.lastValue = value; + this.hasValue = true; + } + } + _tryResultSelector(value, index) { + let result; + try { + result = this.resultSelector(value, index); + } + catch (err) { + this.destination.error(err); + return; + } + this.lastValue = result; + this.hasValue = true; + } + _complete() { + const destination = this.destination; + if (this.hasValue) { + destination.next(this.lastValue); + destination.complete(); + } + else { + destination.error(new EmptyError); + } + } +} +//# sourceMappingURL=last.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js.map new file mode 100644 index 00000000000000..6d787392e3c733 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/last.js.map @@ -0,0 +1 @@ +{"version":3,"file":"last.js","sourceRoot":"","sources":["../../src/operators/last.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js new file mode 100644 index 00000000000000..835e3c37ead5da --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js @@ -0,0 +1,78 @@ +import { Subscriber } from '../Subscriber'; +/** + * Applies a given `project` function to each value emitted by the source + * Observable, and emits the resulting values as an Observable. + * + * Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map), + * it passes each source value through a transformation function to get + * corresponding output values. + * + * + * + * Similar to the well known `Array.prototype.map` function, this operator + * applies a projection to each value and emits that projection in the output + * Observable. + * + * @example Map every click to the clientX position of that click + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var positions = clicks.map(ev => ev.clientX); + * positions.subscribe(x => console.log(x)); + * + * @see {@link mapTo} + * @see {@link pluck} + * + * @param {function(value: T, index: number): R} project The function to apply + * to each `value` emitted by the source Observable. The `index` parameter is + * the number `i` for the i-th emission that has happened since the + * subscription, starting from the number `0`. + * @param {any} [thisArg] An optional argument to define what `this` is in the + * `project` function. + * @return {Observable} An Observable that emits the values from the source + * Observable transformed by the given `project` function. + * @method map + * @owner Observable + */ +export function map(project, thisArg) { + return function mapOperation(source) { + if (typeof project !== 'function') { + throw new TypeError('argument is not a function. Are you looking for `mapTo()`?'); + } + return source.lift(new MapOperator(project, thisArg)); + }; +} +export class MapOperator { + constructor(project, thisArg) { + this.project = project; + this.thisArg = thisArg; + } + call(subscriber, source) { + return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class MapSubscriber extends Subscriber { + constructor(destination, project, thisArg) { + super(destination); + this.project = project; + this.count = 0; + this.thisArg = thisArg || this; + } + // NOTE: This looks unoptimized, but it's actually purposefully NOT + // using try/catch optimizations. + _next(value) { + let result; + try { + result = this.project.call(this.thisArg, value, this.count++); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } +} +//# sourceMappingURL=map.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js.map new file mode 100644 index 00000000000000..e469120dd9a8ed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/map.js.map @@ -0,0 +1 @@ +{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/operators/map.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,oBAA0B,OAAuC,EAAE,OAAa;IAC9E,MAAM,CAAC,sBAAsB,MAAqB;QAChD,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,OAAuC,EAAU,OAAY;QAA7D,YAAO,GAAP,OAAO,CAAgC;QAAU,YAAO,GAAP,OAAO,CAAK;IACjF,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,4BAAkC,UAAU;IAI1C,YAAY,WAA0B,EAClB,OAAuC,EAC/C,OAAY;QACtB,MAAM,WAAW,CAAC,CAAC;QAFD,YAAO,GAAP,OAAO,CAAgC;QAJ3D,UAAK,GAAW,CAAC,CAAC;QAOhB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,mEAAmE;IACnE,iCAAiC;IACvB,KAAK,CAAC,KAAQ;QACtB,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js new file mode 100644 index 00000000000000..cacf1c0268136f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js @@ -0,0 +1,53 @@ +import { Subscriber } from '../Subscriber'; +/** + * Emits the given constant value on the output Observable every time the source + * Observable emits a value. + * + * Like {@link map}, but it maps every source value to + * the same output value every time. + * + * + * + * Takes a constant `value` as argument, and emits that whenever the source + * Observable emits a value. In other words, ignores the actual source value, + * and simply uses the emission moment to know when to emit the given `value`. + * + * @example Map every click to the string 'Hi' + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var greetings = clicks.mapTo('Hi'); + * greetings.subscribe(x => console.log(x)); + * + * @see {@link map} + * + * @param {any} value The value to map each source value to. + * @return {Observable} An Observable that emits the given `value` every time + * the source Observable emits something. + * @method mapTo + * @owner Observable + */ +export function mapTo(value) { + return (source) => source.lift(new MapToOperator(value)); +} +class MapToOperator { + constructor(value) { + this.value = value; + } + call(subscriber, source) { + return source.subscribe(new MapToSubscriber(subscriber, this.value)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class MapToSubscriber extends Subscriber { + constructor(destination, value) { + super(destination); + this.value = value; + } + _next(x) { + this.destination.next(this.value); + } +} +//# sourceMappingURL=mapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js.map new file mode 100644 index 00000000000000..36c323ecc20866 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mapTo.js","sourceRoot":"","sources":["../../src/operators/mapTo.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,sBAA4B,KAAQ;IAClC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;IAIE,YAAY,KAAQ;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAoC,UAAU;IAI5C,YAAY,WAA0B,EAAE,KAAQ;QAC9C,MAAM,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,CAAI;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js new file mode 100644 index 00000000000000..46cb8bd4093225 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js @@ -0,0 +1,80 @@ +import { Subscriber } from '../Subscriber'; +import { Notification } from '../Notification'; +/** + * Represents all of the notifications from the source Observable as `next` + * emissions marked with their original types within {@link Notification} + * objects. + * + * Wraps `next`, `error` and `complete` emissions in + * {@link Notification} objects, emitted as `next` on the output Observable. + * + * + * + * + * `materialize` returns an Observable that emits a `next` notification for each + * `next`, `error`, or `complete` emission of the source Observable. When the + * source Observable emits `complete`, the output Observable will emit `next` as + * a Notification of type "complete", and then it will emit `complete` as well. + * When the source Observable emits `error`, the output will emit `next` as a + * Notification of type "error", and then `complete`. + * + * This operator is useful for producing metadata of the source Observable, to + * be consumed as `next` emissions. Use it in conjunction with + * {@link dematerialize}. + * + * @example Convert a faulty Observable to an Observable of Notifications + * var letters = Rx.Observable.of('a', 'b', 13, 'd'); + * var upperCase = letters.map(x => x.toUpperCase()); + * var materialized = upperCase.materialize(); + * materialized.subscribe(x => console.log(x)); + * + * // Results in the following: + * // - Notification {kind: "N", value: "A", error: undefined, hasValue: true} + * // - Notification {kind: "N", value: "B", error: undefined, hasValue: true} + * // - Notification {kind: "E", value: undefined, error: TypeError: + * // x.toUpperCase is not a function at MapSubscriber.letters.map.x + * // [as project] (http://1…, hasValue: false} + * + * @see {@link Notification} + * @see {@link dematerialize} + * + * @return {Observable>} An Observable that emits + * {@link Notification} objects that wrap the original emissions from the source + * Observable with metadata. + * @method materialize + * @owner Observable + */ +export function materialize() { + return function materializeOperatorFunction(source) { + return source.lift(new MaterializeOperator()); + }; +} +class MaterializeOperator { + call(subscriber, source) { + return source.subscribe(new MaterializeSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class MaterializeSubscriber extends Subscriber { + constructor(destination) { + super(destination); + } + _next(value) { + this.destination.next(Notification.createNext(value)); + } + _error(err) { + const destination = this.destination; + destination.next(Notification.createError(err)); + destination.complete(); + } + _complete() { + const destination = this.destination; + destination.next(Notification.createComplete()); + destination.complete(); + } +} +//# sourceMappingURL=materialize.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js.map new file mode 100644 index 00000000000000..9ae3d046c53e68 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/materialize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/operators/materialize.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,YAAY,EAAE,MAAM,iBAAiB;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH;IACE,MAAM,CAAC,qCAAqC,MAAqB;QAC/D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,IAAI,CAAC,UAAuC,EAAE,MAAW;QACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,oCAAuC,UAAU;IAC/C,YAAY,WAAwC;QAClD,MAAM,WAAW,CAAC,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAES,SAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QAChD,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js new file mode 100644 index 00000000000000..e144fd51e489ea --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js @@ -0,0 +1,39 @@ +import { reduce } from './reduce'; +/** + * The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function), + * and when source Observable completes it emits a single item: the item with the largest value. + * + * + * + * @example Get the maximal value of a series of numbers + * Rx.Observable.of(5, 4, 7, 2, 8) + * .max() + * .subscribe(x => console.log(x)); // -> 8 + * + * @example Use a comparer function to get the maximal item + * interface Person { + * age: number, + * name: string + * } + * Observable.of({age: 7, name: 'Foo'}, + * {age: 5, name: 'Bar'}, + * {age: 9, name: 'Beer'}) + * .max((a: Person, b: Person) => a.age < b.age ? -1 : 1) + * .subscribe((x: Person) => console.log(x.name)); // -> 'Beer' + * } + * + * @see {@link min} + * + * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the + * value of two items. + * @return {Observable} An Observable that emits item with the largest value. + * @method max + * @owner Observable + */ +export function max(comparer) { + const max = (typeof comparer === 'function') + ? (x, y) => comparer(x, y) > 0 ? x : y + : (x, y) => x > y ? x : y; + return reduce(max); +} +//# sourceMappingURL=max.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js.map new file mode 100644 index 00000000000000..19a6c48e7f2713 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/max.js.map @@ -0,0 +1 @@ +{"version":3,"file":"max.js","sourceRoot":"","sources":["../../src/operators/max.ts"],"names":[],"mappings":"OAAO,EAAE,MAAM,EAAE,MAAM,UAAU;AAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,oBAAuB,QAAiC;IACtD,MAAM,GAAG,GAAsB,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;UAC3D,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;UACpC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js new file mode 100644 index 00000000000000..d032c77e56ddf2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js @@ -0,0 +1,53 @@ +import { merge as mergeStatic } from '../observable/merge'; +export { merge as mergeStatic } from '../observable/merge'; +/* tslint:enable:max-line-length */ +/** + * Creates an output Observable which concurrently emits all values from every + * given input Observable. + * + * Flattens multiple Observables together by blending + * their values into one Observable. + * + * + * + * `merge` subscribes to each given input Observable (either the source or an + * Observable given as argument), and simply forwards (without doing any + * transformation) all the values from all the input Observables to the output + * Observable. The output Observable only completes once all input Observables + * have completed. Any error delivered by an input Observable will be immediately + * emitted on the output Observable. + * + * @example Merge together two Observables: 1s interval and clicks + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var timer = Rx.Observable.interval(1000); + * var clicksOrTimer = clicks.merge(timer); + * clicksOrTimer.subscribe(x => console.log(x)); + * + * @example Merge together 3 Observables, but only 2 run concurrently + * var timer1 = Rx.Observable.interval(1000).take(10); + * var timer2 = Rx.Observable.interval(2000).take(6); + * var timer3 = Rx.Observable.interval(500).take(10); + * var concurrent = 2; // the argument + * var merged = timer1.merge(timer2, timer3, concurrent); + * merged.subscribe(x => console.log(x)); + * + * @see {@link mergeAll} + * @see {@link mergeMap} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * + * @param {ObservableInput} other An input Observable to merge with the source + * Observable. More than one input Observables may be given as argument. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @param {Scheduler} [scheduler=null] The IScheduler to use for managing + * concurrency of input Observables. + * @return {Observable} An Observable that emits items that are the result of + * every input Observable. + * @method merge + * @owner Observable + */ +export function merge(...observables) { + return (source) => source.lift.call(mergeStatic(source, ...observables)); +} +//# sourceMappingURL=merge.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js.map new file mode 100644 index 00000000000000..78f26ad86b1438 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/merge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/operators/merge.ts"],"names":[],"mappings":"OAGO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,qBAAqB;AAE1D,SAAS,KAAK,IAAI,WAAW,QAAQ,qBAAqB,CAAC;AAiB3D,mCAAmC;AACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,sBAA4B,GAAG,WAA8D;IAC3F,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAC1F,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js new file mode 100644 index 00000000000000..98d0ba15fcf5cf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js @@ -0,0 +1,50 @@ +import { mergeMap } from './mergeMap'; +import { identity } from '../util/identity'; +/** + * Converts a higher-order Observable into a first-order Observable which + * concurrently delivers all values that are emitted on the inner Observables. + * + * Flattens an Observable-of-Observables. + * + * + * + * `mergeAll` subscribes to an Observable that emits Observables, also known as + * a higher-order Observable. Each time it observes one of these emitted inner + * Observables, it subscribes to that and delivers all the values from the + * inner Observable on the output Observable. The output Observable only + * completes once all inner Observables have completed. Any error delivered by + * a inner Observable will be immediately emitted on the output Observable. + * + * @example Spawn a new interval Observable for each click event, and blend their outputs as one Observable + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000)); + * var firstOrder = higherOrder.mergeAll(); + * firstOrder.subscribe(x => console.log(x)); + * + * @example Count from 0 to 9 every second for each click, but only allow 2 concurrent timers + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10)); + * var firstOrder = higherOrder.mergeAll(2); + * firstOrder.subscribe(x => console.log(x)); + * + * @see {@link combineAll} + * @see {@link concatAll} + * @see {@link exhaust} + * @see {@link merge} + * @see {@link mergeMap} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * @see {@link switch} + * @see {@link zipAll} + * + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits values coming from all the + * inner Observables emitted by the source Observable. + * @method mergeAll + * @owner Observable + */ +export function mergeAll(concurrent = Number.POSITIVE_INFINITY) { + return mergeMap(identity, null, concurrent); +} +//# sourceMappingURL=mergeAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js.map new file mode 100644 index 00000000000000..77557282e01c7e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeAll.js","sourceRoot":"","sources":["../../src/operators/mergeAll.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,EAAE,MAAM,YAAY;OAC9B,EAAE,QAAQ,EAAE,MAAM,kBAAkB;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,yBAA4B,UAAU,GAAW,MAAM,CAAC,iBAAiB;IACvE,MAAM,CAAC,QAAQ,CAAC,QAA4D,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAClG,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js new file mode 100644 index 00000000000000..17163f059e47d7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js @@ -0,0 +1,158 @@ +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link mergeAll}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an Observable, and then merging those resulting Observables and + * emitting the results of this merger. + * + * @example Map and flatten each letter to an Observable ticking every 1 second + * var letters = Rx.Observable.of('a', 'b', 'c'); + * var result = letters.mergeMap(x => + * Rx.Observable.interval(1000).map(i => x+i) + * ); + * result.subscribe(x => console.log(x)); + * + * // Results in the following: + * // a0 + * // b0 + * // c0 + * // a1 + * // b1 + * // c1 + * // continues to list a,b,c with respective ascending integers + * + * @see {@link concatMap} + * @see {@link exhaustMap} + * @see {@link merge} + * @see {@link mergeAll} + * @see {@link mergeMapTo} + * @see {@link mergeScan} + * @see {@link switchMap} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and merging the results of the Observables obtained + * from this transformation. + * @method mergeMap + * @owner Observable + */ +export function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + return function mergeMapOperatorFunction(source) { + if (typeof resultSelector === 'number') { + concurrent = resultSelector; + resultSelector = null; + } + return source.lift(new MergeMapOperator(project, resultSelector, concurrent)); + }; +} +export class MergeMapOperator { + constructor(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + this.project = project; + this.resultSelector = resultSelector; + this.concurrent = concurrent; + } + call(observer, source) { + return source.subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class MergeMapSubscriber extends OuterSubscriber { + constructor(destination, project, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + super(destination); + this.project = project; + this.resultSelector = resultSelector; + this.concurrent = concurrent; + this.hasCompleted = false; + this.buffer = []; + this.active = 0; + this.index = 0; + } + _next(value) { + if (this.active < this.concurrent) { + this._tryNext(value); + } + else { + this.buffer.push(value); + } + } + _tryNext(value) { + let result; + const index = this.index++; + try { + result = this.project(value, index); + } + catch (err) { + this.destination.error(err); + return; + } + this.active++; + this._innerSub(result, value, index); + } + _innerSub(ish, value, index) { + this.add(subscribeToResult(this, ish, value, index)); + } + _complete() { + this.hasCompleted = true; + if (this.active === 0 && this.buffer.length === 0) { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + if (this.resultSelector) { + this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + else { + this.destination.next(innerValue); + } + } + _notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex) { + let result; + try { + result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } + notifyComplete(innerSub) { + const buffer = this.buffer; + this.remove(innerSub); + this.active--; + if (buffer.length > 0) { + this._next(buffer.shift()); + } + else if (this.active === 0 && this.hasCompleted) { + this.destination.complete(); + } + } +} +//# sourceMappingURL=mergeMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js.map new file mode 100644 index 00000000000000..29bb824e9ea057 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMap.js","sourceRoot":"","sources":["../../src/operators/mergeMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js new file mode 100644 index 00000000000000..560b3fc4822c44 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js @@ -0,0 +1,140 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is merged multiple + * times in the output Observable. + * + * It's like {@link mergeMap}, but maps each value always + * to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then merges those resulting Observables into one + * single Observable, which is the output Observable. + * + * @example For each click event, start an interval Observable ticking every 1 second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.mergeMapTo(Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMapTo} + * @see {@link merge} + * @see {@link mergeAll} + * @see {@link mergeMap} + * @see {@link mergeScan} + * @see {@link switchMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input + * Observables being subscribed to concurrently. + * @return {Observable} An Observable that emits items from the given + * `innerObservable` (and optionally transformed through `resultSelector`) every + * time a value is emitted on the source Observable. + * @method mergeMapTo + * @owner Observable + */ +export function mergeMapTo(innerObservable, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + if (typeof resultSelector === 'number') { + concurrent = resultSelector; + resultSelector = null; + } + return (source) => source.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent)); +} +// TODO: Figure out correct signature here: an Operator, R> +// needs to implement call(observer: Subscriber): Subscriber> +export class MergeMapToOperator { + constructor(ish, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + this.ish = ish; + this.resultSelector = resultSelector; + this.concurrent = concurrent; + } + call(observer, source) { + return source.subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class MergeMapToSubscriber extends OuterSubscriber { + constructor(destination, ish, resultSelector, concurrent = Number.POSITIVE_INFINITY) { + super(destination); + this.ish = ish; + this.resultSelector = resultSelector; + this.concurrent = concurrent; + this.hasCompleted = false; + this.buffer = []; + this.active = 0; + this.index = 0; + } + _next(value) { + if (this.active < this.concurrent) { + const resultSelector = this.resultSelector; + const index = this.index++; + const ish = this.ish; + const destination = this.destination; + this.active++; + this._innerSub(ish, destination, resultSelector, value, index); + } + else { + this.buffer.push(value); + } + } + _innerSub(ish, destination, resultSelector, value, index) { + this.add(subscribeToResult(this, ish, value, index)); + } + _complete() { + this.hasCompleted = true; + if (this.active === 0 && this.buffer.length === 0) { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const { resultSelector, destination } = this; + if (resultSelector) { + this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex); + } + else { + destination.next(innerValue); + } + } + trySelectResult(outerValue, innerValue, outerIndex, innerIndex) { + const { resultSelector, destination } = this; + let result; + try { + result = resultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + catch (err) { + destination.error(err); + return; + } + destination.next(result); + } + notifyError(err) { + this.destination.error(err); + } + notifyComplete(innerSub) { + const buffer = this.buffer; + this.remove(innerSub); + this.active--; + if (buffer.length > 0) { + this._next(buffer.shift()); + } + else if (this.active === 0 && this.hasCompleted) { + this.destination.complete(); + } + } +} +//# sourceMappingURL=mergeMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js.map new file mode 100644 index 00000000000000..c636d6e4406eda --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeMapTo.js","sourceRoot":"","sources":["../../src/operators/mergeMapTo.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js new file mode 100644 index 00000000000000..fde77092f993ed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js @@ -0,0 +1,116 @@ +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { OuterSubscriber } from '../OuterSubscriber'; +/** + * Applies an accumulator function over the source Observable where the + * accumulator function itself returns an Observable, then each intermediate + * Observable returned is merged into the output Observable. + * + * It's like {@link scan}, but the Observables returned + * by the accumulator are merged into the outer Observable. + * + * @example Count the number of click events + * const click$ = Rx.Observable.fromEvent(document, 'click'); + * const one$ = click$.mapTo(1); + * const seed = 0; + * const count$ = one$.mergeScan((acc, one) => Rx.Observable.of(acc + one), seed); + * count$.subscribe(x => console.log(x)); + * + * // Results: + * 1 + * 2 + * 3 + * 4 + * // ...and so on for each click + * + * @param {function(acc: R, value: T): Observable} accumulator + * The accumulator function called on each source value. + * @param seed The initial accumulation value. + * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of + * input Observables being subscribed to concurrently. + * @return {Observable} An observable of the accumulated values. + * @method mergeScan + * @owner Observable + */ +export function mergeScan(accumulator, seed, concurrent = Number.POSITIVE_INFINITY) { + return (source) => source.lift(new MergeScanOperator(accumulator, seed, concurrent)); +} +export class MergeScanOperator { + constructor(accumulator, seed, concurrent) { + this.accumulator = accumulator; + this.seed = seed; + this.concurrent = concurrent; + } + call(subscriber, source) { + return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class MergeScanSubscriber extends OuterSubscriber { + constructor(destination, accumulator, acc, concurrent) { + super(destination); + this.accumulator = accumulator; + this.acc = acc; + this.concurrent = concurrent; + this.hasValue = false; + this.hasCompleted = false; + this.buffer = []; + this.active = 0; + this.index = 0; + } + _next(value) { + if (this.active < this.concurrent) { + const index = this.index++; + const ish = tryCatch(this.accumulator)(this.acc, value); + const destination = this.destination; + if (ish === errorObject) { + destination.error(errorObject.e); + } + else { + this.active++; + this._innerSub(ish, value, index); + } + } + else { + this.buffer.push(value); + } + } + _innerSub(ish, value, index) { + this.add(subscribeToResult(this, ish, value, index)); + } + _complete() { + this.hasCompleted = true; + if (this.active === 0 && this.buffer.length === 0) { + if (this.hasValue === false) { + this.destination.next(this.acc); + } + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const { destination } = this; + this.acc = innerValue; + this.hasValue = true; + destination.next(innerValue); + } + notifyComplete(innerSub) { + const buffer = this.buffer; + this.remove(innerSub); + this.active--; + if (buffer.length > 0) { + this._next(buffer.shift()); + } + else if (this.active === 0 && this.hasCompleted) { + if (this.hasValue === false) { + this.destination.next(this.acc); + } + this.destination.complete(); + } + } +} +//# sourceMappingURL=mergeScan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js.map new file mode 100644 index 00000000000000..22288fdb9cc1d2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/mergeScan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mergeScan.js","sourceRoot":"","sources":["../../src/operators/mergeScan.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js new file mode 100644 index 00000000000000..bf9b018402be5b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js @@ -0,0 +1,39 @@ +import { reduce } from './reduce'; +/** + * The Min operator operates on an Observable that emits numbers (or items that can be compared with a provided function), + * and when source Observable completes it emits a single item: the item with the smallest value. + * + * + * + * @example Get the minimal value of a series of numbers + * Rx.Observable.of(5, 4, 7, 2, 8) + * .min() + * .subscribe(x => console.log(x)); // -> 2 + * + * @example Use a comparer function to get the minimal item + * interface Person { + * age: number, + * name: string + * } + * Observable.of({age: 7, name: 'Foo'}, + * {age: 5, name: 'Bar'}, + * {age: 9, name: 'Beer'}) + * .min( (a: Person, b: Person) => a.age < b.age ? -1 : 1) + * .subscribe((x: Person) => console.log(x.name)); // -> 'Bar' + * } + * + * @see {@link max} + * + * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the + * value of two items. + * @return {Observable} An Observable that emits item with the smallest value. + * @method min + * @owner Observable + */ +export function min(comparer) { + const min = (typeof comparer === 'function') + ? (x, y) => comparer(x, y) < 0 ? x : y + : (x, y) => x < y ? x : y; + return reduce(min); +} +//# sourceMappingURL=min.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js.map new file mode 100644 index 00000000000000..3fb0f52762f979 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"min.js","sourceRoot":"","sources":["../../src/operators/min.ts"],"names":[],"mappings":"OAAO,EAAE,MAAM,EAAE,MAAM,UAAU;AAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,oBAAuB,QAAiC;IACtD,MAAM,GAAG,GAAsB,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;UAC3D,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;UACpC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js new file mode 100644 index 00000000000000..c675695cf9a05c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js @@ -0,0 +1,55 @@ +import { connectableObservableDescriptor } from '../observable/ConnectableObservable'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits the results of invoking a specified selector on items + * emitted by a ConnectableObservable that shares a single subscription to the underlying stream. + * + * + * + * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate subject through + * which the source sequence's elements will be multicast to the selector function + * or Subject to push source elements into. + * @param {Function} [selector] - Optional selector function that can use the multicasted source stream + * as many times as needed, without causing multiple subscriptions to the source stream. + * Subscribers to the given source will receive all notifications of the source from the + * time of the subscription forward. + * @return {Observable} An Observable that emits the results of invoking the selector + * on the items emitted by a `ConnectableObservable` that shares a single subscription to + * the underlying stream. + * @method multicast + * @owner Observable + */ +export function multicast(subjectOrSubjectFactory, selector) { + return function multicastOperatorFunction(source) { + let subjectFactory; + if (typeof subjectOrSubjectFactory === 'function') { + subjectFactory = subjectOrSubjectFactory; + } + else { + subjectFactory = function subjectFactory() { + return subjectOrSubjectFactory; + }; + } + if (typeof selector === 'function') { + return source.lift(new MulticastOperator(subjectFactory, selector)); + } + const connectable = Object.create(source, connectableObservableDescriptor); + connectable.source = source; + connectable.subjectFactory = subjectFactory; + return connectable; + }; +} +export class MulticastOperator { + constructor(subjectFactory, selector) { + this.subjectFactory = subjectFactory; + this.selector = selector; + } + call(subscriber, source) { + const { selector } = this; + const subject = this.subjectFactory(); + const subscription = selector(subject).subscribe(subscriber); + subscription.add(source.subscribe(subject)); + return subscription; + } +} +//# sourceMappingURL=multicast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js.map new file mode 100644 index 00000000000000..247e4f0cfa1bfc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/multicast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../../src/operators/multicast.ts"],"names":[],"mappings":"OAIO,EAAyB,+BAA+B,EAAE,MAAM,qCAAqC;AAO5G,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;GAkBG;AACH,0BAAgC,uBAAwD,EACxD,QAAmD;IACjF,MAAM,CAAC,mCAAmC,MAAqB;QAC7D,IAAI,cAAgC,CAAC;QACrC,EAAE,CAAC,CAAC,OAAO,uBAAuB,KAAK,UAAU,CAAC,CAAC,CAAC;YAClD,cAAc,GAAqB,uBAAuB,CAAC;QAC7D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,cAAc,GAAG;gBACf,MAAM,CAAa,uBAAuB,CAAC;YAC7C,CAAC,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,WAAW,GAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QAChF,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;QAE5C,MAAM,CAA4B,WAAW,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,cAAgC,EAChC,QAAkD;QADlD,mBAAc,GAAd,cAAc,CAAkB;QAChC,aAAQ,GAAR,QAAQ,CAA0C;IACtE,CAAC;IACD,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7D,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js new file mode 100644 index 00000000000000..52eab99654cfb1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js @@ -0,0 +1,98 @@ +import { Subscriber } from '../Subscriber'; +import { Notification } from '../Notification'; +/** + * + * Re-emits all notifications from source Observable with specified scheduler. + * + * Ensure a specific scheduler is used, from outside of an Observable. + * + * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule + * notifications emitted by the source Observable. It might be useful, if you do not have control over + * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless. + * + * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable, + * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal + * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits + * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`. + * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split + * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source + * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a + * little bit more, to ensure that they are emitted at expected moments. + * + * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications + * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn` + * will delay all notifications - including error notifications - while `delay` will pass through error + * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator + * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used + * for notification emissions in general. + * + * @example Ensure values in subscribe are called just before browser repaint. + * const intervals = Rx.Observable.interval(10); // Intervals are scheduled + * // with async scheduler by default... + * + * intervals + * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame + * .subscribe(val => { // scheduler to ensure smooth animation. + * someDiv.style.height = val + 'px'; + * }); + * + * @see {@link delay} + * + * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable. + * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled. + * @return {Observable} Observable that emits the same notifications as the source Observable, + * but with provided scheduler. + * + * @method observeOn + * @owner Observable + */ +export function observeOn(scheduler, delay = 0) { + return function observeOnOperatorFunction(source) { + return source.lift(new ObserveOnOperator(scheduler, delay)); + }; +} +export class ObserveOnOperator { + constructor(scheduler, delay = 0) { + this.scheduler = scheduler; + this.delay = delay; + } + call(subscriber, source) { + return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class ObserveOnSubscriber extends Subscriber { + constructor(destination, scheduler, delay = 0) { + super(destination); + this.scheduler = scheduler; + this.delay = delay; + } + static dispatch(arg) { + const { notification, destination } = arg; + notification.observe(destination); + this.unsubscribe(); + } + scheduleMessage(notification) { + this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination))); + } + _next(value) { + this.scheduleMessage(Notification.createNext(value)); + } + _error(err) { + this.scheduleMessage(Notification.createError(err)); + } + _complete() { + this.scheduleMessage(Notification.createComplete()); + } +} +export class ObserveOnMessage { + constructor(notification, destination) { + this.notification = notification; + this.destination = destination; + } +} +//# sourceMappingURL=observeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js.map new file mode 100644 index 00000000000000..3492a8c8c98af5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/observeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observeOn.js","sourceRoot":"","sources":["../../src/operators/observeOn.ts"],"names":[],"mappings":"OAIO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,YAAY,EAAE,MAAM,iBAAiB;AAK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,0BAA6B,SAAqB,EAAE,KAAK,GAAW,CAAC;IACnE,MAAM,CAAC,mCAAmC,MAAqB;QAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,SAAqB,EAAU,KAAK,GAAW,CAAC;QAAhD,cAAS,GAAT,SAAS,CAAY;QAAU,UAAK,GAAL,KAAK,CAAY;IACpE,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,yCAA4C,UAAU;IAOpD,YAAY,WAA0B,EAClB,SAAqB,EACrB,KAAK,GAAW,CAAC;QACnC,MAAM,WAAW,CAAC,CAAC;QAFD,cAAS,GAAT,SAAS,CAAY;QACrB,UAAK,GAAL,KAAK,CAAY;IAErC,CAAC;IAVD,OAAO,QAAQ,CAAiC,GAAqB;QACnE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;QAC1C,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAQO,eAAe,CAAC,YAA+B;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC9B,mBAAmB,CAAC,QAAQ,EAC5B,IAAI,CAAC,KAAK,EACV,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CACrD,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;IACE,YAAmB,YAA+B,EAC/B,WAAiC;QADjC,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,gBAAW,GAAX,WAAW,CAAsB;IACpD,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js new file mode 100644 index 00000000000000..dd96f13a088872 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js @@ -0,0 +1,118 @@ +import { FromObservable } from '../observable/FromObservable'; +import { isArray } from '../util/isArray'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * When any of the provided Observable emits an complete or error notification, it immediately subscribes to the next one + * that was passed. + * + * Execute series of Observables no matter what, even if it means swallowing errors. + * + * + * + * `onErrorResumeNext` is an operator that accepts a series of Observables, provided either directly as + * arguments or as an array. If no single Observable is provided, returned Observable will simply behave the same + * as the source. + * + * `onErrorResumeNext` returns an Observable that starts by subscribing and re-emitting values from the source Observable. + * When its stream of values ends - no matter if Observable completed or emitted an error - `onErrorResumeNext` + * will subscribe to the first Observable that was passed as an argument to the method. It will start re-emitting + * its values as well and - again - when that stream ends, `onErrorResumeNext` will proceed to subscribing yet another + * Observable in provided series, no matter if previous Observable completed or ended with an error. This will + * be happening until there is no more Observables left in the series, at which point returned Observable will + * complete - even if the last subscribed stream ended with an error. + * + * `onErrorResumeNext` can be therefore thought of as version of {@link concat} operator, which is more permissive + * when it comes to the errors emitted by its input Observables. While `concat` subscribes to the next Observable + * in series only if previous one successfully completed, `onErrorResumeNext` subscribes even if it ended with + * an error. + * + * Note that you do not get any access to errors emitted by the Observables. In particular do not + * expect these errors to appear in error callback passed to {@link subscribe}. If you want to take + * specific actions based on what error was emitted by an Observable, you should try out {@link catch} instead. + * + * + * @example Subscribe to the next Observable after map fails + * Rx.Observable.of(1, 2, 3, 0) + * .map(x => { + * if (x === 0) { throw Error(); } + return 10 / x; + * }) + * .onErrorResumeNext(Rx.Observable.of(1, 2, 3)) + * .subscribe( + * val => console.log(val), + * err => console.log(err), // Will never be called. + * () => console.log('that\'s it!') + * ); + * + * // Logs: + * // 10 + * // 5 + * // 3.3333333333333335 + * // 1 + * // 2 + * // 3 + * // "that's it!" + * + * @see {@link concat} + * @see {@link catch} + * + * @param {...ObservableInput} observables Observables passed either directly or as an array. + * @return {Observable} An Observable that emits values from source Observable, but - if it errors - subscribes + * to the next passed Observable and so on, until it completes or runs out of Observables. + * @method onErrorResumeNext + * @owner Observable + */ +export function onErrorResumeNext(...nextSources) { + if (nextSources.length === 1 && isArray(nextSources[0])) { + nextSources = nextSources[0]; + } + return (source) => source.lift(new OnErrorResumeNextOperator(nextSources)); +} +/* tslint:enable:max-line-length */ +export function onErrorResumeNextStatic(...nextSources) { + let source = null; + if (nextSources.length === 1 && isArray(nextSources[0])) { + nextSources = nextSources[0]; + } + source = nextSources.shift(); + return new FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources)); +} +class OnErrorResumeNextOperator { + constructor(nextSources) { + this.nextSources = nextSources; + } + call(subscriber, source) { + return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources)); + } +} +class OnErrorResumeNextSubscriber extends OuterSubscriber { + constructor(destination, nextSources) { + super(destination); + this.destination = destination; + this.nextSources = nextSources; + } + notifyError(error, innerSub) { + this.subscribeToNextSource(); + } + notifyComplete(innerSub) { + this.subscribeToNextSource(); + } + _error(err) { + this.subscribeToNextSource(); + } + _complete() { + this.subscribeToNextSource(); + } + subscribeToNextSource() { + const next = this.nextSources.shift(); + if (next) { + this.add(subscribeToResult(this, next)); + } + else { + this.destination.complete(); + } + } +} +//# sourceMappingURL=onErrorResumeNext.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js.map new file mode 100644 index 00000000000000..0bdc2c9cf832f8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/onErrorResumeNext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../src/operators/onErrorResumeNext.ts"],"names":[],"mappings":"OACO,EAAE,cAAc,EAAE,MAAM,8BAA8B;OAGtD,EAAE,OAAO,EAAE,MAAM,iBAAiB;OAClC,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAW7D,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,kCAAwC,GAAG,WAE2C;IACpF,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,WAAW,GAA2B,WAAW,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAO,WAAW,CAAC,CAAC,CAAC;AAClG,CAAC;AAWD,mCAAmC;AAEnC,wCAA8C,GAAG,WAE4C;IAC3F,IAAI,MAAM,GAAyB,IAAI,CAAC;IAExC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,WAAW,GAAgC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;IAE7B,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAO,WAAW,CAAC,CAAC,CAAC;AACjG,CAAC;AAED;IACE,YAAoB,WAAwC;QAAxC,gBAAW,GAAX,WAAW,CAA6B;IAC5D,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,0CAAgD,eAAe;IAC7D,YAAsB,WAA0B,EAC5B,WAAwC;QAC1D,MAAM,WAAW,CAAC,CAAC;QAFC,gBAAW,GAAX,WAAW,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAA6B;IAE5D,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAAiC;QACvD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,QAAiC;QAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,qBAAqB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js new file mode 100644 index 00000000000000..902389800dc34d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js @@ -0,0 +1,65 @@ +import { Subscriber } from '../Subscriber'; +/** + * Groups pairs of consecutive emissions together and emits them as an array of + * two values. + * + * Puts the current value and previous value together as + * an array, and emits that. + * + * + * + * The Nth emission from the source Observable will cause the output Observable + * to emit an array [(N-1)th, Nth] of the previous and the current value, as a + * pair. For this reason, `pairwise` emits on the second and subsequent + * emissions from the source Observable, but not on the first emission, because + * there is no previous value in that case. + * + * @example On every click (starting from the second), emit the relative distance to the previous click + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var pairs = clicks.pairwise(); + * var distance = pairs.map(pair => { + * var x0 = pair[0].clientX; + * var y0 = pair[0].clientY; + * var x1 = pair[1].clientX; + * var y1 = pair[1].clientY; + * return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2)); + * }); + * distance.subscribe(x => console.log(x)); + * + * @see {@link buffer} + * @see {@link bufferCount} + * + * @return {Observable>} An Observable of pairs (as arrays) of + * consecutive values from the source Observable. + * @method pairwise + * @owner Observable + */ +export function pairwise() { + return (source) => source.lift(new PairwiseOperator()); +} +class PairwiseOperator { + call(subscriber, source) { + return source.subscribe(new PairwiseSubscriber(subscriber)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class PairwiseSubscriber extends Subscriber { + constructor(destination) { + super(destination); + this.hasPrev = false; + } + _next(value) { + if (this.hasPrev) { + this.destination.next([this.prev, value]); + } + else { + this.hasPrev = true; + } + this.prev = value; + } +} +//# sourceMappingURL=pairwise.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js.map new file mode 100644 index 00000000000000..73f357d562fd69 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pairwise.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pairwise.js","sourceRoot":"","sources":["../../src/operators/pairwise.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IACE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;IACE,IAAI,CAAC,UAA8B,EAAE,MAAW;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,iCAAoC,UAAU;IAI5C,YAAY,WAA+B;QACzC,MAAM,WAAW,CAAC,CAAC;QAHb,YAAO,GAAY,KAAK,CAAC;IAIjC,CAAC;IAED,KAAK,CAAC,KAAQ;QACZ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js new file mode 100644 index 00000000000000..f3e626b0f0f83f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js @@ -0,0 +1,50 @@ +import { not } from '../util/not'; +import { filter } from './filter'; +/** + * Splits the source Observable into two, one with values that satisfy a + * predicate, and another with values that don't satisfy the predicate. + * + * It's like {@link filter}, but returns two Observables: + * one like the output of {@link filter}, and the other with values that did not + * pass the condition. + * + * + * + * `partition` outputs an array with two Observables that partition the values + * from the source Observable through the given `predicate` function. The first + * Observable in that array emits source values for which the predicate argument + * returns true. The second Observable emits source values for which the + * predicate returns false. The first behaves like {@link filter} and the second + * behaves like {@link filter} with the predicate negated. + * + * @example Partition click events into those on DIV elements and those elsewhere + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var parts = clicks.partition(ev => ev.target.tagName === 'DIV'); + * var clicksOnDivs = parts[0]; + * var clicksElsewhere = parts[1]; + * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x)); + * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x)); + * + * @see {@link filter} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates each value emitted by the source Observable. If it returns `true`, + * the value is emitted on the first Observable in the returned array, if + * `false` the value is emitted on the second Observable in the array. The + * `index` parameter is the number `i` for the i-th source emission that has + * happened since the subscription, starting from the number `0`. + * @param {any} [thisArg] An optional argument to determine the value of `this` + * in the `predicate` function. + * @return {[Observable, Observable]} An array with two Observables: one + * with values that passed the predicate, and another with values that did not + * pass the predicate. + * @method partition + * @owner Observable + */ +export function partition(predicate, thisArg) { + return (source) => [ + filter(predicate, thisArg)(source), + filter(not(predicate, thisArg))(source) + ]; +} +//# sourceMappingURL=partition.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js.map new file mode 100644 index 00000000000000..8f9b187c954619 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/partition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"partition.js","sourceRoot":"","sources":["../../src/operators/partition.ts"],"names":[],"mappings":"OAAO,EAAE,GAAG,EAAE,MAAM,aAAa;OAC1B,EAAE,MAAM,EAAE,MAAM,UAAU;AAIjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,0BAA6B,SAA+C,EAC/C,OAAa;IACxC,MAAM,CAAC,CAAC,MAAqB,KAAK;QAChC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAQ,CAAC,CAAC,MAAM,CAAC;KACb,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js new file mode 100644 index 00000000000000..913de442e64d12 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js @@ -0,0 +1,51 @@ +import { map } from './map'; +/** + * Maps each source value (an object) to its specified nested property. + * + * Like {@link map}, but meant only for picking one of + * the nested properties of every emitted object. + * + * + * + * Given a list of strings describing a path to an object property, retrieves + * the value of a specified nested property from all values in the source + * Observable. If a property can't be resolved, it will return `undefined` for + * that value. + * + * @example Map every click to the tagName of the clicked target element + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var tagNames = clicks.pluck('target', 'tagName'); + * tagNames.subscribe(x => console.log(x)); + * + * @see {@link map} + * + * @param {...string} properties The nested properties to pluck from each source + * value (an object). + * @return {Observable} A new Observable of property values from the source values. + * @method pluck + * @owner Observable + */ +export function pluck(...properties) { + const length = properties.length; + if (length === 0) { + throw new Error('list of properties cannot be empty.'); + } + return (source) => map(plucker(properties, length))(source); +} +function plucker(props, length) { + const mapper = (x) => { + let currentProp = x; + for (let i = 0; i < length; i++) { + const p = currentProp[props[i]]; + if (typeof p !== 'undefined') { + currentProp = p; + } + else { + return undefined; + } + } + return currentProp; + }; + return mapper; +} +//# sourceMappingURL=pluck.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js.map new file mode 100644 index 00000000000000..5db6dae8422292 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/pluck.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pluck.js","sourceRoot":"","sources":["../../src/operators/pluck.ts"],"names":[],"mappings":"OACO,EAAE,GAAG,EAAE,MAAM,OAAO;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,sBAA4B,GAAG,UAAoB;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,CAAC,MAAqB,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAa,CAAC,CAAC;AACpF,CAAC;AAED,iBAAiB,KAAe,EAAE,MAAc;IAC9C,MAAM,MAAM,GAAG,CAAC,CAAS;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;gBAC7B,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js new file mode 100644 index 00000000000000..1c4bdd8d06eec0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js @@ -0,0 +1,22 @@ +import { Subject } from '../Subject'; +import { multicast } from './multicast'; +/* tslint:enable:max-line-length */ +/** + * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called + * before it begins emitting items to those Observers that have subscribed to it. + * + * + * + * @param {Function} [selector] - Optional selector function which can use the multicasted source sequence as many times + * as needed, without causing multiple subscriptions to the source sequence. + * Subscribers to the given source will receive all notifications of the source from the time of the subscription on. + * @return A ConnectableObservable that upon connection causes the source Observable to emit items to its Observers. + * @method publish + * @owner Observable + */ +export function publish(selector) { + return selector ? + multicast(() => new Subject(), selector) : + multicast(new Subject()); +} +//# sourceMappingURL=publish.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js.map new file mode 100644 index 00000000000000..4ce39761a06234 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publish.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/operators/publish.ts"],"names":[],"mappings":"OACO,EAAE,OAAO,EAAE,MAAM,YAAY;OAC7B,EAAE,SAAS,EAAE,MAAM,aAAa;AAQvC,mCAAmC;AAEnC;;;;;;;;;;;;GAYG;AACH,wBAA8B,QAAiC;IAC7D,MAAM,CAAC,QAAQ;QACb,SAAS,CAAC,MAAM,IAAI,OAAO,EAAK,EAAE,QAAQ,CAAC;QAC3C,SAAS,CAAC,IAAI,OAAO,EAAK,CAAC,CAAC;AAChC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js new file mode 100644 index 00000000000000..ecb2b93bc5e2f2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js @@ -0,0 +1,12 @@ +import { BehaviorSubject } from '../BehaviorSubject'; +import { multicast } from './multicast'; +/** + * @param value + * @return {ConnectableObservable} + * @method publishBehavior + * @owner Observable + */ +export function publishBehavior(value) { + return (source) => multicast(new BehaviorSubject(value))(source); +} +//# sourceMappingURL=publishBehavior.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js.map new file mode 100644 index 00000000000000..c1b9669abf76aa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishBehavior.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishBehavior.js","sourceRoot":"","sources":["../../src/operators/publishBehavior.ts"],"names":[],"mappings":"OACO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAC7C,EAAE,SAAS,EAAE,MAAM,aAAa;AAIvC;;;;;GAKG;AACH,gCAAmC,KAAQ;IACzC,MAAM,CAAC,CAAC,MAAqB,KAAK,SAAS,CAAC,IAAI,eAAe,CAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAA6B,CAAC;AACjH,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js new file mode 100644 index 00000000000000..5d4ea44694e960 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js @@ -0,0 +1,6 @@ +import { AsyncSubject } from '../AsyncSubject'; +import { multicast } from './multicast'; +export function publishLast() { + return (source) => multicast(new AsyncSubject())(source); +} +//# sourceMappingURL=publishLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js.map new file mode 100644 index 00000000000000..049b13c98b6865 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishLast.js","sourceRoot":"","sources":["../../src/operators/publishLast.ts"],"names":[],"mappings":"OACO,EAAE,YAAY,EAAE,MAAM,iBAAiB;OACvC,EAAE,SAAS,EAAE,MAAM,aAAa;AAIvC;IACE,MAAM,CAAC,CAAC,MAAqB,KAAK,SAAS,CAAC,IAAI,YAAY,EAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js new file mode 100644 index 00000000000000..0372c04ba89d00 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js @@ -0,0 +1,12 @@ +import { ReplaySubject } from '../ReplaySubject'; +import { multicast } from './multicast'; +/* tslint:enable:max-line-length */ +export function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { + if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') { + scheduler = selectorOrScheduler; + } + const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined; + const subject = new ReplaySubject(bufferSize, windowTime, scheduler); + return (source) => multicast(() => subject, selector)(source); +} +//# sourceMappingURL=publishReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js.map new file mode 100644 index 00000000000000..8fd644a9ab00f0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/publishReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publishReplay.js","sourceRoot":"","sources":["../../src/operators/publishReplay.ts"],"names":[],"mappings":"OACO,EAAE,aAAa,EAAE,MAAM,kBAAkB;OAEzC,EAAE,SAAS,EAAE,MAAM,aAAa;AAQvC,mCAAmC;AAEnC,8BAAoC,UAAmB,EACnB,UAAmB,EACnB,mBAAyD,EACzD,SAAsB;IAExD,EAAE,CAAC,CAAC,mBAAmB,IAAI,OAAO,mBAAmB,KAAK,UAAU,CAAC,CAAC,CAAC;QACrE,SAAS,GAAG,mBAAmB,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,mBAAmB,KAAK,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,aAAa,CAAI,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,CAAC,CAAC,MAAqB,KAAK,SAAS,CAAC,MAAM,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,CAA6C,CAAC;AAC3H,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js new file mode 100644 index 00000000000000..dfbcf9e456ea4d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js @@ -0,0 +1,22 @@ +import { isArray } from '../util/isArray'; +import { race as raceStatic } from '../observable/race'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that mirrors the first source Observable to emit an item + * from the combination of this Observable and supplied Observables. + * @param {...Observables} ...observables Sources used to race for which Observable emits first. + * @return {Observable} An Observable that mirrors the output of the first Observable to emit an item. + * @method race + * @owner Observable + */ +export function race(...observables) { + return function raceOperatorFunction(source) { + // if the only argument is an array, it was most likely called with + // `pair([obs1, obs2, ...])` + if (observables.length === 1 && isArray(observables[0])) { + observables = observables[0]; + } + return source.lift.call(raceStatic(source, ...observables)); + }; +} +//# sourceMappingURL=race.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js.map new file mode 100644 index 00000000000000..5541fca008e033 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/race.js.map @@ -0,0 +1 @@ +{"version":3,"file":"race.js","sourceRoot":"","sources":["../../src/operators/race.ts"],"names":[],"mappings":"OACO,EAAE,OAAO,EAAE,MAAM,iBAAiB;OAElC,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,oBAAoB;AAOvD,mCAAmC;AAEnC;;;;;;;GAOG;AACH,qBAAwB,GAAG,WAAwD;IACjF,MAAM,CAAC,8BAA8B,MAAqB;QACxD,mEAAmE;QACnE,4BAA4B;QAC5B,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,WAAW,GAAyB,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAI,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js new file mode 100644 index 00000000000000..e9f3b36def7300 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js @@ -0,0 +1,67 @@ +import { scan } from './scan'; +import { takeLast } from './takeLast'; +import { defaultIfEmpty } from './defaultIfEmpty'; +import { pipe } from '../util/pipe'; +/* tslint:enable:max-line-length */ +/** + * Applies an accumulator function over the source Observable, and returns the + * accumulated result when the source completes, given an optional seed value. + * + * Combines together all values emitted on the source, + * using an accumulator function that knows how to join a new source value into + * the accumulation from the past. + * + * + * + * Like + * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce), + * `reduce` applies an `accumulator` function against an accumulation and each + * value of the source Observable (from the past) to reduce it to a single + * value, emitted on the output Observable. Note that `reduce` will only emit + * one value, only when the source Observable completes. It is equivalent to + * applying operator {@link scan} followed by operator {@link last}. + * + * Returns an Observable that applies a specified `accumulator` function to each + * item emitted by the source Observable. If a `seed` value is specified, then + * that value will be used as the initial value for the accumulator. If no seed + * value is specified, the first item of the source is used as the seed. + * + * @example Count the number of click events that happened in 5 seconds + * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click') + * .takeUntil(Rx.Observable.interval(5000)); + * var ones = clicksInFiveSeconds.mapTo(1); + * var seed = 0; + * var count = ones.reduce((acc, one) => acc + one, seed); + * count.subscribe(x => console.log(x)); + * + * @see {@link count} + * @see {@link expand} + * @see {@link mergeScan} + * @see {@link scan} + * + * @param {function(acc: R, value: T, index: number): R} accumulator The accumulator function + * called on each source value. + * @param {R} [seed] The initial accumulation value. + * @return {Observable} An Observable that emits a single value that is the + * result of accumulating the values emitted by the source Observable. + * @method reduce + * @owner Observable + */ +export function reduce(accumulator, seed) { + // providing a seed of `undefined` *should* be valid and trigger + // hasSeed! so don't use `seed !== undefined` checks! + // For this reason, we have to check it here at the original call site + // otherwise inside Operator/Subscriber we won't know if `undefined` + // means they didn't provide anything or if they literally provided `undefined` + if (arguments.length >= 2) { + return function reduceOperatorFunctionWithSeed(source) { + return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source); + }; + } + return function reduceOperatorFunction(source) { + return pipe(scan((acc, value, index) => { + return accumulator(acc, value, index + 1); + }), takeLast(1))(source); + }; +} +//# sourceMappingURL=reduce.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js.map new file mode 100644 index 00000000000000..5e423dd5957eb2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/reduce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../src/operators/reduce.ts"],"names":[],"mappings":"OACO,EAAE,IAAI,EAAE,MAAM,QAAQ;OACtB,EAAE,QAAQ,EAAE,MAAM,YAAY;OAC9B,EAAE,cAAc,EAAE,MAAM,kBAAkB;OAE1C,EAAE,IAAI,EAAE,MAAM,cAAc;AAMnC,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,uBAA6B,WAAoD,EAAE,IAAQ;IACzF,gEAAgE;IAChE,qDAAqD;IACrD,sEAAsE;IACtE,oEAAoE;IACpE,+EAA+E;IAC/E,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,wCAAwC,MAAqB;YAClE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,gCAAgC,MAAqB;QAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAW,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK;YAC3C,MAAM,CAAC,WAAW,CAAI,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAkB,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js new file mode 100644 index 00000000000000..c6c92efee169a3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js @@ -0,0 +1,75 @@ +import { Subscriber } from '../Subscriber'; +export function refCount() { + return function refCountOperatorFunction(source) { + return source.lift(new RefCountOperator(source)); + }; +} +class RefCountOperator { + constructor(connectable) { + this.connectable = connectable; + } + call(subscriber, source) { + const { connectable } = this; + connectable._refCount++; + const refCounter = new RefCountSubscriber(subscriber, connectable); + const subscription = source.subscribe(refCounter); + if (!refCounter.closed) { + refCounter.connection = connectable.connect(); + } + return subscription; + } +} +class RefCountSubscriber extends Subscriber { + constructor(destination, connectable) { + super(destination); + this.connectable = connectable; + } + /** @deprecated internal use only */ _unsubscribe() { + const { connectable } = this; + if (!connectable) { + this.connection = null; + return; + } + this.connectable = null; + const refCount = connectable._refCount; + if (refCount <= 0) { + this.connection = null; + return; + } + connectable._refCount = refCount - 1; + if (refCount > 1) { + this.connection = null; + return; + } + /// + // Compare the local RefCountSubscriber's connection Subscription to the + // connection Subscription on the shared ConnectableObservable. In cases + // where the ConnectableObservable source synchronously emits values, and + // the RefCountSubscriber's downstream Observers synchronously unsubscribe, + // execution continues to here before the RefCountOperator has a chance to + // supply the RefCountSubscriber with the shared connection Subscription. + // For example: + // ``` + // Observable.range(0, 10) + // .publish() + // .refCount() + // .take(5) + // .subscribe(); + // ``` + // In order to account for this case, RefCountSubscriber should only dispose + // the ConnectableObservable's shared connection Subscription if the + // connection Subscription exists, *and* either: + // a. RefCountSubscriber doesn't have a reference to the shared connection + // Subscription yet, or, + // b. RefCountSubscriber's connection Subscription reference is identical + // to the shared connection Subscription + /// + const { connection } = this; + const sharedConnection = connectable._connection; + this.connection = null; + if (sharedConnection && (!connection || sharedConnection === connection)) { + sharedConnection.unsubscribe(); + } + } +} +//# sourceMappingURL=refCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js.map new file mode 100644 index 00000000000000..7148a0fd49fc06 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/refCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"refCount.js","sourceRoot":"","sources":["../../src/operators/refCount.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAM1C;IACE,MAAM,CAAC,kCAAkC,MAAgC;QACvE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,WAAqC;QAArC,gBAAW,GAAX,WAAW,CAA0B;IACzD,CAAC;IACD,IAAI,CAAC,UAAyB,EAAE,MAAW;QAEzC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACtB,WAAY,CAAC,SAAS,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAElD,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,UAAW,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED,iCAAoC,UAAU;IAI5C,YAAY,WAA0B,EAClB,WAAqC;QACvD,MAAM,WAAW,CAAC,CAAC;QADD,gBAAW,GAAX,WAAW,CAA0B;IAEzD,CAAC;IAED,oCAAoC,CAAC,YAAY;QAE/C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,QAAQ,GAAU,WAAY,CAAC,SAAS,CAAC;QAC/C,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC;QACT,CAAC;QAEM,WAAY,CAAC,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC7C,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC;QACT,CAAC;QAED,GAAG;QACH,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,eAAe;QACf,MAAM;QACN,0BAA0B;QAC1B,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,kBAAkB;QAClB,MAAM;QACN,4EAA4E;QAC5E,oEAAoE;QACpE,gDAAgD;QAChD,4EAA4E;QAC5E,6BAA6B;QAC7B,2EAA2E;QAC3E,6CAA6C;QAC7C,GAAG;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,gBAAgB,GAAU,WAAY,CAAC,WAAW,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,IAAI,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;YACzE,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js new file mode 100644 index 00000000000000..3f73a20c3209ed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js @@ -0,0 +1,61 @@ +import { Subscriber } from '../Subscriber'; +import { EmptyObservable } from '../observable/EmptyObservable'; +/** + * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times. + * + * + * + * @param {number} [count] The number of times the source Observable items are repeated, a count of 0 will yield + * an empty Observable. + * @return {Observable} An Observable that repeats the stream of items emitted by the source Observable at most + * count times. + * @method repeat + * @owner Observable + */ +export function repeat(count = -1) { + return (source) => { + if (count === 0) { + return new EmptyObservable(); + } + else if (count < 0) { + return source.lift(new RepeatOperator(-1, source)); + } + else { + return source.lift(new RepeatOperator(count - 1, source)); + } + }; +} +class RepeatOperator { + constructor(count, source) { + this.count = count; + this.source = source; + } + call(subscriber, source) { + return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class RepeatSubscriber extends Subscriber { + constructor(destination, count, source) { + super(destination); + this.count = count; + this.source = source; + } + complete() { + if (!this.isStopped) { + const { source, count } = this; + if (count === 0) { + return super.complete(); + } + else if (count > -1) { + this.count = count - 1; + } + source.subscribe(this._unsubscribeAndRecycle()); + } + } +} +//# sourceMappingURL=repeat.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js.map new file mode 100644 index 00000000000000..d2476f67b48b9d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../src/operators/repeat.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OAEnC,EAAE,eAAe,EAAE,MAAM,+BAA+B;AAI/D;;;;;;;;;;;GAWG;AACH,uBAA0B,KAAK,GAAW,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,MAAqB;QAC3B,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,eAAe,EAAK,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,KAAa,EACb,MAAqB;QADrB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAe;IACzC,CAAC;IACD,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,UAAU;IAC1C,YAAY,WAA4B,EACpB,KAAa,EACb,MAAqB;QACvC,MAAM,WAAW,CAAC,CAAC;QAFD,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAe;IAEzC,CAAC;IACD,QAAQ;QACN,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC/B,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js new file mode 100644 index 00000000000000..a8afb7f61c1ebd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js @@ -0,0 +1,98 @@ +import { Subject } from '../Subject'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Returns an Observable that mirrors the source Observable with the exception of a `complete`. If the source + * Observable calls `complete`, this method will emit to the Observable returned from `notifier`. If that Observable + * calls `complete` or `error`, then this method will call `complete` or `error` on the child subscription. Otherwise + * this method will resubscribe to the source Observable. + * + * + * + * @param {function(notifications: Observable): Observable} notifier - Receives an Observable of notifications with + * which a user can `complete` or `error`, aborting the repetition. + * @return {Observable} The source Observable modified with repeat logic. + * @method repeatWhen + * @owner Observable + */ +export function repeatWhen(notifier) { + return (source) => source.lift(new RepeatWhenOperator(notifier)); +} +class RepeatWhenOperator { + constructor(notifier) { + this.notifier = notifier; + } + call(subscriber, source) { + return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class RepeatWhenSubscriber extends OuterSubscriber { + constructor(destination, notifier, source) { + super(destination); + this.notifier = notifier; + this.source = source; + this.sourceIsBeingSubscribedTo = true; + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.sourceIsBeingSubscribedTo = true; + this.source.subscribe(this); + } + notifyComplete(innerSub) { + if (this.sourceIsBeingSubscribedTo === false) { + return super.complete(); + } + } + complete() { + this.sourceIsBeingSubscribedTo = false; + if (!this.isStopped) { + if (!this.retries) { + this.subscribeToRetries(); + } + if (!this.retriesSubscription || this.retriesSubscription.closed) { + return super.complete(); + } + this._unsubscribeAndRecycle(); + this.notifications.next(); + } + } + /** @deprecated internal use only */ _unsubscribe() { + const { notifications, retriesSubscription } = this; + if (notifications) { + notifications.unsubscribe(); + this.notifications = null; + } + if (retriesSubscription) { + retriesSubscription.unsubscribe(); + this.retriesSubscription = null; + } + this.retries = null; + } + /** @deprecated internal use only */ _unsubscribeAndRecycle() { + const { notifications, retries, retriesSubscription } = this; + this.notifications = null; + this.retries = null; + this.retriesSubscription = null; + super._unsubscribeAndRecycle(); + this.notifications = notifications; + this.retries = retries; + this.retriesSubscription = retriesSubscription; + return this; + } + subscribeToRetries() { + this.notifications = new Subject(); + const retries = tryCatch(this.notifier)(this.notifications); + if (retries === errorObject) { + return super.complete(); + } + this.retries = retries; + this.retriesSubscription = subscribeToResult(this, retries); + } +} +//# sourceMappingURL=repeatWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js.map new file mode 100644 index 00000000000000..de388d3ffa64bf --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/repeatWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"repeatWhen.js","sourceRoot":"","sources":["../../src/operators/repeatWhen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js new file mode 100644 index 00000000000000..ba2f70b81604c0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js @@ -0,0 +1,54 @@ +import { Subscriber } from '../Subscriber'; +/** + * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable + * calls `error`, this method will resubscribe to the source Observable for a maximum of `count` resubscriptions (given + * as a number parameter) rather than propagating the `error` call. + * + * + * + * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted + * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second + * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications + * would be: [1, 2, 1, 2, 3, 4, 5, `complete`]. + * @param {number} count - Number of retry attempts before failing. + * @return {Observable} The source Observable modified with the retry logic. + * @method retry + * @owner Observable + */ +export function retry(count = -1) { + return (source) => source.lift(new RetryOperator(count, source)); +} +class RetryOperator { + constructor(count, source) { + this.count = count; + this.source = source; + } + call(subscriber, source) { + return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class RetrySubscriber extends Subscriber { + constructor(destination, count, source) { + super(destination); + this.count = count; + this.source = source; + } + error(err) { + if (!this.isStopped) { + const { source, count } = this; + if (count === 0) { + return super.error(err); + } + else if (count > -1) { + this.count = count - 1; + } + source.subscribe(this._unsubscribeAndRecycle()); + } + } +} +//# sourceMappingURL=retry.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js.map new file mode 100644 index 00000000000000..a0116274c879c4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/operators/retry.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAM1C;;;;;;;;;;;;;;;GAeG;AACH,sBAAyB,KAAK,GAAW,CAAC,CAAC;IACzC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;IACE,YAAoB,KAAa,EACb,MAAqB;QADrB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAe;IACzC,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAiC,UAAU;IACzC,YAAY,WAA4B,EACpB,KAAa,EACb,MAAqB;QACvC,MAAM,WAAW,CAAC,CAAC;QAFD,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAe;IAEzC,CAAC;IACD,KAAK,CAAC,GAAQ;QACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC/B,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js new file mode 100644 index 00000000000000..f923bce0ddde96 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js @@ -0,0 +1,91 @@ +import { Subject } from '../Subject'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable + * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`. + * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child + * subscription. Otherwise this method will resubscribe to the source Observable. + * + * + * + * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a + * user can `complete` or `error`, aborting the retry. + * @return {Observable} The source Observable modified with retry logic. + * @method retryWhen + * @owner Observable + */ +export function retryWhen(notifier) { + return (source) => source.lift(new RetryWhenOperator(notifier, source)); +} +class RetryWhenOperator { + constructor(notifier, source) { + this.notifier = notifier; + this.source = source; + } + call(subscriber, source) { + return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class RetryWhenSubscriber extends OuterSubscriber { + constructor(destination, notifier, source) { + super(destination); + this.notifier = notifier; + this.source = source; + } + error(err) { + if (!this.isStopped) { + let errors = this.errors; + let retries = this.retries; + let retriesSubscription = this.retriesSubscription; + if (!retries) { + errors = new Subject(); + retries = tryCatch(this.notifier)(errors); + if (retries === errorObject) { + return super.error(errorObject.e); + } + retriesSubscription = subscribeToResult(this, retries); + } + else { + this.errors = null; + this.retriesSubscription = null; + } + this._unsubscribeAndRecycle(); + this.errors = errors; + this.retries = retries; + this.retriesSubscription = retriesSubscription; + errors.next(err); + } + } + /** @deprecated internal use only */ _unsubscribe() { + const { errors, retriesSubscription } = this; + if (errors) { + errors.unsubscribe(); + this.errors = null; + } + if (retriesSubscription) { + retriesSubscription.unsubscribe(); + this.retriesSubscription = null; + } + this.retries = null; + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const { errors, retries, retriesSubscription } = this; + this.errors = null; + this.retries = null; + this.retriesSubscription = null; + this._unsubscribeAndRecycle(); + this.errors = errors; + this.retries = retries; + this.retriesSubscription = retriesSubscription; + this.source.subscribe(this); + } +} +//# sourceMappingURL=retryWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js.map new file mode 100644 index 00000000000000..eb64e71f34d00c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/retryWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"retryWhen.js","sourceRoot":"","sources":["../../src/operators/retryWhen.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js new file mode 100644 index 00000000000000..a04bf4ec3f828b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js @@ -0,0 +1,78 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Emits the most recently emitted value from the source Observable whenever + * another Observable, the `notifier`, emits. + * + * It's like {@link sampleTime}, but samples whenever + * the `notifier` Observable emits something. + * + * + * + * Whenever the `notifier` Observable emits a value or completes, `sample` + * looks at the source Observable and emits whichever value it has most recently + * emitted since the previous sampling, unless the source has not emitted + * anything since the previous sampling. The `notifier` is subscribed to as soon + * as the output Observable is subscribed. + * + * @example On every click, sample the most recent "seconds" timer + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = seconds.sample(clicks); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounce} + * @see {@link sampleTime} + * @see {@link throttle} + * + * @param {Observable} notifier The Observable to use for sampling the + * source Observable. + * @return {Observable} An Observable that emits the results of sampling the + * values emitted by the source Observable whenever the notifier Observable + * emits value or completes. + * @method sample + * @owner Observable + */ +export function sample(notifier) { + return (source) => source.lift(new SampleOperator(notifier)); +} +class SampleOperator { + constructor(notifier) { + this.notifier = notifier; + } + call(subscriber, source) { + const sampleSubscriber = new SampleSubscriber(subscriber); + const subscription = source.subscribe(sampleSubscriber); + subscription.add(subscribeToResult(sampleSubscriber, this.notifier)); + return subscription; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SampleSubscriber extends OuterSubscriber { + constructor() { + super(...arguments); + this.hasValue = false; + } + _next(value) { + this.value = value; + this.hasValue = true; + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.emitValue(); + } + notifyComplete() { + this.emitValue(); + } + emitValue() { + if (this.hasValue) { + this.hasValue = false; + this.destination.next(this.value); + } + } +} +//# sourceMappingURL=sample.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js.map new file mode 100644 index 00000000000000..49c1f2f5f400ee --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sample.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/operators/sample.ts"],"names":[],"mappings":"OAIO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,uBAA0B,QAAyB;IACjD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;IACE,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAC7C,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxD,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAqC,eAAe;IAApD;QAAqC,oBAAqB;QAEhD,aAAQ,GAAY,KAAK,CAAC;IAuBpC,CAAC;IArBW,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js new file mode 100644 index 00000000000000..29f97e2e66a4fa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js @@ -0,0 +1,80 @@ +import { Subscriber } from '../Subscriber'; +import { async } from '../scheduler/async'; +/** + * Emits the most recently emitted value from the source Observable within + * periodic time intervals. + * + * Samples the source Observable at periodic time + * intervals, emitting what it samples. + * + * + * + * `sampleTime` periodically looks at the source Observable and emits whichever + * value it has most recently emitted since the previous sampling, unless the + * source has not emitted anything since the previous sampling. The sampling + * happens periodically in time every `period` milliseconds (or the time unit + * defined by the optional `scheduler` argument). The sampling starts as soon as + * the output Observable is subscribed. + * + * @example Every second, emit the most recent click at most once + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.sampleTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sample} + * @see {@link throttleTime} + * + * @param {number} period The sampling period expressed in milliseconds or the + * time unit determined internally by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the sampling. + * @return {Observable} An Observable that emits the results of sampling the + * values emitted by the source Observable at the specified time interval. + * @method sampleTime + * @owner Observable + */ +export function sampleTime(period, scheduler = async) { + return (source) => source.lift(new SampleTimeOperator(period, scheduler)); +} +class SampleTimeOperator { + constructor(period, scheduler) { + this.period = period; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SampleTimeSubscriber extends Subscriber { + constructor(destination, period, scheduler) { + super(destination); + this.period = period; + this.scheduler = scheduler; + this.hasValue = false; + this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period })); + } + _next(value) { + this.lastValue = value; + this.hasValue = true; + } + notifyNext() { + if (this.hasValue) { + this.hasValue = false; + this.destination.next(this.lastValue); + } + } +} +function dispatchNotification(state) { + let { subscriber, period } = state; + subscriber.notifyNext(); + this.schedule(state, period); +} +//# sourceMappingURL=sampleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js.map new file mode 100644 index 00000000000000..f46989f4fd83d0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sampleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sampleTime.js","sourceRoot":"","sources":["../../src/operators/sampleTime.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OAGnC,EAAE,KAAK,EAAE,MAAM,oBAAoB;AAK1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,2BAA8B,MAAc,EAAE,SAAS,GAAe,KAAK;IACzE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;IACE,YAAoB,MAAc,EACd,SAAqB;QADrB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;IACzC,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,mCAAsC,UAAU;IAI9C,YAAY,WAA0B,EAClB,MAAc,EACd,SAAqB;QACvC,MAAM,WAAW,CAAC,CAAC;QAFD,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QAJzC,aAAQ,GAAY,KAAK,CAAC;QAMxB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,UAAU;QACR,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8BAAoD,KAAU;IAC5D,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnC,UAAU,CAAC,UAAU,EAAE,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js new file mode 100644 index 00000000000000..68bd3ab0de0d22 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js @@ -0,0 +1,106 @@ +import { Subscriber } from '../Subscriber'; +/* tslint:enable:max-line-length */ +/** + * Applies an accumulator function over the source Observable, and returns each + * intermediate result, with an optional seed value. + * + * It's like {@link reduce}, but emits the current + * accumulation whenever the source emits a value. + * + * + * + * Combines together all values emitted on the source, using an accumulator + * function that knows how to join a new source value into the accumulation from + * the past. Is similar to {@link reduce}, but emits the intermediate + * accumulations. + * + * Returns an Observable that applies a specified `accumulator` function to each + * item emitted by the source Observable. If a `seed` value is specified, then + * that value will be used as the initial value for the accumulator. If no seed + * value is specified, the first item of the source is used as the seed. + * + * @example Count the number of click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var ones = clicks.mapTo(1); + * var seed = 0; + * var count = ones.scan((acc, one) => acc + one, seed); + * count.subscribe(x => console.log(x)); + * + * @see {@link expand} + * @see {@link mergeScan} + * @see {@link reduce} + * + * @param {function(acc: R, value: T, index: number): R} accumulator + * The accumulator function called on each source value. + * @param {T|R} [seed] The initial accumulation value. + * @return {Observable} An observable of the accumulated values. + * @method scan + * @owner Observable + */ +export function scan(accumulator, seed) { + let hasSeed = false; + // providing a seed of `undefined` *should* be valid and trigger + // hasSeed! so don't use `seed !== undefined` checks! + // For this reason, we have to check it here at the original call site + // otherwise inside Operator/Subscriber we won't know if `undefined` + // means they didn't provide anything or if they literally provided `undefined` + if (arguments.length >= 2) { + hasSeed = true; + } + return function scanOperatorFunction(source) { + return source.lift(new ScanOperator(accumulator, seed, hasSeed)); + }; +} +class ScanOperator { + constructor(accumulator, seed, hasSeed = false) { + this.accumulator = accumulator; + this.seed = seed; + this.hasSeed = hasSeed; + } + call(subscriber, source) { + return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class ScanSubscriber extends Subscriber { + constructor(destination, accumulator, _seed, hasSeed) { + super(destination); + this.accumulator = accumulator; + this._seed = _seed; + this.hasSeed = hasSeed; + this.index = 0; + } + get seed() { + return this._seed; + } + set seed(value) { + this.hasSeed = true; + this._seed = value; + } + _next(value) { + if (!this.hasSeed) { + this.seed = value; + this.destination.next(value); + } + else { + return this._tryNext(value); + } + } + _tryNext(value) { + const index = this.index++; + let result; + try { + result = this.accumulator(this.seed, value, index); + } + catch (err) { + this.destination.error(err); + } + this.seed = result; + this.destination.next(result); + } +} +//# sourceMappingURL=scan.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js.map new file mode 100644 index 00000000000000..a1059860826fff --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/scan.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/operators/scan.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAO1C,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAA2B,WAAmD,EAAE,IAAY;IAC1F,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,gEAAgE;IAChE,qDAAqD;IACrD,sEAAsE;IACtE,oEAAoE;IACpE,+EAA+E;IAC/E,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,8BAA8B,MAAqB;QACxD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,WAAmD,EAAU,IAAY,EAAU,OAAO,GAAY,KAAK;QAA3G,gBAAW,GAAX,WAAW,CAAwC;QAAU,SAAI,GAAJ,IAAI,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEnI,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,6BAAmC,UAAU;IAY3C,YAAY,WAA0B,EAAU,WAAmD,EAAU,KAAY,EACrG,OAAgB;QAClC,MAAM,WAAW,CAAC,CAAC;QAF2B,gBAAW,GAAX,WAAW,CAAwC;QAAU,UAAK,GAAL,KAAK,CAAO;QACrG,YAAO,GAAP,OAAO,CAAS;QAZ5B,UAAK,GAAW,CAAC,CAAC;IAc1B,CAAC;IAZD,IAAI,IAAI;QACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAY;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAOS,KAAK,CAAC,KAAQ;QACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAQ;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,WAAW,CAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js new file mode 100644 index 00000000000000..bcfff05ffc1eda --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js @@ -0,0 +1,150 @@ +import { Subscriber } from '../Subscriber'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +/** + * Compares all values of two observables in sequence using an optional comparor function + * and returns an observable of a single boolean value representing whether or not the two sequences + * are equal. + * + * Checks to see of all values emitted by both observables are equal, in order. + * + * + * + * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either + * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom + * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the + * observables completes, the operator will wait for the other observable to complete; If the other + * observable emits before completing, the returned observable will emit `false` and complete. If one observable never + * completes or emits after the other complets, the returned observable will never complete. + * + * @example figure out if the Konami code matches + * var code = Rx.Observable.from([ + * "ArrowUp", + * "ArrowUp", + * "ArrowDown", + * "ArrowDown", + * "ArrowLeft", + * "ArrowRight", + * "ArrowLeft", + * "ArrowRight", + * "KeyB", + * "KeyA", + * "Enter" // no start key, clearly. + * ]); + * + * var keys = Rx.Observable.fromEvent(document, 'keyup') + * .map(e => e.code); + * var matches = keys.bufferCount(11, 1) + * .mergeMap( + * last11 => + * Rx.Observable.from(last11) + * .sequenceEqual(code) + * ); + * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched)); + * + * @see {@link combineLatest} + * @see {@link zip} + * @see {@link withLatestFrom} + * + * @param {Observable} compareTo The observable sequence to compare the source sequence to. + * @param {function} [comparor] An optional function to compare each value pair + * @return {Observable} An Observable of a single boolean value representing whether or not + * the values emitted by both observables were equal in sequence. + * @method sequenceEqual + * @owner Observable + */ +export function sequenceEqual(compareTo, comparor) { + return (source) => source.lift(new SequenceEqualOperator(compareTo, comparor)); +} +export class SequenceEqualOperator { + constructor(compareTo, comparor) { + this.compareTo = compareTo; + this.comparor = comparor; + } + call(subscriber, source) { + return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class SequenceEqualSubscriber extends Subscriber { + constructor(destination, compareTo, comparor) { + super(destination); + this.compareTo = compareTo; + this.comparor = comparor; + this._a = []; + this._b = []; + this._oneComplete = false; + this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this))); + } + _next(value) { + if (this._oneComplete && this._b.length === 0) { + this.emit(false); + } + else { + this._a.push(value); + this.checkValues(); + } + } + _complete() { + if (this._oneComplete) { + this.emit(this._a.length === 0 && this._b.length === 0); + } + else { + this._oneComplete = true; + } + } + checkValues() { + const { _a, _b, comparor } = this; + while (_a.length > 0 && _b.length > 0) { + let a = _a.shift(); + let b = _b.shift(); + let areEqual = false; + if (comparor) { + areEqual = tryCatch(comparor)(a, b); + if (areEqual === errorObject) { + this.destination.error(errorObject.e); + } + } + else { + areEqual = a === b; + } + if (!areEqual) { + this.emit(false); + } + } + } + emit(value) { + const { destination } = this; + destination.next(value); + destination.complete(); + } + nextB(value) { + if (this._oneComplete && this._a.length === 0) { + this.emit(false); + } + else { + this._b.push(value); + this.checkValues(); + } + } +} +class SequenceEqualCompareToSubscriber extends Subscriber { + constructor(destination, parent) { + super(destination); + this.parent = parent; + } + _next(value) { + this.parent.nextB(value); + } + _error(err) { + this.parent.error(err); + } + _complete() { + this.parent._complete(); + } +} +//# sourceMappingURL=sequenceEqual.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js.map new file mode 100644 index 00000000000000..89a111c4a3fa7d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/sequenceEqual.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sequenceEqual.js","sourceRoot":"","sources":["../../src/operators/sequenceEqual.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js new file mode 100644 index 00000000000000..88c8c1807f27d5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js @@ -0,0 +1,23 @@ +import { multicast } from './multicast'; +import { refCount } from './refCount'; +import { Subject } from '../Subject'; +function shareSubjectFactory() { + return new Subject(); +} +/** + * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one + * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will + * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`. + * This is an alias for .multicast(() => new Subject()).refCount(). + * + * + * + * @return {Observable} An Observable that upon connection causes the source Observable to emit items to its Observers. + * @method share + * @owner Observable + */ +export function share() { + return (source) => refCount()(multicast(shareSubjectFactory)(source)); +} +; +//# sourceMappingURL=share.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js.map new file mode 100644 index 00000000000000..dad030cbca9914 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/share.js.map @@ -0,0 +1 @@ +{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/operators/share.ts"],"names":[],"mappings":"OACO,EAAE,SAAS,EAAE,MAAM,aAAa;OAChC,EAAE,QAAQ,EAAE,MAAM,YAAY;OAC9B,EAAE,OAAO,EAAE,MAAM,YAAY;AAIpC;IACE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;GAWG;AACH;IACE,MAAM,CAAC,CAAC,MAAqB,KAAK,QAAQ,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAkB,CAAC;AACxG,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js new file mode 100644 index 00000000000000..d971c83e9e49f8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js @@ -0,0 +1,43 @@ +import { ReplaySubject } from '../ReplaySubject'; +/** + * @method shareReplay + * @owner Observable + */ +export function shareReplay(bufferSize, windowTime, scheduler) { + return (source) => source.lift(shareReplayOperator(bufferSize, windowTime, scheduler)); +} +function shareReplayOperator(bufferSize, windowTime, scheduler) { + let subject; + let refCount = 0; + let subscription; + let hasError = false; + let isComplete = false; + return function shareReplayOperation(source) { + refCount++; + if (!subject || hasError) { + hasError = false; + subject = new ReplaySubject(bufferSize, windowTime, scheduler); + subscription = source.subscribe({ + next(value) { subject.next(value); }, + error(err) { + hasError = true; + subject.error(err); + }, + complete() { + isComplete = true; + subject.complete(); + }, + }); + } + const innerSub = subject.subscribe(this); + return () => { + refCount--; + innerSub.unsubscribe(); + if (subscription && refCount === 0 && isComplete) { + subscription.unsubscribe(); + } + }; + }; +} +; +//# sourceMappingURL=shareReplay.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js.map new file mode 100644 index 00000000000000..04a3c14ddcca00 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/shareReplay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shareReplay.js","sourceRoot":"","sources":["../../src/operators/shareReplay.ts"],"names":[],"mappings":"OACO,EAAE,aAAa,EAAE,MAAM,kBAAkB;AAMhD;;;GAGG;AACH,4BAA+B,UAAmB,EAAE,UAAmB,EAAE,SAAsB;IAC7F,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,6BAAgC,UAAmB,EAAE,UAAmB,EAAE,SAAsB;IAC9F,IAAI,OAAyB,CAAC;IAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAA0B,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,CAAC,8BAAmD,MAAqB;QAC7E,QAAQ,EAAE,CAAC;QACX,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;YACzB,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO,GAAG,IAAI,aAAa,CAAI,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAClE,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpC,KAAK,CAAC,GAAG;oBACP,QAAQ,GAAG,IAAI,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,QAAQ;oBACN,UAAU,GAAG,IAAI,CAAC;oBAClB,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,CAAC;YACL,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,EAAE,CAAC,CAAC,YAAY,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;gBACjD,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js new file mode 100644 index 00000000000000..712d019634ee36 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js @@ -0,0 +1,83 @@ +import { Subscriber } from '../Subscriber'; +import { EmptyError } from '../util/EmptyError'; +/** + * Returns an Observable that emits the single item emitted by the source Observable that matches a specified + * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no + * such items, notify of an IllegalArgumentException or NoSuchElementException respectively. + * + * + * + * @throws {EmptyError} Delivers an EmptyError to the Observer's `error` + * callback if the Observable completes before any `next` notification was sent. + * @param {Function} predicate - A predicate function to evaluate items emitted by the source Observable. + * @return {Observable} An Observable that emits the single item emitted by the source Observable that matches + * the predicate. + . + * @method single + * @owner Observable + */ +export function single(predicate) { + return (source) => source.lift(new SingleOperator(predicate, source)); +} +class SingleOperator { + constructor(predicate, source) { + this.predicate = predicate; + this.source = source; + } + call(subscriber, source) { + return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SingleSubscriber extends Subscriber { + constructor(destination, predicate, source) { + super(destination); + this.predicate = predicate; + this.source = source; + this.seenValue = false; + this.index = 0; + } + applySingleValue(value) { + if (this.seenValue) { + this.destination.error('Sequence contains more than one element'); + } + else { + this.seenValue = true; + this.singleValue = value; + } + } + _next(value) { + const index = this.index++; + if (this.predicate) { + this.tryNext(value, index); + } + else { + this.applySingleValue(value); + } + } + tryNext(value, index) { + try { + if (this.predicate(value, index, this.source)) { + this.applySingleValue(value); + } + } + catch (err) { + this.destination.error(err); + } + } + _complete() { + const destination = this.destination; + if (this.index > 0) { + destination.next(this.seenValue ? this.singleValue : undefined); + destination.complete(); + } + else { + destination.error(new EmptyError); + } + } +} +//# sourceMappingURL=single.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js.map new file mode 100644 index 00000000000000..01bf23c940c63f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/single.js.map @@ -0,0 +1 @@ +{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/operators/single.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OAEnC,EAAE,UAAU,EAAE,MAAM,oBAAoB;AAK/C;;;;;;;;;;;;;;;GAeG;AACH,uBAA0B,SAAuE;IAC/F,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;IACE,YAAoB,SAAuE,EACvE,MAAsB;QADtB,cAAS,GAAT,SAAS,CAA8D;QACvE,WAAM,GAAN,MAAM,CAAgB;IAC1C,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,UAAU;IAK1C,YAAY,WAAwB,EAChB,SAAuE,EACvE,MAAsB;QACxC,MAAM,WAAW,CAAC,CAAC;QAFD,cAAS,GAAT,SAAS,CAA8D;QACvE,WAAM,GAAN,MAAM,CAAgB;QANlC,cAAS,GAAY,KAAK,CAAC;QAE3B,UAAK,GAAW,CAAC,CAAC;IAM1B,CAAC;IAEO,gBAAgB,CAAC,KAAQ;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACpE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAQ,EAAE,KAAa;QACrC,IAAI,CAAC;YACH,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAES,SAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;YAChE,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,WAAW,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js new file mode 100644 index 00000000000000..35c212986a9d88 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js @@ -0,0 +1,41 @@ +import { Subscriber } from '../Subscriber'; +/** + * Returns an Observable that skips the first `count` items emitted by the source Observable. + * + * + * + * @param {Number} count - The number of times, items emitted by source Observable should be skipped. + * @return {Observable} An Observable that skips values emitted by the source Observable. + * + * @method skip + * @owner Observable + */ +export function skip(count) { + return (source) => source.lift(new SkipOperator(count)); +} +class SkipOperator { + constructor(total) { + this.total = total; + } + call(subscriber, source) { + return source.subscribe(new SkipSubscriber(subscriber, this.total)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SkipSubscriber extends Subscriber { + constructor(destination, total) { + super(destination); + this.total = total; + this.count = 0; + } + _next(x) { + if (++this.count > this.total) { + this.destination.next(x); + } + } +} +//# sourceMappingURL=skip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js.map new file mode 100644 index 00000000000000..5535cacb926a42 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skip.js","sourceRoot":"","sources":["../../src/operators/skip.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAK1C;;;;;;;;;;GAUG;AACH,qBAAwB,KAAa;IACnC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;IACE,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IACjC,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,6BAAgC,UAAU;IAGxC,YAAY,WAA0B,EAAU,KAAa;QAC3D,MAAM,WAAW,CAAC,CAAC;QAD2B,UAAK,GAAL,KAAK,CAAQ;QAF7D,UAAK,GAAW,CAAC,CAAC;IAIlB,CAAC;IAES,KAAK,CAAC,CAAI;QAClB,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js new file mode 100644 index 00000000000000..a724fdcae957ba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js @@ -0,0 +1,83 @@ +import { Subscriber } from '../Subscriber'; +import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError'; +/** + * Skip the last `count` values emitted by the source Observable. + * + * + * + * `skipLast` returns an Observable that accumulates a queue with a length + * enough to store the first `count` values. As more values are received, + * values are taken from the front of the queue and produced on the result + * sequence. This causes values to be delayed. + * + * @example Skip the last 2 values of an Observable with many values + * var many = Rx.Observable.range(1, 5); + * var skipLastTwo = many.skipLast(2); + * skipLastTwo.subscribe(x => console.log(x)); + * + * // Results in: + * // 1 2 3 + * + * @see {@link skip} + * @see {@link skipUntil} + * @see {@link skipWhile} + * @see {@link take} + * + * @throws {ArgumentOutOfRangeError} When using `skipLast(i)`, it throws + * ArgumentOutOrRangeError if `i < 0`. + * + * @param {number} count Number of elements to skip from the end of the source Observable. + * @returns {Observable} An Observable that skips the last count values + * emitted by the source Observable. + * @method skipLast + * @owner Observable + */ +export function skipLast(count) { + return (source) => source.lift(new SkipLastOperator(count)); +} +class SkipLastOperator { + constructor(_skipCount) { + this._skipCount = _skipCount; + if (this._skipCount < 0) { + throw new ArgumentOutOfRangeError; + } + } + call(subscriber, source) { + if (this._skipCount === 0) { + // If we don't want to skip any values then just subscribe + // to Subscriber without any further logic. + return source.subscribe(new Subscriber(subscriber)); + } + else { + return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount)); + } + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SkipLastSubscriber extends Subscriber { + constructor(destination, _skipCount) { + super(destination); + this._skipCount = _skipCount; + this._count = 0; + this._ring = new Array(_skipCount); + } + _next(value) { + const skipCount = this._skipCount; + const count = this._count++; + if (count < skipCount) { + this._ring[count] = value; + } + else { + const currentIndex = count % skipCount; + const ring = this._ring; + const oldValue = ring[currentIndex]; + ring[currentIndex] = value; + this.destination.next(oldValue); + } + } +} +//# sourceMappingURL=skipLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js.map new file mode 100644 index 00000000000000..4ca5c381acff90 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipLast.js","sourceRoot":"","sources":["../../src/operators/skipLast.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,uBAAuB,EAAE,MAAM,iCAAiC;AAKzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,yBAA4B,KAAa;IACvC,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;IACE,YAAoB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,uBAAuB,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,0DAA0D;YAC1D,2CAA2C;YAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,iCAAoC,UAAU;IAI5C,YAAY,WAA0B,EAAU,UAAkB;QAChE,MAAM,WAAW,CAAC,CAAC;QAD2B,eAAU,GAAV,UAAU,CAAQ;QAF1D,WAAM,GAAW,CAAC,CAAC;QAIzB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAI,UAAU,CAAC,CAAC;IACxC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE5B,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAEpC,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js new file mode 100644 index 00000000000000..267cd39da0ec0d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js @@ -0,0 +1,61 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item. + * + * + * + * @param {Observable} notifier - The second Observable that has to emit an item before the source Observable's elements begin to + * be mirrored by the resulting Observable. + * @return {Observable} An Observable that skips items from the source Observable until the second Observable emits + * an item, then emits the remaining items. + * @method skipUntil + * @owner Observable + */ +export function skipUntil(notifier) { + return (source) => source.lift(new SkipUntilOperator(notifier)); +} +class SkipUntilOperator { + constructor(notifier) { + this.notifier = notifier; + } + call(subscriber, source) { + return source.subscribe(new SkipUntilSubscriber(subscriber, this.notifier)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SkipUntilSubscriber extends OuterSubscriber { + constructor(destination, notifier) { + super(destination); + this.hasValue = false; + this.isInnerStopped = false; + this.add(subscribeToResult(this, notifier)); + } + _next(value) { + if (this.hasValue) { + super._next(value); + } + } + _complete() { + if (this.isInnerStopped) { + super._complete(); + } + else { + this.unsubscribe(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.hasValue = true; + } + notifyComplete() { + this.isInnerStopped = true; + if (this.isStopped) { + super._complete(); + } + } +} +//# sourceMappingURL=skipUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js.map new file mode 100644 index 00000000000000..1437ff8a138956 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipUntil.js","sourceRoot":"","sources":["../../src/operators/skipUntil.ts"],"names":[],"mappings":"OAIO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;GAWG;AACH,0BAA6B,QAAyB;IACpD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;IACE,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAC7C,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,kCAAwC,eAAe;IAKrD,YAAY,WAA4B,EAC5B,QAAyB;QACnC,MAAM,WAAW,CAAC,CAAC;QALb,aAAQ,GAAY,KAAK,CAAC;QAC1B,mBAAc,GAAY,KAAK,CAAC;QAKtC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAES,SAAS;QACjB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js new file mode 100644 index 00000000000000..e6cfc49ea87b73 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js @@ -0,0 +1,56 @@ +import { Subscriber } from '../Subscriber'; +/** + * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds + * true, but emits all further source items as soon as the condition becomes false. + * + * + * + * @param {Function} predicate - A function to test each item emitted from the source Observable. + * @return {Observable} An Observable that begins emitting items emitted by the source Observable when the + * specified predicate becomes false. + * @method skipWhile + * @owner Observable + */ +export function skipWhile(predicate) { + return (source) => source.lift(new SkipWhileOperator(predicate)); +} +class SkipWhileOperator { + constructor(predicate) { + this.predicate = predicate; + } + call(subscriber, source) { + return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SkipWhileSubscriber extends Subscriber { + constructor(destination, predicate) { + super(destination); + this.predicate = predicate; + this.skipping = true; + this.index = 0; + } + _next(value) { + const destination = this.destination; + if (this.skipping) { + this.tryCallPredicate(value); + } + if (!this.skipping) { + destination.next(value); + } + } + tryCallPredicate(value) { + try { + const result = this.predicate(value, this.index++); + this.skipping = Boolean(result); + } + catch (err) { + this.destination.error(err); + } + } +} +//# sourceMappingURL=skipWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js.map new file mode 100644 index 00000000000000..604f14cb8dc095 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/skipWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"skipWhile.js","sourceRoot":"","sources":["../../src/operators/skipWhile.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;;;;;;;;GAWG;AACH,0BAA6B,SAA+C;IAC1E,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;IACE,YAAoB,SAA+C;QAA/C,cAAS,GAAT,SAAS,CAAsC;IACnE,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,kCAAqC,UAAU;IAI7C,YAAY,WAA0B,EAClB,SAA+C;QACjE,MAAM,WAAW,CAAC,CAAC;QADD,cAAS,GAAT,SAAS,CAAsC;QAJ3D,aAAQ,GAAY,IAAI,CAAC;QACzB,UAAK,GAAW,CAAC,CAAC;IAK1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAAQ;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js new file mode 100644 index 00000000000000..189a877c5cf3b7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js @@ -0,0 +1,42 @@ +import { ArrayObservable } from '../observable/ArrayObservable'; +import { ScalarObservable } from '../observable/ScalarObservable'; +import { EmptyObservable } from '../observable/EmptyObservable'; +import { concat as concatStatic } from '../observable/concat'; +import { isScheduler } from '../util/isScheduler'; +/* tslint:enable:max-line-length */ +/** + * Returns an Observable that emits the items you specify as arguments before it begins to emit + * items emitted by the source Observable. + * + * + * + * @param {...T} values - Items you want the modified Observable to emit first. + * @param {Scheduler} [scheduler] - A {@link IScheduler} to use for scheduling + * the emissions of the `next` notifications. + * @return {Observable} An Observable that emits the items in the specified Iterable and then emits the items + * emitted by the source Observable. + * @method startWith + * @owner Observable + */ +export function startWith(...array) { + return (source) => { + let scheduler = array[array.length - 1]; + if (isScheduler(scheduler)) { + array.pop(); + } + else { + scheduler = null; + } + const len = array.length; + if (len === 1) { + return concatStatic(new ScalarObservable(array[0], scheduler), source); + } + else if (len > 1) { + return concatStatic(new ArrayObservable(array, scheduler), source); + } + else { + return concatStatic(new EmptyObservable(scheduler), source); + } + }; +} +//# sourceMappingURL=startWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js.map new file mode 100644 index 00000000000000..5fb55188dfaadc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/startWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"startWith.js","sourceRoot":"","sources":["../../src/operators/startWith.ts"],"names":[],"mappings":"OAEO,EAAE,eAAe,EAAE,MAAM,+BAA+B;OACxD,EAAE,gBAAgB,EAAE,MAAM,gCAAgC;OAC1D,EAAE,eAAe,EAAE,MAAM,+BAA+B;OACxD,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,sBAAsB;OACtD,EAAE,WAAW,EAAE,MAAM,qBAAqB;AAWjD,mCAAmC;AAEnC;;;;;;;;;;;;;GAaG;AACH,0BAA6B,GAAG,KAA4B;IAC1D,MAAM,CAAC,CAAC,MAAqB;QAC3B,IAAI,SAAS,GAAe,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAO,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,CAAS,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,CAAI,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js new file mode 100644 index 00000000000000..66258b63573167 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js @@ -0,0 +1,27 @@ +import { SubscribeOnObservable } from '../observable/SubscribeOnObservable'; +/** + * Asynchronously subscribes Observers to this Observable on the specified IScheduler. + * + * + * + * @param {Scheduler} scheduler - The IScheduler to perform subscription actions on. + * @return {Observable} The source Observable modified so that its subscriptions happen on the specified IScheduler. + . + * @method subscribeOn + * @owner Observable + */ +export function subscribeOn(scheduler, delay = 0) { + return function subscribeOnOperatorFunction(source) { + return source.lift(new SubscribeOnOperator(scheduler, delay)); + }; +} +class SubscribeOnOperator { + constructor(scheduler, delay) { + this.scheduler = scheduler; + this.delay = delay; + } + call(subscriber, source) { + return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber); + } +} +//# sourceMappingURL=subscribeOn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js.map new file mode 100644 index 00000000000000..81845f1fa8e446 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/subscribeOn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"subscribeOn.js","sourceRoot":"","sources":["../../src/operators/subscribeOn.ts"],"names":[],"mappings":"OAKO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC;AAG3E;;;;;;;;;;GAUG;AACH,4BAA+B,SAAqB,EAAE,KAAK,GAAW,CAAC;IACrE,MAAM,CAAC,qCAAqC,MAAqB;QAC/D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAI,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,SAAqB,EACrB,KAAa;QADb,cAAS,GAAT,SAAS,CAAY;QACrB,UAAK,GAAL,KAAK,CAAQ;IACjC,CAAC;IACD,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,IAAI,qBAAqB,CAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CACnC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js new file mode 100644 index 00000000000000..f0db5993c97395 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js @@ -0,0 +1,6 @@ +import { switchMap } from './switchMap'; +import { identity } from '../util/identity'; +export function switchAll() { + return switchMap(identity); +} +//# sourceMappingURL=switchAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js.map new file mode 100644 index 00000000000000..dfde7a2e5be415 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchAll.js","sourceRoot":"","sources":["../../src/operators/switchAll.ts"],"names":[],"mappings":"OAEO,EAAE,SAAS,EAAE,MAAM,aAAa;OAChC,EAAE,QAAQ,EAAE,MAAM,kBAAkB;AAE3C;IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js new file mode 100644 index 00000000000000..6d8d03c9da8235 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js @@ -0,0 +1,132 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to an Observable which is merged in the output + * Observable, emitting values only from the most recently projected Observable. + * + * Maps each value to an Observable, then flattens all of + * these inner Observables using {@link switch}. + * + * + * + * Returns an Observable that emits items based on applying a function that you + * supply to each item emitted by the source Observable, where that function + * returns an (so-called "inner") Observable. Each time it observes one of these + * inner Observables, the output Observable begins emitting the items emitted by + * that inner Observable. When a new inner Observable is emitted, `switchMap` + * stops emitting items from the earlier-emitted inner Observable and begins + * emitting items from the new one. It continues to behave like this for + * subsequent inner Observables. + * + * @example Rerun an interval Observable on every click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMap} + * @see {@link exhaustMap} + * @see {@link mergeMap} + * @see {@link switch} + * @see {@link switchMapTo} + * + * @param {function(value: T, ?index: number): ObservableInput} project A function + * that, when applied to an item emitted by the source Observable, returns an + * Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits the result of applying the + * projection function (and the optional `resultSelector`) to each item emitted + * by the source Observable and taking only the values from the most recently + * projected inner Observable. + * @method switchMap + * @owner Observable + */ +export function switchMap(project, resultSelector) { + return function switchMapOperatorFunction(source) { + return source.lift(new SwitchMapOperator(project, resultSelector)); + }; +} +class SwitchMapOperator { + constructor(project, resultSelector) { + this.project = project; + this.resultSelector = resultSelector; + } + call(subscriber, source) { + return source.subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SwitchMapSubscriber extends OuterSubscriber { + constructor(destination, project, resultSelector) { + super(destination); + this.project = project; + this.resultSelector = resultSelector; + this.index = 0; + } + _next(value) { + let result; + const index = this.index++; + try { + result = this.project(value, index); + } + catch (error) { + this.destination.error(error); + return; + } + this._innerSub(result, value, index); + } + _innerSub(result, value, index) { + const innerSubscription = this.innerSubscription; + if (innerSubscription) { + innerSubscription.unsubscribe(); + } + this.add(this.innerSubscription = subscribeToResult(this, result, value, index)); + } + _complete() { + const { innerSubscription } = this; + if (!innerSubscription || innerSubscription.closed) { + super._complete(); + } + } + /** @deprecated internal use only */ _unsubscribe() { + this.innerSubscription = null; + } + notifyComplete(innerSub) { + this.remove(innerSub); + this.innerSubscription = null; + if (this.isStopped) { + super._complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + if (this.resultSelector) { + this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex); + } + else { + this.destination.next(innerValue); + } + } + _tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex) { + let result; + try { + result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } +} +//# sourceMappingURL=switchMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js.map new file mode 100644 index 00000000000000..02b36cdae2cc06 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../../src/operators/switchMap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js new file mode 100644 index 00000000000000..85bd34194d67aa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js @@ -0,0 +1,115 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Projects each source value to the same Observable which is flattened multiple + * times with {@link switch} in the output Observable. + * + * It's like {@link switchMap}, but maps each value + * always to the same inner Observable. + * + * + * + * Maps each source value to the given Observable `innerObservable` regardless + * of the source value, and then flattens those resulting Observables into one + * single Observable, which is the output Observable. The output Observables + * emits values only from the most recently emitted instance of + * `innerObservable`. + * + * @example Rerun an interval Observable on every click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.switchMapTo(Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link concatMapTo} + * @see {@link switch} + * @see {@link switchMap} + * @see {@link mergeMapTo} + * + * @param {ObservableInput} innerObservable An Observable to replace each value from + * the source Observable. + * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector] + * A function to produce the value on the output Observable based on the values + * and the indices of the source (outer) emission and the inner Observable + * emission. The arguments passed to this function are: + * - `outerValue`: the value that came from the source + * - `innerValue`: the value that came from the projected Observable + * - `outerIndex`: the "index" of the value that came from the source + * - `innerIndex`: the "index" of the value from the projected Observable + * @return {Observable} An Observable that emits items from the given + * `innerObservable` (and optionally transformed through `resultSelector`) every + * time a value is emitted on the source Observable, and taking only the values + * from the most recently projected inner Observable. + * @method switchMapTo + * @owner Observable + */ +export function switchMapTo(innerObservable, resultSelector) { + return (source) => source.lift(new SwitchMapToOperator(innerObservable, resultSelector)); +} +class SwitchMapToOperator { + constructor(observable, resultSelector) { + this.observable = observable; + this.resultSelector = resultSelector; + } + call(subscriber, source) { + return source.subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class SwitchMapToSubscriber extends OuterSubscriber { + constructor(destination, inner, resultSelector) { + super(destination); + this.inner = inner; + this.resultSelector = resultSelector; + this.index = 0; + } + _next(value) { + const innerSubscription = this.innerSubscription; + if (innerSubscription) { + innerSubscription.unsubscribe(); + } + this.add(this.innerSubscription = subscribeToResult(this, this.inner, value, this.index++)); + } + _complete() { + const { innerSubscription } = this; + if (!innerSubscription || innerSubscription.closed) { + super._complete(); + } + } + /** @deprecated internal use only */ _unsubscribe() { + this.innerSubscription = null; + } + notifyComplete(innerSub) { + this.remove(innerSub); + this.innerSubscription = null; + if (this.isStopped) { + super._complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + const { resultSelector, destination } = this; + if (resultSelector) { + this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + else { + destination.next(innerValue); + } + } + tryResultSelector(outerValue, innerValue, outerIndex, innerIndex) { + const { resultSelector, destination } = this; + let result; + try { + result = resultSelector(outerValue, innerValue, outerIndex, innerIndex); + } + catch (err) { + destination.error(err); + return; + } + destination.next(result); + } +} +//# sourceMappingURL=switchMapTo.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js.map new file mode 100644 index 00000000000000..a34e3b3af324a1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/switchMapTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"switchMapTo.js","sourceRoot":"","sources":["../../src/operators/switchMapTo.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js new file mode 100644 index 00000000000000..482f77bfcb6f60 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js @@ -0,0 +1,81 @@ +import { Subscriber } from '../Subscriber'; +import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError'; +import { EmptyObservable } from '../observable/EmptyObservable'; +/** + * Emits only the first `count` values emitted by the source Observable. + * + * Takes the first `count` values from the source, then + * completes. + * + * + * + * `take` returns an Observable that emits only the first `count` values emitted + * by the source Observable. If the source emits fewer than `count` values then + * all of its values are emitted. After that, it completes, regardless if the + * source completes. + * + * @example Take the first 5 seconds of an infinite 1-second interval Observable + * var interval = Rx.Observable.interval(1000); + * var five = interval.take(5); + * five.subscribe(x => console.log(x)); + * + * @see {@link takeLast} + * @see {@link takeUntil} + * @see {@link takeWhile} + * @see {@link skip} + * + * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`. + * + * @param {number} count The maximum number of `next` values to emit. + * @return {Observable} An Observable that emits only the first `count` + * values emitted by the source Observable, or all of the values from the source + * if the source emits fewer than `count` values. + * @method take + * @owner Observable + */ +export function take(count) { + return (source) => { + if (count === 0) { + return new EmptyObservable(); + } + else { + return source.lift(new TakeOperator(count)); + } + }; +} +class TakeOperator { + constructor(total) { + this.total = total; + if (this.total < 0) { + throw new ArgumentOutOfRangeError; + } + } + call(subscriber, source) { + return source.subscribe(new TakeSubscriber(subscriber, this.total)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TakeSubscriber extends Subscriber { + constructor(destination, total) { + super(destination); + this.total = total; + this.count = 0; + } + _next(value) { + const total = this.total; + const count = ++this.count; + if (count <= total) { + this.destination.next(value); + if (count === total) { + this.destination.complete(); + this.unsubscribe(); + } + } + } +} +//# sourceMappingURL=take.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js.map new file mode 100644 index 00000000000000..7771a92e14e864 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/take.js.map @@ -0,0 +1 @@ +{"version":3,"file":"take.js","sourceRoot":"","sources":["../../src/operators/take.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,uBAAuB,EAAE,MAAM,iCAAiC;OAClE,EAAE,eAAe,EAAE,MAAM,+BAA+B;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAwB,KAAa;IACnC,MAAM,CAAC,CAAC,MAAqB;QAC3B,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,eAAe,EAAK,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,uBAAuB,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,6BAAgC,UAAU;IAGxC,YAAY,WAA0B,EAAU,KAAa;QAC3D,MAAM,WAAW,CAAC,CAAC;QAD2B,UAAK,GAAL,KAAK,CAAQ;QAFrD,UAAK,GAAW,CAAC,CAAC;IAI1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAC3B,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js new file mode 100644 index 00000000000000..f0c69b2d85f7bd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js @@ -0,0 +1,99 @@ +import { Subscriber } from '../Subscriber'; +import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError'; +import { EmptyObservable } from '../observable/EmptyObservable'; +/** + * Emits only the last `count` values emitted by the source Observable. + * + * Remembers the latest `count` values, then emits those + * only when the source completes. + * + * + * + * `takeLast` returns an Observable that emits at most the last `count` values + * emitted by the source Observable. If the source emits fewer than `count` + * values then all of its values are emitted. This operator must wait until the + * `complete` notification emission from the source in order to emit the `next` + * values on the output Observable, because otherwise it is impossible to know + * whether or not more values will be emitted on the source. For this reason, + * all values are emitted synchronously, followed by the complete notification. + * + * @example Take the last 3 values of an Observable with many values + * var many = Rx.Observable.range(1, 100); + * var lastThree = many.takeLast(3); + * lastThree.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeUntil} + * @see {@link takeWhile} + * @see {@link skip} + * + * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an + * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`. + * + * @param {number} count The maximum number of values to emit from the end of + * the sequence of values emitted by the source Observable. + * @return {Observable} An Observable that emits at most the last count + * values emitted by the source Observable. + * @method takeLast + * @owner Observable + */ +export function takeLast(count) { + return function takeLastOperatorFunction(source) { + if (count === 0) { + return new EmptyObservable(); + } + else { + return source.lift(new TakeLastOperator(count)); + } + }; +} +class TakeLastOperator { + constructor(total) { + this.total = total; + if (this.total < 0) { + throw new ArgumentOutOfRangeError; + } + } + call(subscriber, source) { + return source.subscribe(new TakeLastSubscriber(subscriber, this.total)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TakeLastSubscriber extends Subscriber { + constructor(destination, total) { + super(destination); + this.total = total; + this.ring = new Array(); + this.count = 0; + } + _next(value) { + const ring = this.ring; + const total = this.total; + const count = this.count++; + if (ring.length < total) { + ring.push(value); + } + else { + const index = count % total; + ring[index] = value; + } + } + _complete() { + const destination = this.destination; + let count = this.count; + if (count > 0) { + const total = this.count >= this.total ? this.total : this.count; + const ring = this.ring; + for (let i = 0; i < total; i++) { + const idx = (count++) % total; + destination.next(ring[idx]); + } + } + destination.complete(); + } +} +//# sourceMappingURL=takeLast.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js.map new file mode 100644 index 00000000000000..917a7f69a8e295 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeLast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeLast.js","sourceRoot":"","sources":["../../src/operators/takeLast.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,uBAAuB,EAAE,MAAM,iCAAiC;OAClE,EAAE,eAAe,EAAE,MAAM,+BAA+B;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,yBAA4B,KAAa;IACvC,MAAM,CAAC,kCAAkC,MAAqB;QAC5D,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,eAAe,EAAK,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,uBAAuB,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,iCAAoC,UAAU;IAI5C,YAAY,WAA0B,EAAU,KAAa;QAC3D,MAAM,WAAW,CAAC,CAAC;QAD2B,UAAK,GAAL,KAAK,CAAQ;QAHrD,SAAI,GAAa,IAAI,KAAK,EAAE,CAAC;QAC7B,UAAK,GAAW,CAAC,CAAC;IAI1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAES,SAAS;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvB,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACjE,MAAM,IAAI,GAAI,IAAI,CAAC,IAAI,CAAC;YAExB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js new file mode 100644 index 00000000000000..ea93a4bd883041 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js @@ -0,0 +1,65 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Emits the values emitted by the source Observable until a `notifier` + * Observable emits a value. + * + * Lets values pass until a second Observable, + * `notifier`, emits something. Then, it completes. + * + * + * + * `takeUntil` subscribes and begins mirroring the source Observable. It also + * monitors a second Observable, `notifier` that you provide. If the `notifier` + * emits a value or a complete notification, the output Observable stops + * mirroring the source Observable and completes. + * + * @example Tick every second until the first click happens + * var interval = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = interval.takeUntil(clicks); + * result.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeLast} + * @see {@link takeWhile} + * @see {@link skip} + * + * @param {Observable} notifier The Observable whose first emitted value will + * cause the output Observable of `takeUntil` to stop emitting values from the + * source Observable. + * @return {Observable} An Observable that emits the values from the source + * Observable until such time as `notifier` emits its first value. + * @method takeUntil + * @owner Observable + */ +export function takeUntil(notifier) { + return (source) => source.lift(new TakeUntilOperator(notifier)); +} +class TakeUntilOperator { + constructor(notifier) { + this.notifier = notifier; + } + call(subscriber, source) { + return source.subscribe(new TakeUntilSubscriber(subscriber, this.notifier)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TakeUntilSubscriber extends OuterSubscriber { + constructor(destination, notifier) { + super(destination); + this.notifier = notifier; + this.add(subscribeToResult(this, notifier)); + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.complete(); + } + notifyComplete() { + // noop + } +} +//# sourceMappingURL=takeUntil.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js.map new file mode 100644 index 00000000000000..13ae4bbbcc2647 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeUntil.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeUntil.js","sourceRoot":"","sources":["../../src/operators/takeUntil.ts"],"names":[],"mappings":"OAKO,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,0BAA6B,QAAyB;IACpD,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;IACE,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAC7C,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,kCAAwC,eAAe;IAErD,YAAY,WAA4B,EACpB,QAAyB;QAC3C,MAAM,WAAW,CAAC,CAAC;QADD,aAAQ,GAAR,QAAQ,CAAiB;QAE3C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAa,EAC5B,UAAkB,EAAE,UAAkB,EACtC,QAA+B;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,cAAc;QACZ,OAAO;IACT,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js new file mode 100644 index 00000000000000..ee891716ec0f0e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js @@ -0,0 +1,82 @@ +import { Subscriber } from '../Subscriber'; +/** + * Emits values emitted by the source Observable so long as each value satisfies + * the given `predicate`, and then completes as soon as this `predicate` is not + * satisfied. + * + * Takes values from the source only while they pass the + * condition given. When the first value does not satisfy, it completes. + * + * + * + * `takeWhile` subscribes and begins mirroring the source Observable. Each value + * emitted on the source is given to the `predicate` function which returns a + * boolean, representing a condition to be satisfied by the source values. The + * output Observable emits the source values until such time as the `predicate` + * returns false, at which point `takeWhile` stops mirroring the source + * Observable and completes the output Observable. + * + * @example Emit click events only while the clientX property is greater than 200 + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.takeWhile(ev => ev.clientX > 200); + * result.subscribe(x => console.log(x)); + * + * @see {@link take} + * @see {@link takeLast} + * @see {@link takeUntil} + * @see {@link skip} + * + * @param {function(value: T, index: number): boolean} predicate A function that + * evaluates a value emitted by the source Observable and returns a boolean. + * Also takes the (zero-based) index as the second argument. + * @return {Observable} An Observable that emits the values from the source + * Observable so long as each value satisfies the condition defined by the + * `predicate`, then completes. + * @method takeWhile + * @owner Observable + */ +export function takeWhile(predicate) { + return (source) => source.lift(new TakeWhileOperator(predicate)); +} +class TakeWhileOperator { + constructor(predicate) { + this.predicate = predicate; + } + call(subscriber, source) { + return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TakeWhileSubscriber extends Subscriber { + constructor(destination, predicate) { + super(destination); + this.predicate = predicate; + this.index = 0; + } + _next(value) { + const destination = this.destination; + let result; + try { + result = this.predicate(value, this.index++); + } + catch (err) { + destination.error(err); + return; + } + this.nextOrComplete(value, result); + } + nextOrComplete(value, predicateResult) { + const destination = this.destination; + if (Boolean(predicateResult)) { + destination.next(value); + } + else { + destination.complete(); + } + } +} +//# sourceMappingURL=takeWhile.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js.map new file mode 100644 index 00000000000000..1f6b8649e75c62 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/takeWhile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"takeWhile.js","sourceRoot":"","sources":["../../src/operators/takeWhile.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,0BAA6B,SAA+C;IAC1E,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;IACE,YAAoB,SAA+C;QAA/C,cAAS,GAAT,SAAS,CAAsC;IACnE,CAAC;IAED,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,kCAAqC,UAAU;IAG7C,YAAY,WAA0B,EAClB,SAA+C;QACjE,MAAM,WAAW,CAAC,CAAC;QADD,cAAS,GAAT,SAAS,CAAsC;QAH3D,UAAK,GAAW,CAAC,CAAC;IAK1B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAE;QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACb,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,cAAc,CAAC,KAAQ,EAAE,eAAwB;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js new file mode 100644 index 00000000000000..d3fad212f96437 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js @@ -0,0 +1,103 @@ +import { Subscriber } from '../Subscriber'; +/* tslint:enable:max-line-length */ +/** + * Perform a side effect for every emission on the source Observable, but return + * an Observable that is identical to the source. + * + * Intercepts each emission on the source and runs a + * function, but returns an output which is identical to the source as long as errors don't occur. + * + * + * + * Returns a mirrored Observable of the source Observable, but modified so that + * the provided Observer is called to perform a side effect for every value, + * error, and completion emitted by the source. Any errors that are thrown in + * the aforementioned Observer or handlers are safely sent down the error path + * of the output Observable. + * + * This operator is useful for debugging your Observables for the correct values + * or performing other side effects. + * + * Note: this is different to a `subscribe` on the Observable. If the Observable + * returned by `do` is not subscribed, the side effects specified by the + * Observer will never happen. `do` therefore simply spies on existing + * execution, it does not trigger an execution to happen like `subscribe` does. + * + * @example Map every click to the clientX position of that click, while also logging the click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var positions = clicks + * .do(ev => console.log(ev)) + * .map(ev => ev.clientX); + * positions.subscribe(x => console.log(x)); + * + * @see {@link map} + * @see {@link subscribe} + * + * @param {Observer|function} [nextOrObserver] A normal Observer object or a + * callback for `next`. + * @param {function} [error] Callback for errors in the source. + * @param {function} [complete] Callback for the completion of the source. + * @return {Observable} An Observable identical to the source, but runs the + * specified Observer or callback(s) for each item. + * @name tap + */ +export function tap(nextOrObserver, error, complete) { + return function tapOperatorFunction(source) { + return source.lift(new DoOperator(nextOrObserver, error, complete)); + }; +} +class DoOperator { + constructor(nextOrObserver, error, complete) { + this.nextOrObserver = nextOrObserver; + this.error = error; + this.complete = complete; + } + call(subscriber, source) { + return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class DoSubscriber extends Subscriber { + constructor(destination, nextOrObserver, error, complete) { + super(destination); + const safeSubscriber = new Subscriber(nextOrObserver, error, complete); + safeSubscriber.syncErrorThrowable = true; + this.add(safeSubscriber); + this.safeSubscriber = safeSubscriber; + } + _next(value) { + const { safeSubscriber } = this; + safeSubscriber.next(value); + if (safeSubscriber.syncErrorThrown) { + this.destination.error(safeSubscriber.syncErrorValue); + } + else { + this.destination.next(value); + } + } + _error(err) { + const { safeSubscriber } = this; + safeSubscriber.error(err); + if (safeSubscriber.syncErrorThrown) { + this.destination.error(safeSubscriber.syncErrorValue); + } + else { + this.destination.error(err); + } + } + _complete() { + const { safeSubscriber } = this; + safeSubscriber.complete(); + if (safeSubscriber.syncErrorThrown) { + this.destination.error(safeSubscriber.syncErrorValue); + } + else { + this.destination.complete(); + } + } +} +//# sourceMappingURL=tap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js.map new file mode 100644 index 00000000000000..aea8425480e8e9 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/tap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/operators/tap.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE,MAAM,eAAe;AAS1C,mCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,oBAAuB,cAAsD,EACtD,KAAwB,EACxB,QAAqB;IAC1C,MAAM,CAAC,6BAA6B,MAAqB;QACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,cAAsD,EACtD,KAAwB,EACxB,QAAqB;QAFrB,mBAAc,GAAd,cAAc,CAAwC;QACtD,UAAK,GAAL,KAAK,CAAmB;QACxB,aAAQ,GAAR,QAAQ,CAAa;IACzC,CAAC;IACD,IAAI,CAAC,UAAyB,EAAE,MAAW;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,2BAA8B,UAAU;IAItC,YAAY,WAA0B,EAC1B,cAAsD,EACtD,KAAwB,EACxB,QAAqB;QAC/B,MAAM,WAAW,CAAC,CAAC;QAEnB,MAAM,cAAc,GAAG,IAAI,UAAU,CAAI,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1E,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,EAAE,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,EAAE,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAES,SAAS;QACjB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC1B,EAAE,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js new file mode 100644 index 00000000000000..6b49b029cfede7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js @@ -0,0 +1,131 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +export const defaultThrottleConfig = { + leading: true, + trailing: false +}; +/** + * Emits a value from the source Observable, then ignores subsequent source + * values for a duration determined by another Observable, then repeats this + * process. + * + * It's like {@link throttleTime}, but the silencing + * duration is determined by a second Observable. + * + * + * + * `throttle` emits the source Observable values on the output Observable + * when its internal timer is disabled, and ignores source values when the timer + * is enabled. Initially, the timer is disabled. As soon as the first source + * value arrives, it is forwarded to the output Observable, and then the timer + * is enabled by calling the `durationSelector` function with the source value, + * which returns the "duration" Observable. When the duration Observable emits a + * value or completes, the timer is disabled, and this process repeats for the + * next source value. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.throttle(ev => Rx.Observable.interval(1000)); + * result.subscribe(x => console.log(x)); + * + * @see {@link audit} + * @see {@link debounce} + * @see {@link delayWhen} + * @see {@link sample} + * @see {@link throttleTime} + * + * @param {function(value: T): SubscribableOrPromise} durationSelector A function + * that receives a value from the source Observable, for computing the silencing + * duration for each source value, returned as an Observable or a Promise. + * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults + * to `{ leading: true, trailing: false }`. + * @return {Observable} An Observable that performs the throttle operation to + * limit the rate of emissions from the source. + * @method throttle + * @owner Observable + */ +export function throttle(durationSelector, config = defaultThrottleConfig) { + return (source) => source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing)); +} +class ThrottleOperator { + constructor(durationSelector, leading, trailing) { + this.durationSelector = durationSelector; + this.leading = leading; + this.trailing = trailing; + } + call(subscriber, source) { + return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc + * @ignore + * @extends {Ignored} + */ +class ThrottleSubscriber extends OuterSubscriber { + constructor(destination, durationSelector, _leading, _trailing) { + super(destination); + this.destination = destination; + this.durationSelector = durationSelector; + this._leading = _leading; + this._trailing = _trailing; + this._hasTrailingValue = false; + } + _next(value) { + if (this.throttled) { + if (this._trailing) { + this._hasTrailingValue = true; + this._trailingValue = value; + } + } + else { + const duration = this.tryDurationSelector(value); + if (duration) { + this.add(this.throttled = subscribeToResult(this, duration)); + } + if (this._leading) { + this.destination.next(value); + if (this._trailing) { + this._hasTrailingValue = true; + this._trailingValue = value; + } + } + } + } + tryDurationSelector(value) { + try { + return this.durationSelector(value); + } + catch (err) { + this.destination.error(err); + return null; + } + } + /** @deprecated internal use only */ _unsubscribe() { + const { throttled, _trailingValue, _hasTrailingValue, _trailing } = this; + this._trailingValue = null; + this._hasTrailingValue = false; + if (throttled) { + this.remove(throttled); + this.throttled = null; + throttled.unsubscribe(); + } + } + _sendTrailing() { + const { destination, throttled, _trailing, _trailingValue, _hasTrailingValue } = this; + if (throttled && _trailing && _hasTrailingValue) { + destination.next(_trailingValue); + this._trailingValue = null; + this._hasTrailingValue = false; + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this._sendTrailing(); + this._unsubscribe(); + } + notifyComplete() { + this._sendTrailing(); + this._unsubscribe(); + } +} +//# sourceMappingURL=throttle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js.map new file mode 100644 index 00000000000000..dcdc96ba5e2225 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/operators/throttle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js new file mode 100644 index 00000000000000..67f2f1bf8e1626 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js @@ -0,0 +1,104 @@ +import { Subscriber } from '../Subscriber'; +import { async } from '../scheduler/async'; +import { defaultThrottleConfig } from './throttle'; +/** + * Emits a value from the source Observable, then ignores subsequent source + * values for `duration` milliseconds, then repeats this process. + * + * Lets a value pass, then ignores source values for the + * next `duration` milliseconds. + * + * + * + * `throttleTime` emits the source Observable values on the output Observable + * when its internal timer is disabled, and ignores source values when the timer + * is enabled. Initially, the timer is disabled. As soon as the first source + * value arrives, it is forwarded to the output Observable, and then the timer + * is enabled. After `duration` milliseconds (or the time unit determined + * internally by the optional `scheduler`) has passed, the timer is disabled, + * and this process repeats for the next source value. Optionally takes a + * {@link IScheduler} for managing timers. + * + * @example Emit clicks at a rate of at most one click per second + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.throttleTime(1000); + * result.subscribe(x => console.log(x)); + * + * @see {@link auditTime} + * @see {@link debounceTime} + * @see {@link delay} + * @see {@link sampleTime} + * @see {@link throttle} + * + * @param {number} duration Time to wait before emitting another value after + * emitting the last value, measured in milliseconds or the time unit determined + * internally by the optional `scheduler`. + * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for + * managing the timers that handle the throttling. + * @return {Observable} An Observable that performs the throttle operation to + * limit the rate of emissions from the source. + * @method throttleTime + * @owner Observable + */ +export function throttleTime(duration, scheduler = async, config = defaultThrottleConfig) { + return (source) => source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); +} +class ThrottleTimeOperator { + constructor(duration, scheduler, leading, trailing) { + this.duration = duration; + this.scheduler = scheduler; + this.leading = leading; + this.trailing = trailing; + } + call(subscriber, source) { + return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class ThrottleTimeSubscriber extends Subscriber { + constructor(destination, duration, scheduler, leading, trailing) { + super(destination); + this.duration = duration; + this.scheduler = scheduler; + this.leading = leading; + this.trailing = trailing; + this._hasTrailingValue = false; + this._trailingValue = null; + } + _next(value) { + if (this.throttled) { + if (this.trailing) { + this._trailingValue = value; + this._hasTrailingValue = true; + } + } + else { + this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this })); + if (this.leading) { + this.destination.next(value); + } + } + } + clearThrottle() { + const throttled = this.throttled; + if (throttled) { + if (this.trailing && this._hasTrailingValue) { + this.destination.next(this._trailingValue); + this._trailingValue = null; + this._hasTrailingValue = false; + } + throttled.unsubscribe(); + this.remove(throttled); + this.throttled = null; + } + } +} +function dispatchNext(arg) { + const { subscriber } = arg; + subscriber.clearThrottle(); +} +//# sourceMappingURL=throttleTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js.map new file mode 100644 index 00000000000000..ae54cc19726513 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/throttleTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"throttleTime.js","sourceRoot":"","sources":["../../src/operators/throttleTime.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js new file mode 100644 index 00000000000000..c9e5c972fb4086 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js @@ -0,0 +1,40 @@ +import { Subscriber } from '../Subscriber'; +import { async } from '../scheduler/async'; +export function timeInterval(scheduler = async) { + return (source) => source.lift(new TimeIntervalOperator(scheduler)); +} +export class TimeInterval { + constructor(value, interval) { + this.value = value; + this.interval = interval; + } +} +; +class TimeIntervalOperator { + constructor(scheduler) { + this.scheduler = scheduler; + } + call(observer, source) { + return source.subscribe(new TimeIntervalSubscriber(observer, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TimeIntervalSubscriber extends Subscriber { + constructor(destination, scheduler) { + super(destination); + this.scheduler = scheduler; + this.lastTime = 0; + this.lastTime = scheduler.now(); + } + _next(value) { + let now = this.scheduler.now(); + let span = now - this.lastTime; + this.lastTime = now; + this.destination.next(new TimeInterval(value, span)); + } +} +//# sourceMappingURL=timeInterval.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js.map new file mode 100644 index 00000000000000..bd5bf4432960a7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeInterval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeInterval.js","sourceRoot":"","sources":["../../src/operators/timeInterval.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE,MAAM,eAAe;OAEnC,EAAE,KAAK,EAAE,MAAM,oBAAoB;AAG1C,6BAAgC,SAAS,GAAe,KAAK;IAC3D,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;IACE,YAAmB,KAAQ,EAAS,QAAgB;QAAjC,UAAK,GAAL,KAAK,CAAG;QAAS,aAAQ,GAAR,QAAQ,CAAQ;IAEpD,CAAC;AACH,CAAC;AAAA,CAAC;AAEF;IACE,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAEzC,CAAC;IAED,IAAI,CAAC,QAAqC,EAAE,MAAW;QACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,qCAAwC,UAAU;IAGhD,YAAY,WAAwC,EAAU,SAAqB;QACjF,MAAM,WAAW,CAAC,CAAC;QADyC,cAAS,GAAT,SAAS,CAAY;QAF3E,aAAQ,GAAW,CAAC,CAAC;QAK3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js new file mode 100644 index 00000000000000..5f50513fa78d4f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js @@ -0,0 +1,130 @@ +import { async } from '../scheduler/async'; +import { isDate } from '../util/isDate'; +import { Subscriber } from '../Subscriber'; +import { TimeoutError } from '../util/TimeoutError'; +/** + * + * Errors if Observable does not emit a value in given time span. + * + * Timeouts on Observable that doesn't emit values fast enough. + * + * + * + * `timeout` operator accepts as an argument either a number or a Date. + * + * If number was provided, it returns an Observable that behaves like a source + * Observable, unless there is a period of time where there is no value emitted. + * So if you provide `100` as argument and first value comes after 50ms from + * the moment of subscription, this value will be simply re-emitted by the resulting + * Observable. If however after that 100ms passes without a second value being emitted, + * stream will end with an error and source Observable will be unsubscribed. + * These checks are performed throughout whole lifecycle of Observable - from the moment + * it was subscribed to, until it completes or errors itself. Thus every value must be + * emitted within specified period since previous value. + * + * If provided argument was Date, returned Observable behaves differently. It throws + * if Observable did not complete before provided Date. This means that periods between + * emission of particular values do not matter in this case. If Observable did not complete + * before provided Date, source Observable will be unsubscribed. Other than that, resulting + * stream behaves just as source Observable. + * + * `timeout` accepts also a Scheduler as a second parameter. It is used to schedule moment (or moments) + * when returned Observable will check if source stream emitted value or completed. + * + * @example Check if ticks are emitted within certain timespan + * const seconds = Rx.Observable.interval(1000); + * + * seconds.timeout(1100) // Let's use bigger timespan to be safe, + * // since `interval` might fire a bit later then scheduled. + * .subscribe( + * value => console.log(value), // Will emit numbers just as regular `interval` would. + * err => console.log(err) // Will never be called. + * ); + * + * seconds.timeout(900).subscribe( + * value => console.log(value), // Will never be called. + * err => console.log(err) // Will emit error before even first value is emitted, + * // since it did not arrive within 900ms period. + * ); + * + * @example Use Date to check if Observable completed + * const seconds = Rx.Observable.interval(1000); + * + * seconds.timeout(new Date("December 17, 2020 03:24:00")) + * .subscribe( + * value => console.log(value), // Will emit values as regular `interval` would + * // until December 17, 2020 at 03:24:00. + * err => console.log(err) // On December 17, 2020 at 03:24:00 it will emit an error, + * // since Observable did not complete by then. + * ); + * + * @see {@link timeoutWith} + * + * @param {number|Date} due Number specifying period within which Observable must emit values + * or Date specifying before when Observable should complete + * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur. + * @return {Observable} Observable that mirrors behaviour of source, unless timeout checks fail. + * @method timeout + * @owner Observable + */ +export function timeout(due, scheduler = async) { + const absoluteTimeout = isDate(due); + const waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due); + return (source) => source.lift(new TimeoutOperator(waitFor, absoluteTimeout, scheduler, new TimeoutError())); +} +class TimeoutOperator { + constructor(waitFor, absoluteTimeout, scheduler, errorInstance) { + this.waitFor = waitFor; + this.absoluteTimeout = absoluteTimeout; + this.scheduler = scheduler; + this.errorInstance = errorInstance; + } + call(subscriber, source) { + return source.subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.scheduler, this.errorInstance)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TimeoutSubscriber extends Subscriber { + constructor(destination, absoluteTimeout, waitFor, scheduler, errorInstance) { + super(destination); + this.absoluteTimeout = absoluteTimeout; + this.waitFor = waitFor; + this.scheduler = scheduler; + this.errorInstance = errorInstance; + this.action = null; + this.scheduleTimeout(); + } + static dispatchTimeout(subscriber) { + subscriber.error(subscriber.errorInstance); + } + scheduleTimeout() { + const { action } = this; + if (action) { + // Recycle the action if we've already scheduled one. All the production + // Scheduler Actions mutate their state/delay time and return themeselves. + // VirtualActions are immutable, so they create and return a clone. In this + // case, we need to set the action reference to the most recent VirtualAction, + // to ensure that's the one we clone from next time. + this.action = action.schedule(this, this.waitFor); + } + else { + this.add(this.action = this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, this)); + } + } + _next(value) { + if (!this.absoluteTimeout) { + this.scheduleTimeout(); + } + super._next(value); + } + /** @deprecated internal use only */ _unsubscribe() { + this.action = null; + this.scheduler = null; + this.errorInstance = null; + } +} +//# sourceMappingURL=timeout.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js.map new file mode 100644 index 00000000000000..2fb2925da4f626 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/operators/timeout.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js new file mode 100644 index 00000000000000..211ef8ba01b652 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js @@ -0,0 +1,117 @@ +import { async } from '../scheduler/async'; +import { isDate } from '../util/isDate'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * + * Errors if Observable does not emit a value in given time span, in case of which + * subscribes to the second Observable. + * + * It's a version of `timeout` operator that let's you specify fallback Observable. + * + * + * + * `timeoutWith` is a variation of `timeout` operator. It behaves exactly the same, + * still accepting as a first argument either a number or a Date, which control - respectively - + * when values of source Observable should be emitted or when it should complete. + * + * The only difference is that it accepts a second, required parameter. This parameter + * should be an Observable which will be subscribed when source Observable fails any timeout check. + * So whenever regular `timeout` would emit an error, `timeoutWith` will instead start re-emitting + * values from second Observable. Note that this fallback Observable is not checked for timeouts + * itself, so it can emit values and complete at arbitrary points in time. From the moment of a second + * subscription, Observable returned from `timeoutWith` simply mirrors fallback stream. When that + * stream completes, it completes as well. + * + * Scheduler, which in case of `timeout` is provided as as second argument, can be still provided + * here - as a third, optional parameter. It still is used to schedule timeout checks and - + * as a consequence - when second Observable will be subscribed, since subscription happens + * immediately after failing check. + * + * @example Add fallback observable + * const seconds = Rx.Observable.interval(1000); + * const minutes = Rx.Observable.interval(60 * 1000); + * + * seconds.timeoutWith(900, minutes) + * .subscribe( + * value => console.log(value), // After 900ms, will start emitting `minutes`, + * // since first value of `seconds` will not arrive fast enough. + * err => console.log(err) // Would be called after 900ms in case of `timeout`, + * // but here will never be called. + * ); + * + * @param {number|Date} due Number specifying period within which Observable must emit values + * or Date specifying before when Observable should complete + * @param {Observable} withObservable Observable which will be subscribed if source fails timeout check. + * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur. + * @return {Observable} Observable that mirrors behaviour of source or, when timeout check fails, of an Observable + * passed as a second parameter. + * @method timeoutWith + * @owner Observable + */ +export function timeoutWith(due, withObservable, scheduler = async) { + return (source) => { + let absoluteTimeout = isDate(due); + let waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due); + return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler)); + }; +} +class TimeoutWithOperator { + constructor(waitFor, absoluteTimeout, withObservable, scheduler) { + this.waitFor = waitFor; + this.absoluteTimeout = absoluteTimeout; + this.withObservable = withObservable; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class TimeoutWithSubscriber extends OuterSubscriber { + constructor(destination, absoluteTimeout, waitFor, withObservable, scheduler) { + super(destination); + this.absoluteTimeout = absoluteTimeout; + this.waitFor = waitFor; + this.withObservable = withObservable; + this.scheduler = scheduler; + this.action = null; + this.scheduleTimeout(); + } + static dispatchTimeout(subscriber) { + const { withObservable } = subscriber; + subscriber._unsubscribeAndRecycle(); + subscriber.add(subscribeToResult(subscriber, withObservable)); + } + scheduleTimeout() { + const { action } = this; + if (action) { + // Recycle the action if we've already scheduled one. All the production + // Scheduler Actions mutate their state/delay time and return themeselves. + // VirtualActions are immutable, so they create and return a clone. In this + // case, we need to set the action reference to the most recent VirtualAction, + // to ensure that's the one we clone from next time. + this.action = action.schedule(this, this.waitFor); + } + else { + this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this)); + } + } + _next(value) { + if (!this.absoluteTimeout) { + this.scheduleTimeout(); + } + super._next(value); + } + /** @deprecated internal use only */ _unsubscribe() { + this.action = null; + this.scheduler = null; + this.withObservable = null; + } +} +//# sourceMappingURL=timeoutWith.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js.map new file mode 100644 index 00000000000000..9e11823e72dcb0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timeoutWith.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timeoutWith.js","sourceRoot":"","sources":["../../src/operators/timeoutWith.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js new file mode 100644 index 00000000000000..fe36bbaf87bd64 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js @@ -0,0 +1,20 @@ +import { async } from '../scheduler/async'; +import { map } from './map'; +/** + * @param scheduler + * @return {Observable>|WebSocketSubject|Observable} + * @method timestamp + * @owner Observable + */ +export function timestamp(scheduler = async) { + return map((value) => new Timestamp(value, scheduler.now())); + // return (source: Observable) => source.lift(new TimestampOperator(scheduler)); +} +export class Timestamp { + constructor(value, timestamp) { + this.value = value; + this.timestamp = timestamp; + } +} +; +//# sourceMappingURL=timestamp.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js.map new file mode 100644 index 00000000000000..3aa794457e5378 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/timestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/operators/timestamp.ts"],"names":[],"mappings":"OAEO,EAAE,KAAK,EAAE,MAAM,oBAAoB;OAEnC,EAAE,GAAG,EAAE,MAAM,OAAO;AAE3B;;;;;GAKG;AACH,0BAA6B,SAAS,GAAe,KAAK;IACxD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAQ,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,mFAAmF;AACrF,CAAC;AAED;IACE,YAAmB,KAAQ,EAAS,SAAiB;QAAlC,UAAK,GAAL,KAAK,CAAG;QAAS,cAAS,GAAT,SAAS,CAAQ;IACrD,CAAC;AACH,CAAC;AAAA,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js new file mode 100644 index 00000000000000..98effe76e07def --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js @@ -0,0 +1,12 @@ +import { reduce } from './reduce'; +function toArrayReducer(arr, item, index) { + if (index === 0) { + return [item]; + } + arr.push(item); + return arr; +} +export function toArray() { + return reduce(toArrayReducer, []); +} +//# sourceMappingURL=toArray.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js.map new file mode 100644 index 00000000000000..692afd0b49262e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/toArray.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toArray.js","sourceRoot":"","sources":["../../src/operators/toArray.ts"],"names":[],"mappings":"OAAO,EAAE,MAAM,EAAE,MAAM,UAAU;AAGjC,wBAA2B,GAAQ,EAAE,IAAO,EAAE,KAAa;IACzD,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAED;IACE,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAA6B,CAAC;AAChE,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js new file mode 100644 index 00000000000000..22ec6f40275caa --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js @@ -0,0 +1,102 @@ +import { Subject } from '../Subject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Branch out the source Observable values as a nested Observable whenever + * `windowBoundaries` emits. + * + * It's like {@link buffer}, but emits a nested Observable + * instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits connected, non-overlapping + * windows. It emits the current window and opens a new one whenever the + * Observable `windowBoundaries` emits an item. Because each window is an + * Observable, the output is a higher-order Observable. + * + * @example In every window of 1 second each, emit at most 2 click events + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var interval = Rx.Observable.interval(1000); + * var result = clicks.window(interval) + * .map(win => win.take(2)) // each window has at most 2 emissions + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link windowWhen} + * @see {@link buffer} + * + * @param {Observable} windowBoundaries An Observable that completes the + * previous window and starts a new window. + * @return {Observable>} An Observable of windows, which are + * Observables emitting values of the source Observable. + * @method window + * @owner Observable + */ +export function window(windowBoundaries) { + return function windowOperatorFunction(source) { + return source.lift(new WindowOperator(windowBoundaries)); + }; +} +class WindowOperator { + constructor(windowBoundaries) { + this.windowBoundaries = windowBoundaries; + } + call(subscriber, source) { + const windowSubscriber = new WindowSubscriber(subscriber); + const sourceSubscription = source.subscribe(windowSubscriber); + if (!sourceSubscription.closed) { + windowSubscriber.add(subscribeToResult(windowSubscriber, this.windowBoundaries)); + } + return sourceSubscription; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WindowSubscriber extends OuterSubscriber { + constructor(destination) { + super(destination); + this.window = new Subject(); + destination.next(this.window); + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.openWindow(); + } + notifyError(error, innerSub) { + this._error(error); + } + notifyComplete(innerSub) { + this._complete(); + } + _next(value) { + this.window.next(value); + } + _error(err) { + this.window.error(err); + this.destination.error(err); + } + _complete() { + this.window.complete(); + this.destination.complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + this.window = null; + } + openWindow() { + const prevWindow = this.window; + if (prevWindow) { + prevWindow.complete(); + } + const destination = this.destination; + const newWindow = this.window = new Subject(); + destination.next(newWindow); + } +} +//# sourceMappingURL=window.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js.map new file mode 100644 index 00000000000000..2fc04838b60553 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/window.js.map @@ -0,0 +1 @@ +{"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/operators/window.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,EAAE,MAAM,YAAY;OAE7B,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,uBAA0B,gBAAiC;IACzD,MAAM,CAAC,gCAAgC,MAAqB;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC;AAED;IAEE,YAAoB,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;IACrD,CAAC;IAED,IAAI,CAAC,UAAqC,EAAE,MAAW;QACrD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,eAAe;IAI/C,YAAY,WAAsC;QAChD,MAAM,WAAW,CAAC,CAAC;QAHb,WAAM,GAAe,IAAI,OAAO,EAAK,CAAC;QAI5C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAe,EAC9B,UAAkB,EAAE,UAAkB,EACtC,QAAiC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAAiC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,QAAiC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,oCAAoC,CAAC,YAAY;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAK,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js new file mode 100644 index 00000000000000..8f137bcd52a754 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js @@ -0,0 +1,122 @@ +import { Subscriber } from '../Subscriber'; +import { Subject } from '../Subject'; +/** + * Branch out the source Observable values as a nested Observable with each + * nested Observable emitting at most `windowSize` values. + * + * It's like {@link bufferCount}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits windows every `startWindowEvery` + * items, each containing no more than `windowSize` items. When the source + * Observable completes or encounters an error, the output Observable emits + * the current window and propagates the notification from the source + * Observable. If `startWindowEvery` is not provided, then new windows are + * started immediately at the start of the source and when each window completes + * with size `windowSize`. + * + * @example Ignore every 3rd click event, starting from the first one + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.windowCount(3) + * .map(win => win.skip(1)) // skip first of every 3 clicks + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @example Ignore every 3rd click event, starting from the third one + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks.windowCount(2, 3) + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link windowWhen} + * @see {@link bufferCount} + * + * @param {number} windowSize The maximum number of values emitted by each + * window. + * @param {number} [startWindowEvery] Interval at which to start a new window. + * For example if `startWindowEvery` is `2`, then a new window will be started + * on every other value from the source. A new window is started at the + * beginning of the source by default. + * @return {Observable>} An Observable of windows, which in turn + * are Observable of values. + * @method windowCount + * @owner Observable + */ +export function windowCount(windowSize, startWindowEvery = 0) { + return function windowCountOperatorFunction(source) { + return source.lift(new WindowCountOperator(windowSize, startWindowEvery)); + }; +} +class WindowCountOperator { + constructor(windowSize, startWindowEvery) { + this.windowSize = windowSize; + this.startWindowEvery = startWindowEvery; + } + call(subscriber, source) { + return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WindowCountSubscriber extends Subscriber { + constructor(destination, windowSize, startWindowEvery) { + super(destination); + this.destination = destination; + this.windowSize = windowSize; + this.startWindowEvery = startWindowEvery; + this.windows = [new Subject()]; + this.count = 0; + destination.next(this.windows[0]); + } + _next(value) { + const startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize; + const destination = this.destination; + const windowSize = this.windowSize; + const windows = this.windows; + const len = windows.length; + for (let i = 0; i < len && !this.closed; i++) { + windows[i].next(value); + } + const c = this.count - windowSize + 1; + if (c >= 0 && c % startWindowEvery === 0 && !this.closed) { + windows.shift().complete(); + } + if (++this.count % startWindowEvery === 0 && !this.closed) { + const window = new Subject(); + windows.push(window); + destination.next(window); + } + } + _error(err) { + const windows = this.windows; + if (windows) { + while (windows.length > 0 && !this.closed) { + windows.shift().error(err); + } + } + this.destination.error(err); + } + _complete() { + const windows = this.windows; + if (windows) { + while (windows.length > 0 && !this.closed) { + windows.shift().complete(); + } + } + this.destination.complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + this.count = 0; + this.windows = null; + } +} +//# sourceMappingURL=windowCount.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js.map new file mode 100644 index 00000000000000..5caf405c57423b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowCount.js","sourceRoot":"","sources":["../../src/operators/windowCount.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js new file mode 100644 index 00000000000000..50eedef7fe4fb6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js @@ -0,0 +1,147 @@ +import { Subject } from '../Subject'; +import { async } from '../scheduler/async'; +import { Subscriber } from '../Subscriber'; +import { isNumeric } from '../util/isNumeric'; +import { isScheduler } from '../util/isScheduler'; +export function windowTime(windowTimeSpan) { + let scheduler = async; + let windowCreationInterval = null; + let maxWindowSize = Number.POSITIVE_INFINITY; + if (isScheduler(arguments[3])) { + scheduler = arguments[3]; + } + if (isScheduler(arguments[2])) { + scheduler = arguments[2]; + } + else if (isNumeric(arguments[2])) { + maxWindowSize = arguments[2]; + } + if (isScheduler(arguments[1])) { + scheduler = arguments[1]; + } + else if (isNumeric(arguments[1])) { + windowCreationInterval = arguments[1]; + } + return function windowTimeOperatorFunction(source) { + return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler)); + }; +} +class WindowTimeOperator { + constructor(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) { + this.windowTimeSpan = windowTimeSpan; + this.windowCreationInterval = windowCreationInterval; + this.maxWindowSize = maxWindowSize; + this.scheduler = scheduler; + } + call(subscriber, source) { + return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler)); + } +} +class CountedSubject extends Subject { + constructor() { + super(...arguments); + this._numberOfNextedValues = 0; + } + next(value) { + this._numberOfNextedValues++; + super.next(value); + } + get numberOfNextedValues() { + return this._numberOfNextedValues; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WindowTimeSubscriber extends Subscriber { + constructor(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) { + super(destination); + this.destination = destination; + this.windowTimeSpan = windowTimeSpan; + this.windowCreationInterval = windowCreationInterval; + this.maxWindowSize = maxWindowSize; + this.scheduler = scheduler; + this.windows = []; + const window = this.openWindow(); + if (windowCreationInterval !== null && windowCreationInterval >= 0) { + const closeState = { subscriber: this, window, context: null }; + const creationState = { windowTimeSpan, windowCreationInterval, subscriber: this, scheduler }; + this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState)); + this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState)); + } + else { + const timeSpanOnlyState = { subscriber: this, window, windowTimeSpan }; + this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState)); + } + } + _next(value) { + const windows = this.windows; + const len = windows.length; + for (let i = 0; i < len; i++) { + const window = windows[i]; + if (!window.closed) { + window.next(value); + if (window.numberOfNextedValues >= this.maxWindowSize) { + this.closeWindow(window); + } + } + } + } + _error(err) { + const windows = this.windows; + while (windows.length > 0) { + windows.shift().error(err); + } + this.destination.error(err); + } + _complete() { + const windows = this.windows; + while (windows.length > 0) { + const window = windows.shift(); + if (!window.closed) { + window.complete(); + } + } + this.destination.complete(); + } + openWindow() { + const window = new CountedSubject(); + this.windows.push(window); + const destination = this.destination; + destination.next(window); + return window; + } + closeWindow(window) { + window.complete(); + const windows = this.windows; + windows.splice(windows.indexOf(window), 1); + } +} +function dispatchWindowTimeSpanOnly(state) { + const { subscriber, windowTimeSpan, window } = state; + if (window) { + subscriber.closeWindow(window); + } + state.window = subscriber.openWindow(); + this.schedule(state, windowTimeSpan); +} +function dispatchWindowCreation(state) { + const { windowTimeSpan, subscriber, scheduler, windowCreationInterval } = state; + const window = subscriber.openWindow(); + const action = this; + let context = { action, subscription: null }; + const timeSpanState = { subscriber, window, context }; + context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState); + action.add(context.subscription); + action.schedule(state, windowCreationInterval); +} +function dispatchWindowClose(state) { + const { subscriber, window, context } = state; + if (context && context.action && context.subscription) { + context.action.remove(context.subscription); + } + subscriber.closeWindow(window); +} +//# sourceMappingURL=windowTime.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js.map new file mode 100644 index 00000000000000..ecb7df056ecd2f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowTime.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowTime.js","sourceRoot":"","sources":["../../src/operators/windowTime.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js new file mode 100644 index 00000000000000..9446b646f2f453 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js @@ -0,0 +1,170 @@ +import { Subject } from '../Subject'; +import { Subscription } from '../Subscription'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Branch out the source Observable values as a nested Observable starting from + * an emission from `openings` and ending when the output of `closingSelector` + * emits. + * + * It's like {@link bufferToggle}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits windows that contain those items + * emitted by the source Observable between the time when the `openings` + * Observable emits an item and when the Observable returned by + * `closingSelector` emits an item. + * + * @example Every other second, emit the click events from the next 500ms + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var openings = Rx.Observable.interval(1000); + * var result = clicks.windowToggle(openings, i => + * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty() + * ).mergeAll(); + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowWhen} + * @see {@link bufferToggle} + * + * @param {Observable} openings An observable of notifications to start new + * windows. + * @param {function(value: O): Observable} closingSelector A function that takes + * the value emitted by the `openings` observable and returns an Observable, + * which, when it emits (either `next` or `complete`), signals that the + * associated window should complete. + * @return {Observable>} An observable of windows, which in turn + * are Observables. + * @method windowToggle + * @owner Observable + */ +export function windowToggle(openings, closingSelector) { + return (source) => source.lift(new WindowToggleOperator(openings, closingSelector)); +} +class WindowToggleOperator { + constructor(openings, closingSelector) { + this.openings = openings; + this.closingSelector = closingSelector; + } + call(subscriber, source) { + return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WindowToggleSubscriber extends OuterSubscriber { + constructor(destination, openings, closingSelector) { + super(destination); + this.openings = openings; + this.closingSelector = closingSelector; + this.contexts = []; + this.add(this.openSubscription = subscribeToResult(this, openings, openings)); + } + _next(value) { + const { contexts } = this; + if (contexts) { + const len = contexts.length; + for (let i = 0; i < len; i++) { + contexts[i].window.next(value); + } + } + } + _error(err) { + const { contexts } = this; + this.contexts = null; + if (contexts) { + const len = contexts.length; + let index = -1; + while (++index < len) { + const context = contexts[index]; + context.window.error(err); + context.subscription.unsubscribe(); + } + } + super._error(err); + } + _complete() { + const { contexts } = this; + this.contexts = null; + if (contexts) { + const len = contexts.length; + let index = -1; + while (++index < len) { + const context = contexts[index]; + context.window.complete(); + context.subscription.unsubscribe(); + } + } + super._complete(); + } + /** @deprecated internal use only */ _unsubscribe() { + const { contexts } = this; + this.contexts = null; + if (contexts) { + const len = contexts.length; + let index = -1; + while (++index < len) { + const context = contexts[index]; + context.window.unsubscribe(); + context.subscription.unsubscribe(); + } + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + if (outerValue === this.openings) { + const { closingSelector } = this; + const closingNotifier = tryCatch(closingSelector)(innerValue); + if (closingNotifier === errorObject) { + return this.error(errorObject.e); + } + else { + const window = new Subject(); + const subscription = new Subscription(); + const context = { window, subscription }; + this.contexts.push(context); + const innerSubscription = subscribeToResult(this, closingNotifier, context); + if (innerSubscription.closed) { + this.closeWindow(this.contexts.length - 1); + } + else { + innerSubscription.context = context; + subscription.add(innerSubscription); + } + this.destination.next(window); + } + } + else { + this.closeWindow(this.contexts.indexOf(outerValue)); + } + } + notifyError(err) { + this.error(err); + } + notifyComplete(inner) { + if (inner !== this.openSubscription) { + this.closeWindow(this.contexts.indexOf(inner.context)); + } + } + closeWindow(index) { + if (index === -1) { + return; + } + const { contexts } = this; + const context = contexts[index]; + const { window, subscription } = context; + contexts.splice(index, 1); + window.complete(); + subscription.unsubscribe(); + } +} +//# sourceMappingURL=windowToggle.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js.map new file mode 100644 index 00000000000000..0ea554fa44eb11 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowToggle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowToggle.js","sourceRoot":"","sources":["../../src/operators/windowToggle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js new file mode 100644 index 00000000000000..922ff048e89a10 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js @@ -0,0 +1,118 @@ +import { Subject } from '../Subject'; +import { tryCatch } from '../util/tryCatch'; +import { errorObject } from '../util/errorObject'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/** + * Branch out the source Observable values as a nested Observable using a + * factory function of closing Observables to determine when to start a new + * window. + * + * It's like {@link bufferWhen}, but emits a nested + * Observable instead of an array. + * + * + * + * Returns an Observable that emits windows of items it collects from the source + * Observable. The output Observable emits connected, non-overlapping windows. + * It emits the current window and opens a new one whenever the Observable + * produced by the specified `closingSelector` function emits an item. The first + * window is opened immediately when subscribing to the output Observable. + * + * @example Emit only the first two clicks events in every window of [1-5] random seconds + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var result = clicks + * .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000)) + * .map(win => win.take(2)) // each window has at most 2 emissions + * .mergeAll(); // flatten the Observable-of-Observables + * result.subscribe(x => console.log(x)); + * + * @see {@link window} + * @see {@link windowCount} + * @see {@link windowTime} + * @see {@link windowToggle} + * @see {@link bufferWhen} + * + * @param {function(): Observable} closingSelector A function that takes no + * arguments and returns an Observable that signals (on either `next` or + * `complete`) when to close the previous window and start a new one. + * @return {Observable>} An observable of windows, which in turn + * are Observables. + * @method windowWhen + * @owner Observable + */ +export function windowWhen(closingSelector) { + return function windowWhenOperatorFunction(source) { + return source.lift(new WindowOperator(closingSelector)); + }; +} +class WindowOperator { + constructor(closingSelector) { + this.closingSelector = closingSelector; + } + call(subscriber, source) { + return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WindowSubscriber extends OuterSubscriber { + constructor(destination, closingSelector) { + super(destination); + this.destination = destination; + this.closingSelector = closingSelector; + this.openWindow(); + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.openWindow(innerSub); + } + notifyError(error, innerSub) { + this._error(error); + } + notifyComplete(innerSub) { + this.openWindow(innerSub); + } + _next(value) { + this.window.next(value); + } + _error(err) { + this.window.error(err); + this.destination.error(err); + this.unsubscribeClosingNotification(); + } + _complete() { + this.window.complete(); + this.destination.complete(); + this.unsubscribeClosingNotification(); + } + unsubscribeClosingNotification() { + if (this.closingNotification) { + this.closingNotification.unsubscribe(); + } + } + openWindow(innerSub = null) { + if (innerSub) { + this.remove(innerSub); + innerSub.unsubscribe(); + } + const prevWindow = this.window; + if (prevWindow) { + prevWindow.complete(); + } + const window = this.window = new Subject(); + this.destination.next(window); + const closingNotifier = tryCatch(this.closingSelector)(); + if (closingNotifier === errorObject) { + const err = errorObject.e; + this.destination.error(err); + this.window.error(err); + } + else { + this.add(this.closingNotification = subscribeToResult(this, closingNotifier)); + } + } +} +//# sourceMappingURL=windowWhen.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js.map new file mode 100644 index 00000000000000..41aa23b143da2e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/windowWhen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"windowWhen.js","sourceRoot":"","sources":["../../src/operators/windowWhen.ts"],"names":[],"mappings":"OAGO,EAAE,OAAO,EAAE,MAAM,YAAY;OAE7B,EAAE,QAAQ,EAAE,MAAM,kBAAkB;OACpC,EAAE,WAAW,EAAE,MAAM,qBAAqB;OAC1C,EAAE,eAAe,EAAE,MAAM,oBAAoB;OAE7C,EAAE,iBAAiB,EAAE,MAAM,2BAA2B;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,2BAA8B,eAAsC;IAClE,MAAM,CAAC,oCAAoC,MAAqB;QAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAI,eAAe,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;IACE,YAAoB,eAAsC;QAAtC,oBAAe,GAAf,eAAe,CAAuB;IAC1D,CAAC;IAED,IAAI,CAAC,UAAqC,EAAE,MAAW;QACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,+BAAkC,eAAe;IAI/C,YAAsB,WAAsC,EACxC,eAAsC;QACxD,MAAM,WAAW,CAAC,CAAC;QAFC,gBAAW,GAAX,WAAW,CAA2B;QACxC,oBAAe,GAAf,eAAe,CAAuB;QAExD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,UAAa,EAAE,UAAe,EAC9B,UAAkB,EAAE,UAAkB,EACtC,QAAiC;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,KAAU,EAAE,QAAiC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,QAAiC;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAES,MAAM,CAAC,GAAQ;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACxC,CAAC;IAEO,8BAA8B;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,QAAQ,GAA4B,IAAI;QACzD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtB,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAK,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACzD,EAAE,CAAC,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js new file mode 100644 index 00000000000000..7916b1ef4708c8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js @@ -0,0 +1,118 @@ +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +/* tslint:enable:max-line-length */ +/** + * Combines the source Observable with other Observables to create an Observable + * whose values are calculated from the latest values of each, only when the + * source emits. + * + * Whenever the source Observable emits a value, it + * computes a formula using that value plus the latest values from other input + * Observables, then emits the output of that formula. + * + * + * + * `withLatestFrom` combines each value from the source Observable (the + * instance) with the latest values from the other input Observables only when + * the source emits a value, optionally using a `project` function to determine + * the value to be emitted on the output Observable. All input Observables must + * emit at least one value before the output Observable will emit a value. + * + * @example On every click event, emit an array with the latest timer event plus the click event + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var timer = Rx.Observable.interval(1000); + * var result = clicks.withLatestFrom(timer); + * result.subscribe(x => console.log(x)); + * + * @see {@link combineLatest} + * + * @param {ObservableInput} other An input Observable to combine with the source + * Observable. More than one input Observables may be given as argument. + * @param {Function} [project] Projection function for combining values + * together. Receives all values in order of the Observables passed, where the + * first parameter is a value from the source Observable. (e.g. + * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not + * passed, arrays will be emitted on the output Observable. + * @return {Observable} An Observable of projected values from the most recent + * values from each input Observable, or an array of the most recent values from + * each input Observable. + * @method withLatestFrom + * @owner Observable + */ +export function withLatestFrom(...args) { + return (source) => { + let project; + if (typeof args[args.length - 1] === 'function') { + project = args.pop(); + } + const observables = args; + return source.lift(new WithLatestFromOperator(observables, project)); + }; +} +class WithLatestFromOperator { + constructor(observables, project) { + this.observables = observables; + this.project = project; + } + call(subscriber, source) { + return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class WithLatestFromSubscriber extends OuterSubscriber { + constructor(destination, observables, project) { + super(destination); + this.observables = observables; + this.project = project; + this.toRespond = []; + const len = observables.length; + this.values = new Array(len); + for (let i = 0; i < len; i++) { + this.toRespond.push(i); + } + for (let i = 0; i < len; i++) { + let observable = observables[i]; + this.add(subscribeToResult(this, observable, observable, i)); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.values[outerIndex] = innerValue; + const toRespond = this.toRespond; + if (toRespond.length > 0) { + const found = toRespond.indexOf(outerIndex); + if (found !== -1) { + toRespond.splice(found, 1); + } + } + } + notifyComplete() { + // noop + } + _next(value) { + if (this.toRespond.length === 0) { + const args = [value, ...this.values]; + if (this.project) { + this._tryProject(args); + } + else { + this.destination.next(args); + } + } + } + _tryProject(args) { + let result; + try { + result = this.project.apply(this, args); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } +} +//# sourceMappingURL=withLatestFrom.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js.map new file mode 100644 index 00000000000000..b7fa614c115d65 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/withLatestFrom.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withLatestFrom.js","sourceRoot":"","sources":["../../src/operators/withLatestFrom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js new file mode 100644 index 00000000000000..3eaf3a69c6ba6b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js @@ -0,0 +1,255 @@ +import { ArrayObservable } from '../observable/ArrayObservable'; +import { isArray } from '../util/isArray'; +import { Subscriber } from '../Subscriber'; +import { OuterSubscriber } from '../OuterSubscriber'; +import { subscribeToResult } from '../util/subscribeToResult'; +import { iterator as Symbol_iterator } from '../symbol/iterator'; +/* tslint:enable:max-line-length */ +/** + * @param observables + * @return {Observable} + * @method zip + * @owner Observable + */ +export function zip(...observables) { + return function zipOperatorFunction(source) { + return source.lift.call(zipStatic(source, ...observables)); + }; +} +/* tslint:enable:max-line-length */ +/** + * Combines multiple Observables to create an Observable whose values are calculated from the values, in order, of each + * of its input Observables. + * + * If the latest parameter is a function, this function is used to compute the created value from the input values. + * Otherwise, an array of the input values is returned. + * + * @example Combine age and name from different sources + * + * let age$ = Observable.of(27, 25, 29); + * let name$ = Observable.of('Foo', 'Bar', 'Beer'); + * let isDev$ = Observable.of(true, true, false); + * + * Observable + * .zip(age$, + * name$, + * isDev$, + * (age: number, name: string, isDev: boolean) => ({ age, name, isDev })) + * .subscribe(x => console.log(x)); + * + * // outputs + * // { age: 27, name: 'Foo', isDev: true } + * // { age: 25, name: 'Bar', isDev: true } + * // { age: 29, name: 'Beer', isDev: false } + * + * @param observables + * @return {Observable} + * @static true + * @name zip + * @owner Observable + */ +export function zipStatic(...observables) { + const project = observables[observables.length - 1]; + if (typeof project === 'function') { + observables.pop(); + } + return new ArrayObservable(observables).lift(new ZipOperator(project)); +} +export class ZipOperator { + constructor(project) { + this.project = project; + } + call(subscriber, source) { + return source.subscribe(new ZipSubscriber(subscriber, this.project)); + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class ZipSubscriber extends Subscriber { + constructor(destination, project, values = Object.create(null)) { + super(destination); + this.iterators = []; + this.active = 0; + this.project = (typeof project === 'function') ? project : null; + this.values = values; + } + _next(value) { + const iterators = this.iterators; + if (isArray(value)) { + iterators.push(new StaticArrayIterator(value)); + } + else if (typeof value[Symbol_iterator] === 'function') { + iterators.push(new StaticIterator(value[Symbol_iterator]())); + } + else { + iterators.push(new ZipBufferIterator(this.destination, this, value)); + } + } + _complete() { + const iterators = this.iterators; + const len = iterators.length; + if (len === 0) { + this.destination.complete(); + return; + } + this.active = len; + for (let i = 0; i < len; i++) { + let iterator = iterators[i]; + if (iterator.stillUnsubscribed) { + this.add(iterator.subscribe(iterator, i)); + } + else { + this.active--; // not an observable + } + } + } + notifyInactive() { + this.active--; + if (this.active === 0) { + this.destination.complete(); + } + } + checkIterators() { + const iterators = this.iterators; + const len = iterators.length; + const destination = this.destination; + // abort if not all of them have values + for (let i = 0; i < len; i++) { + let iterator = iterators[i]; + if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) { + return; + } + } + let shouldComplete = false; + const args = []; + for (let i = 0; i < len; i++) { + let iterator = iterators[i]; + let result = iterator.next(); + // check to see if it's completed now that you've gotten + // the next value. + if (iterator.hasCompleted()) { + shouldComplete = true; + } + if (result.done) { + destination.complete(); + return; + } + args.push(result.value); + } + if (this.project) { + this._tryProject(args); + } + else { + destination.next(args); + } + if (shouldComplete) { + destination.complete(); + } + } + _tryProject(args) { + let result; + try { + result = this.project.apply(this, args); + } + catch (err) { + this.destination.error(err); + return; + } + this.destination.next(result); + } +} +class StaticIterator { + constructor(iterator) { + this.iterator = iterator; + this.nextResult = iterator.next(); + } + hasValue() { + return true; + } + next() { + const result = this.nextResult; + this.nextResult = this.iterator.next(); + return result; + } + hasCompleted() { + const nextResult = this.nextResult; + return nextResult && nextResult.done; + } +} +class StaticArrayIterator { + constructor(array) { + this.array = array; + this.index = 0; + this.length = 0; + this.length = array.length; + } + [Symbol_iterator]() { + return this; + } + next(value) { + const i = this.index++; + const array = this.array; + return i < this.length ? { value: array[i], done: false } : { value: null, done: true }; + } + hasValue() { + return this.array.length > this.index; + } + hasCompleted() { + return this.array.length === this.index; + } +} +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +class ZipBufferIterator extends OuterSubscriber { + constructor(destination, parent, observable) { + super(destination); + this.parent = parent; + this.observable = observable; + this.stillUnsubscribed = true; + this.buffer = []; + this.isComplete = false; + } + [Symbol_iterator]() { + return this; + } + // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next + // this is legit because `next()` will never be called by a subscription in this case. + next() { + const buffer = this.buffer; + if (buffer.length === 0 && this.isComplete) { + return { value: null, done: true }; + } + else { + return { value: buffer.shift(), done: false }; + } + } + hasValue() { + return this.buffer.length > 0; + } + hasCompleted() { + return this.buffer.length === 0 && this.isComplete; + } + notifyComplete() { + if (this.buffer.length > 0) { + this.isComplete = true; + this.parent.notifyInactive(); + } + else { + this.destination.complete(); + } + } + notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) { + this.buffer.push(innerValue); + this.parent.checkIterators(); + } + subscribe(value, index) { + return subscribeToResult(this, this.observable, this, index); + } +} +//# sourceMappingURL=zip.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js.map new file mode 100644 index 00000000000000..7641d5f1f8ae0f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/operators/zip.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js new file mode 100644 index 00000000000000..f6d40749cb88c5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js @@ -0,0 +1,5 @@ +import { ZipOperator } from './zip'; +export function zipAll(project) { + return (source) => source.lift(new ZipOperator(project)); +} +//# sourceMappingURL=zipAll.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js.map new file mode 100644 index 00000000000000..b65b43ce5491f1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/operators/zipAll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zipAll.js","sourceRoot":"","sources":["../../src/operators/zipAll.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,MAAM,OAAO;AAInC,uBAA6B,OAAsC;IACjE,MAAM,CAAC,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/path-mapping.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/path-mapping.js new file mode 100644 index 00000000000000..c261c234f03769 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/path-mapping.js @@ -0,0 +1,465 @@ + +"use strict" + +var path = require('path'); +var dir = path.resolve(__dirname); + +module.exports = function() { + return { + "rxjs/util/tryCatch": path.join(dir, "util/tryCatch.js"), + "rxjs/util/toSubscriber": path.join(dir, "util/toSubscriber.js"), + "rxjs/util/subscribeToResult": path.join(dir, "util/subscribeToResult.js"), + "rxjs/util/root": path.join(dir, "util/root.js"), + "rxjs/util/pipe": path.join(dir, "util/pipe.js"), + "rxjs/util/not": path.join(dir, "util/not.js"), + "rxjs/util/noop": path.join(dir, "util/noop.js"), + "rxjs/util/isScheduler": path.join(dir, "util/isScheduler.js"), + "rxjs/util/isPromise": path.join(dir, "util/isPromise.js"), + "rxjs/util/isObject": path.join(dir, "util/isObject.js"), + "rxjs/util/isNumeric": path.join(dir, "util/isNumeric.js"), + "rxjs/util/isFunction": path.join(dir, "util/isFunction.js"), + "rxjs/util/isDate": path.join(dir, "util/isDate.js"), + "rxjs/util/isArrayLike": path.join(dir, "util/isArrayLike.js"), + "rxjs/util/isArray": path.join(dir, "util/isArray.js"), + "rxjs/util/identity": path.join(dir, "util/identity.js"), + "rxjs/util/errorObject": path.join(dir, "util/errorObject.js"), + "rxjs/util/assign": path.join(dir, "util/assign.js"), + "rxjs/util/applyMixins": path.join(dir, "util/applyMixins.js"), + "rxjs/util/UnsubscriptionError": path.join(dir, "util/UnsubscriptionError.js"), + "rxjs/util/TimeoutError": path.join(dir, "util/TimeoutError.js"), + "rxjs/util/Set": path.join(dir, "util/Set.js"), + "rxjs/util/ObjectUnsubscribedError": path.join(dir, "util/ObjectUnsubscribedError.js"), + "rxjs/util/MapPolyfill": path.join(dir, "util/MapPolyfill.js"), + "rxjs/util/Map": path.join(dir, "util/Map.js"), + "rxjs/util/Immediate": path.join(dir, "util/Immediate.js"), + "rxjs/util/FastMap": path.join(dir, "util/FastMap.js"), + "rxjs/util/EmptyError": path.join(dir, "util/EmptyError.js"), + "rxjs/util/ArgumentOutOfRangeError": path.join(dir, "util/ArgumentOutOfRangeError.js"), + "rxjs/util/AnimationFrame": path.join(dir, "util/AnimationFrame.js"), + "rxjs/testing/TestScheduler": path.join(dir, "testing/TestScheduler.js"), + "rxjs/testing/TestMessage": path.join(dir, "testing/TestMessage.js"), + "rxjs/testing/SubscriptionLoggable": path.join(dir, "testing/SubscriptionLoggable.js"), + "rxjs/testing/SubscriptionLog": path.join(dir, "testing/SubscriptionLog.js"), + "rxjs/testing/HotObservable": path.join(dir, "testing/HotObservable.js"), + "rxjs/testing/ColdObservable": path.join(dir, "testing/ColdObservable.js"), + "rxjs/symbol/rxSubscriber": path.join(dir, "symbol/rxSubscriber.js"), + "rxjs/symbol/observable": path.join(dir, "symbol/observable.js"), + "rxjs/symbol/iterator": path.join(dir, "symbol/iterator.js"), + "rxjs/scheduler/queue": path.join(dir, "scheduler/queue.js"), + "rxjs/scheduler/async": path.join(dir, "scheduler/async.js"), + "rxjs/scheduler/asap": path.join(dir, "scheduler/asap.js"), + "rxjs/scheduler/animationFrame": path.join(dir, "scheduler/animationFrame.js"), + "rxjs/scheduler/VirtualTimeScheduler": path.join(dir, "scheduler/VirtualTimeScheduler.js"), + "rxjs/scheduler/QueueScheduler": path.join(dir, "scheduler/QueueScheduler.js"), + "rxjs/scheduler/QueueAction": path.join(dir, "scheduler/QueueAction.js"), + "rxjs/scheduler/AsyncScheduler": path.join(dir, "scheduler/AsyncScheduler.js"), + "rxjs/scheduler/AsyncAction": path.join(dir, "scheduler/AsyncAction.js"), + "rxjs/scheduler/AsapScheduler": path.join(dir, "scheduler/AsapScheduler.js"), + "rxjs/scheduler/AsapAction": path.join(dir, "scheduler/AsapAction.js"), + "rxjs/scheduler/AnimationFrameScheduler": path.join(dir, "scheduler/AnimationFrameScheduler.js"), + "rxjs/scheduler/AnimationFrameAction": path.join(dir, "scheduler/AnimationFrameAction.js"), + "rxjs/scheduler/Action": path.join(dir, "scheduler/Action.js"), + "rxjs/operators/zipAll": path.join(dir, "operators/zipAll.js"), + "rxjs/operators/zip": path.join(dir, "operators/zip.js"), + "rxjs/operators/withLatestFrom": path.join(dir, "operators/withLatestFrom.js"), + "rxjs/operators/windowWhen": path.join(dir, "operators/windowWhen.js"), + "rxjs/operators/windowToggle": path.join(dir, "operators/windowToggle.js"), + "rxjs/operators/windowTime": path.join(dir, "operators/windowTime.js"), + "rxjs/operators/windowCount": path.join(dir, "operators/windowCount.js"), + "rxjs/operators/window": path.join(dir, "operators/window.js"), + "rxjs/operators/toArray": path.join(dir, "operators/toArray.js"), + "rxjs/operators/timestamp": path.join(dir, "operators/timestamp.js"), + "rxjs/operators/timeoutWith": path.join(dir, "operators/timeoutWith.js"), + "rxjs/operators/timeout": path.join(dir, "operators/timeout.js"), + "rxjs/operators/timeInterval": path.join(dir, "operators/timeInterval.js"), + "rxjs/operators/throttleTime": path.join(dir, "operators/throttleTime.js"), + "rxjs/operators/throttle": path.join(dir, "operators/throttle.js"), + "rxjs/operators/tap": path.join(dir, "operators/tap.js"), + "rxjs/operators/takeWhile": path.join(dir, "operators/takeWhile.js"), + "rxjs/operators/takeUntil": path.join(dir, "operators/takeUntil.js"), + "rxjs/operators/takeLast": path.join(dir, "operators/takeLast.js"), + "rxjs/operators/take": path.join(dir, "operators/take.js"), + "rxjs/operators/switchMapTo": path.join(dir, "operators/switchMapTo.js"), + "rxjs/operators/switchMap": path.join(dir, "operators/switchMap.js"), + "rxjs/operators/switchAll": path.join(dir, "operators/switchAll.js"), + "rxjs/operators/subscribeOn": path.join(dir, "operators/subscribeOn.js"), + "rxjs/operators/startWith": path.join(dir, "operators/startWith.js"), + "rxjs/operators/skipWhile": path.join(dir, "operators/skipWhile.js"), + "rxjs/operators/skipUntil": path.join(dir, "operators/skipUntil.js"), + "rxjs/operators/skipLast": path.join(dir, "operators/skipLast.js"), + "rxjs/operators/skip": path.join(dir, "operators/skip.js"), + "rxjs/operators/single": path.join(dir, "operators/single.js"), + "rxjs/operators/shareReplay": path.join(dir, "operators/shareReplay.js"), + "rxjs/operators/share": path.join(dir, "operators/share.js"), + "rxjs/operators/sequenceEqual": path.join(dir, "operators/sequenceEqual.js"), + "rxjs/operators/scan": path.join(dir, "operators/scan.js"), + "rxjs/operators/sampleTime": path.join(dir, "operators/sampleTime.js"), + "rxjs/operators/sample": path.join(dir, "operators/sample.js"), + "rxjs/operators/retryWhen": path.join(dir, "operators/retryWhen.js"), + "rxjs/operators/retry": path.join(dir, "operators/retry.js"), + "rxjs/operators/repeatWhen": path.join(dir, "operators/repeatWhen.js"), + "rxjs/operators/repeat": path.join(dir, "operators/repeat.js"), + "rxjs/operators/refCount": path.join(dir, "operators/refCount.js"), + "rxjs/operators/reduce": path.join(dir, "operators/reduce.js"), + "rxjs/operators/race": path.join(dir, "operators/race.js"), + "rxjs/operators/publishReplay": path.join(dir, "operators/publishReplay.js"), + "rxjs/operators/publishLast": path.join(dir, "operators/publishLast.js"), + "rxjs/operators/publishBehavior": path.join(dir, "operators/publishBehavior.js"), + "rxjs/operators/publish": path.join(dir, "operators/publish.js"), + "rxjs/operators/pluck": path.join(dir, "operators/pluck.js"), + "rxjs/operators/partition": path.join(dir, "operators/partition.js"), + "rxjs/operators/pairwise": path.join(dir, "operators/pairwise.js"), + "rxjs/operators/onErrorResumeNext": path.join(dir, "operators/onErrorResumeNext.js"), + "rxjs/operators/observeOn": path.join(dir, "operators/observeOn.js"), + "rxjs/operators/multicast": path.join(dir, "operators/multicast.js"), + "rxjs/operators/min": path.join(dir, "operators/min.js"), + "rxjs/operators/mergeScan": path.join(dir, "operators/mergeScan.js"), + "rxjs/operators/mergeMapTo": path.join(dir, "operators/mergeMapTo.js"), + "rxjs/operators/mergeMap": path.join(dir, "operators/mergeMap.js"), + "rxjs/operators/mergeAll": path.join(dir, "operators/mergeAll.js"), + "rxjs/operators/merge": path.join(dir, "operators/merge.js"), + "rxjs/operators/max": path.join(dir, "operators/max.js"), + "rxjs/operators/materialize": path.join(dir, "operators/materialize.js"), + "rxjs/operators/mapTo": path.join(dir, "operators/mapTo.js"), + "rxjs/operators/map": path.join(dir, "operators/map.js"), + "rxjs/operators/last": path.join(dir, "operators/last.js"), + "rxjs/operators/isEmpty": path.join(dir, "operators/isEmpty.js"), + "rxjs/operators/ignoreElements": path.join(dir, "operators/ignoreElements.js"), + "rxjs/operators/groupBy": path.join(dir, "operators/groupBy.js"), + "rxjs/operators/first": path.join(dir, "operators/first.js"), + "rxjs/operators/findIndex": path.join(dir, "operators/findIndex.js"), + "rxjs/operators/find": path.join(dir, "operators/find.js"), + "rxjs/operators/finalize": path.join(dir, "operators/finalize.js"), + "rxjs/operators/filter": path.join(dir, "operators/filter.js"), + "rxjs/operators/expand": path.join(dir, "operators/expand.js"), + "rxjs/operators/exhaustMap": path.join(dir, "operators/exhaustMap.js"), + "rxjs/operators/exhaust": path.join(dir, "operators/exhaust.js"), + "rxjs/operators/every": path.join(dir, "operators/every.js"), + "rxjs/operators/elementAt": path.join(dir, "operators/elementAt.js"), + "rxjs/operators/distinctUntilKeyChanged": path.join(dir, "operators/distinctUntilKeyChanged.js"), + "rxjs/operators/distinctUntilChanged": path.join(dir, "operators/distinctUntilChanged.js"), + "rxjs/operators/distinct": path.join(dir, "operators/distinct.js"), + "rxjs/operators/dematerialize": path.join(dir, "operators/dematerialize.js"), + "rxjs/operators/delayWhen": path.join(dir, "operators/delayWhen.js"), + "rxjs/operators/delay": path.join(dir, "operators/delay.js"), + "rxjs/operators/defaultIfEmpty": path.join(dir, "operators/defaultIfEmpty.js"), + "rxjs/operators/debounceTime": path.join(dir, "operators/debounceTime.js"), + "rxjs/operators/debounce": path.join(dir, "operators/debounce.js"), + "rxjs/operators/count": path.join(dir, "operators/count.js"), + "rxjs/operators/concatMapTo": path.join(dir, "operators/concatMapTo.js"), + "rxjs/operators/concatMap": path.join(dir, "operators/concatMap.js"), + "rxjs/operators/concatAll": path.join(dir, "operators/concatAll.js"), + "rxjs/operators/concat": path.join(dir, "operators/concat.js"), + "rxjs/operators/combineLatest": path.join(dir, "operators/combineLatest.js"), + "rxjs/operators/combineAll": path.join(dir, "operators/combineAll.js"), + "rxjs/operators/catchError": path.join(dir, "operators/catchError.js"), + "rxjs/operators/bufferWhen": path.join(dir, "operators/bufferWhen.js"), + "rxjs/operators/bufferToggle": path.join(dir, "operators/bufferToggle.js"), + "rxjs/operators/bufferTime": path.join(dir, "operators/bufferTime.js"), + "rxjs/operators/bufferCount": path.join(dir, "operators/bufferCount.js"), + "rxjs/operators/buffer": path.join(dir, "operators/buffer.js"), + "rxjs/operators/auditTime": path.join(dir, "operators/auditTime.js"), + "rxjs/operators/audit": path.join(dir, "operators/audit.js"), + "rxjs/operators": path.join(dir, "operators.js"), + "rxjs/operator/zipAll": path.join(dir, "operator/zipAll.js"), + "rxjs/operator/zip": path.join(dir, "operator/zip.js"), + "rxjs/operator/withLatestFrom": path.join(dir, "operator/withLatestFrom.js"), + "rxjs/operator/windowWhen": path.join(dir, "operator/windowWhen.js"), + "rxjs/operator/windowToggle": path.join(dir, "operator/windowToggle.js"), + "rxjs/operator/windowTime": path.join(dir, "operator/windowTime.js"), + "rxjs/operator/windowCount": path.join(dir, "operator/windowCount.js"), + "rxjs/operator/window": path.join(dir, "operator/window.js"), + "rxjs/operator/toPromise": path.join(dir, "operator/toPromise.js"), + "rxjs/operator/toArray": path.join(dir, "operator/toArray.js"), + "rxjs/operator/timestamp": path.join(dir, "operator/timestamp.js"), + "rxjs/operator/timeoutWith": path.join(dir, "operator/timeoutWith.js"), + "rxjs/operator/timeout": path.join(dir, "operator/timeout.js"), + "rxjs/operator/timeInterval": path.join(dir, "operator/timeInterval.js"), + "rxjs/operator/throttleTime": path.join(dir, "operator/throttleTime.js"), + "rxjs/operator/throttle": path.join(dir, "operator/throttle.js"), + "rxjs/operator/takeWhile": path.join(dir, "operator/takeWhile.js"), + "rxjs/operator/takeUntil": path.join(dir, "operator/takeUntil.js"), + "rxjs/operator/takeLast": path.join(dir, "operator/takeLast.js"), + "rxjs/operator/take": path.join(dir, "operator/take.js"), + "rxjs/operator/switchMapTo": path.join(dir, "operator/switchMapTo.js"), + "rxjs/operator/switchMap": path.join(dir, "operator/switchMap.js"), + "rxjs/operator/switch": path.join(dir, "operator/switch.js"), + "rxjs/operator/subscribeOn": path.join(dir, "operator/subscribeOn.js"), + "rxjs/operator/startWith": path.join(dir, "operator/startWith.js"), + "rxjs/operator/skipWhile": path.join(dir, "operator/skipWhile.js"), + "rxjs/operator/skipUntil": path.join(dir, "operator/skipUntil.js"), + "rxjs/operator/skipLast": path.join(dir, "operator/skipLast.js"), + "rxjs/operator/skip": path.join(dir, "operator/skip.js"), + "rxjs/operator/single": path.join(dir, "operator/single.js"), + "rxjs/operator/shareReplay": path.join(dir, "operator/shareReplay.js"), + "rxjs/operator/share": path.join(dir, "operator/share.js"), + "rxjs/operator/sequenceEqual": path.join(dir, "operator/sequenceEqual.js"), + "rxjs/operator/scan": path.join(dir, "operator/scan.js"), + "rxjs/operator/sampleTime": path.join(dir, "operator/sampleTime.js"), + "rxjs/operator/sample": path.join(dir, "operator/sample.js"), + "rxjs/operator/retryWhen": path.join(dir, "operator/retryWhen.js"), + "rxjs/operator/retry": path.join(dir, "operator/retry.js"), + "rxjs/operator/repeatWhen": path.join(dir, "operator/repeatWhen.js"), + "rxjs/operator/repeat": path.join(dir, "operator/repeat.js"), + "rxjs/operator/reduce": path.join(dir, "operator/reduce.js"), + "rxjs/operator/race": path.join(dir, "operator/race.js"), + "rxjs/operator/publishReplay": path.join(dir, "operator/publishReplay.js"), + "rxjs/operator/publishLast": path.join(dir, "operator/publishLast.js"), + "rxjs/operator/publishBehavior": path.join(dir, "operator/publishBehavior.js"), + "rxjs/operator/publish": path.join(dir, "operator/publish.js"), + "rxjs/operator/pluck": path.join(dir, "operator/pluck.js"), + "rxjs/operator/partition": path.join(dir, "operator/partition.js"), + "rxjs/operator/pairwise": path.join(dir, "operator/pairwise.js"), + "rxjs/operator/onErrorResumeNext": path.join(dir, "operator/onErrorResumeNext.js"), + "rxjs/operator/observeOn": path.join(dir, "operator/observeOn.js"), + "rxjs/operator/multicast": path.join(dir, "operator/multicast.js"), + "rxjs/operator/min": path.join(dir, "operator/min.js"), + "rxjs/operator/mergeScan": path.join(dir, "operator/mergeScan.js"), + "rxjs/operator/mergeMapTo": path.join(dir, "operator/mergeMapTo.js"), + "rxjs/operator/mergeMap": path.join(dir, "operator/mergeMap.js"), + "rxjs/operator/mergeAll": path.join(dir, "operator/mergeAll.js"), + "rxjs/operator/merge": path.join(dir, "operator/merge.js"), + "rxjs/operator/max": path.join(dir, "operator/max.js"), + "rxjs/operator/materialize": path.join(dir, "operator/materialize.js"), + "rxjs/operator/mapTo": path.join(dir, "operator/mapTo.js"), + "rxjs/operator/map": path.join(dir, "operator/map.js"), + "rxjs/operator/let": path.join(dir, "operator/let.js"), + "rxjs/operator/last": path.join(dir, "operator/last.js"), + "rxjs/operator/isEmpty": path.join(dir, "operator/isEmpty.js"), + "rxjs/operator/ignoreElements": path.join(dir, "operator/ignoreElements.js"), + "rxjs/operator/groupBy": path.join(dir, "operator/groupBy.js"), + "rxjs/operator/first": path.join(dir, "operator/first.js"), + "rxjs/operator/findIndex": path.join(dir, "operator/findIndex.js"), + "rxjs/operator/find": path.join(dir, "operator/find.js"), + "rxjs/operator/finally": path.join(dir, "operator/finally.js"), + "rxjs/operator/filter": path.join(dir, "operator/filter.js"), + "rxjs/operator/expand": path.join(dir, "operator/expand.js"), + "rxjs/operator/exhaustMap": path.join(dir, "operator/exhaustMap.js"), + "rxjs/operator/exhaust": path.join(dir, "operator/exhaust.js"), + "rxjs/operator/every": path.join(dir, "operator/every.js"), + "rxjs/operator/elementAt": path.join(dir, "operator/elementAt.js"), + "rxjs/operator/do": path.join(dir, "operator/do.js"), + "rxjs/operator/distinctUntilKeyChanged": path.join(dir, "operator/distinctUntilKeyChanged.js"), + "rxjs/operator/distinctUntilChanged": path.join(dir, "operator/distinctUntilChanged.js"), + "rxjs/operator/distinct": path.join(dir, "operator/distinct.js"), + "rxjs/operator/dematerialize": path.join(dir, "operator/dematerialize.js"), + "rxjs/operator/delayWhen": path.join(dir, "operator/delayWhen.js"), + "rxjs/operator/delay": path.join(dir, "operator/delay.js"), + "rxjs/operator/defaultIfEmpty": path.join(dir, "operator/defaultIfEmpty.js"), + "rxjs/operator/debounceTime": path.join(dir, "operator/debounceTime.js"), + "rxjs/operator/debounce": path.join(dir, "operator/debounce.js"), + "rxjs/operator/count": path.join(dir, "operator/count.js"), + "rxjs/operator/concatMapTo": path.join(dir, "operator/concatMapTo.js"), + "rxjs/operator/concatMap": path.join(dir, "operator/concatMap.js"), + "rxjs/operator/concatAll": path.join(dir, "operator/concatAll.js"), + "rxjs/operator/concat": path.join(dir, "operator/concat.js"), + "rxjs/operator/combineLatest": path.join(dir, "operator/combineLatest.js"), + "rxjs/operator/combineAll": path.join(dir, "operator/combineAll.js"), + "rxjs/operator/catch": path.join(dir, "operator/catch.js"), + "rxjs/operator/bufferWhen": path.join(dir, "operator/bufferWhen.js"), + "rxjs/operator/bufferToggle": path.join(dir, "operator/bufferToggle.js"), + "rxjs/operator/bufferTime": path.join(dir, "operator/bufferTime.js"), + "rxjs/operator/bufferCount": path.join(dir, "operator/bufferCount.js"), + "rxjs/operator/buffer": path.join(dir, "operator/buffer.js"), + "rxjs/operator/auditTime": path.join(dir, "operator/auditTime.js"), + "rxjs/operator/audit": path.join(dir, "operator/audit.js"), + "rxjs/observable/zip": path.join(dir, "observable/zip.js"), + "rxjs/observable/using": path.join(dir, "observable/using.js"), + "rxjs/observable/timer": path.join(dir, "observable/timer.js"), + "rxjs/observable/throw": path.join(dir, "observable/throw.js"), + "rxjs/observable/range": path.join(dir, "observable/range.js"), + "rxjs/observable/race": path.join(dir, "observable/race.js"), + "rxjs/observable/pairs": path.join(dir, "observable/pairs.js"), + "rxjs/observable/onErrorResumeNext": path.join(dir, "observable/onErrorResumeNext.js"), + "rxjs/observable/of": path.join(dir, "observable/of.js"), + "rxjs/observable/never": path.join(dir, "observable/never.js"), + "rxjs/observable/merge": path.join(dir, "observable/merge.js"), + "rxjs/observable/interval": path.join(dir, "observable/interval.js"), + "rxjs/observable/if": path.join(dir, "observable/if.js"), + "rxjs/observable/generate": path.join(dir, "observable/generate.js"), + "rxjs/observable/fromPromise": path.join(dir, "observable/fromPromise.js"), + "rxjs/observable/fromEventPattern": path.join(dir, "observable/fromEventPattern.js"), + "rxjs/observable/fromEvent": path.join(dir, "observable/fromEvent.js"), + "rxjs/observable/from": path.join(dir, "observable/from.js"), + "rxjs/observable/forkJoin": path.join(dir, "observable/forkJoin.js"), + "rxjs/observable/empty": path.join(dir, "observable/empty.js"), + "rxjs/observable/dom/webSocket": path.join(dir, "observable/dom/webSocket.js"), + "rxjs/observable/dom/ajax": path.join(dir, "observable/dom/ajax.js"), + "rxjs/observable/dom/WebSocketSubject": path.join(dir, "observable/dom/WebSocketSubject.js"), + "rxjs/observable/dom/AjaxObservable": path.join(dir, "observable/dom/AjaxObservable.js"), + "rxjs/observable/defer": path.join(dir, "observable/defer.js"), + "rxjs/observable/concat": path.join(dir, "observable/concat.js"), + "rxjs/observable/combineLatest": path.join(dir, "observable/combineLatest.js"), + "rxjs/observable/bindNodeCallback": path.join(dir, "observable/bindNodeCallback.js"), + "rxjs/observable/bindCallback": path.join(dir, "observable/bindCallback.js"), + "rxjs/observable/UsingObservable": path.join(dir, "observable/UsingObservable.js"), + "rxjs/observable/TimerObservable": path.join(dir, "observable/TimerObservable.js"), + "rxjs/observable/SubscribeOnObservable": path.join(dir, "observable/SubscribeOnObservable.js"), + "rxjs/observable/ScalarObservable": path.join(dir, "observable/ScalarObservable.js"), + "rxjs/observable/RangeObservable": path.join(dir, "observable/RangeObservable.js"), + "rxjs/observable/PromiseObservable": path.join(dir, "observable/PromiseObservable.js"), + "rxjs/observable/PairsObservable": path.join(dir, "observable/PairsObservable.js"), + "rxjs/observable/NeverObservable": path.join(dir, "observable/NeverObservable.js"), + "rxjs/observable/IteratorObservable": path.join(dir, "observable/IteratorObservable.js"), + "rxjs/observable/IntervalObservable": path.join(dir, "observable/IntervalObservable.js"), + "rxjs/observable/IfObservable": path.join(dir, "observable/IfObservable.js"), + "rxjs/observable/GenerateObservable": path.join(dir, "observable/GenerateObservable.js"), + "rxjs/observable/FromObservable": path.join(dir, "observable/FromObservable.js"), + "rxjs/observable/FromEventPatternObservable": path.join(dir, "observable/FromEventPatternObservable.js"), + "rxjs/observable/FromEventObservable": path.join(dir, "observable/FromEventObservable.js"), + "rxjs/observable/ForkJoinObservable": path.join(dir, "observable/ForkJoinObservable.js"), + "rxjs/observable/ErrorObservable": path.join(dir, "observable/ErrorObservable.js"), + "rxjs/observable/EmptyObservable": path.join(dir, "observable/EmptyObservable.js"), + "rxjs/observable/DeferObservable": path.join(dir, "observable/DeferObservable.js"), + "rxjs/observable/ConnectableObservable": path.join(dir, "observable/ConnectableObservable.js"), + "rxjs/observable/BoundNodeCallbackObservable": path.join(dir, "observable/BoundNodeCallbackObservable.js"), + "rxjs/observable/BoundCallbackObservable": path.join(dir, "observable/BoundCallbackObservable.js"), + "rxjs/observable/ArrayObservable": path.join(dir, "observable/ArrayObservable.js"), + "rxjs/observable/ArrayLikeObservable": path.join(dir, "observable/ArrayLikeObservable.js"), + "rxjs/interfaces": path.join(dir, "interfaces.js"), + "rxjs/add/operator/zipAll": path.join(dir, "add/operator/zipAll.js"), + "rxjs/add/operator/zip": path.join(dir, "add/operator/zip.js"), + "rxjs/add/operator/withLatestFrom": path.join(dir, "add/operator/withLatestFrom.js"), + "rxjs/add/operator/windowWhen": path.join(dir, "add/operator/windowWhen.js"), + "rxjs/add/operator/windowToggle": path.join(dir, "add/operator/windowToggle.js"), + "rxjs/add/operator/windowTime": path.join(dir, "add/operator/windowTime.js"), + "rxjs/add/operator/windowCount": path.join(dir, "add/operator/windowCount.js"), + "rxjs/add/operator/window": path.join(dir, "add/operator/window.js"), + "rxjs/add/operator/toPromise": path.join(dir, "add/operator/toPromise.js"), + "rxjs/add/operator/toArray": path.join(dir, "add/operator/toArray.js"), + "rxjs/add/operator/timestamp": path.join(dir, "add/operator/timestamp.js"), + "rxjs/add/operator/timeoutWith": path.join(dir, "add/operator/timeoutWith.js"), + "rxjs/add/operator/timeout": path.join(dir, "add/operator/timeout.js"), + "rxjs/add/operator/timeInterval": path.join(dir, "add/operator/timeInterval.js"), + "rxjs/add/operator/throttleTime": path.join(dir, "add/operator/throttleTime.js"), + "rxjs/add/operator/throttle": path.join(dir, "add/operator/throttle.js"), + "rxjs/add/operator/takeWhile": path.join(dir, "add/operator/takeWhile.js"), + "rxjs/add/operator/takeUntil": path.join(dir, "add/operator/takeUntil.js"), + "rxjs/add/operator/takeLast": path.join(dir, "add/operator/takeLast.js"), + "rxjs/add/operator/take": path.join(dir, "add/operator/take.js"), + "rxjs/add/operator/switchMapTo": path.join(dir, "add/operator/switchMapTo.js"), + "rxjs/add/operator/switchMap": path.join(dir, "add/operator/switchMap.js"), + "rxjs/add/operator/switch": path.join(dir, "add/operator/switch.js"), + "rxjs/add/operator/subscribeOn": path.join(dir, "add/operator/subscribeOn.js"), + "rxjs/add/operator/startWith": path.join(dir, "add/operator/startWith.js"), + "rxjs/add/operator/skipWhile": path.join(dir, "add/operator/skipWhile.js"), + "rxjs/add/operator/skipUntil": path.join(dir, "add/operator/skipUntil.js"), + "rxjs/add/operator/skipLast": path.join(dir, "add/operator/skipLast.js"), + "rxjs/add/operator/skip": path.join(dir, "add/operator/skip.js"), + "rxjs/add/operator/single": path.join(dir, "add/operator/single.js"), + "rxjs/add/operator/shareReplay": path.join(dir, "add/operator/shareReplay.js"), + "rxjs/add/operator/share": path.join(dir, "add/operator/share.js"), + "rxjs/add/operator/sequenceEqual": path.join(dir, "add/operator/sequenceEqual.js"), + "rxjs/add/operator/scan": path.join(dir, "add/operator/scan.js"), + "rxjs/add/operator/sampleTime": path.join(dir, "add/operator/sampleTime.js"), + "rxjs/add/operator/sample": path.join(dir, "add/operator/sample.js"), + "rxjs/add/operator/retryWhen": path.join(dir, "add/operator/retryWhen.js"), + "rxjs/add/operator/retry": path.join(dir, "add/operator/retry.js"), + "rxjs/add/operator/repeatWhen": path.join(dir, "add/operator/repeatWhen.js"), + "rxjs/add/operator/repeat": path.join(dir, "add/operator/repeat.js"), + "rxjs/add/operator/reduce": path.join(dir, "add/operator/reduce.js"), + "rxjs/add/operator/race": path.join(dir, "add/operator/race.js"), + "rxjs/add/operator/publishReplay": path.join(dir, "add/operator/publishReplay.js"), + "rxjs/add/operator/publishLast": path.join(dir, "add/operator/publishLast.js"), + "rxjs/add/operator/publishBehavior": path.join(dir, "add/operator/publishBehavior.js"), + "rxjs/add/operator/publish": path.join(dir, "add/operator/publish.js"), + "rxjs/add/operator/pluck": path.join(dir, "add/operator/pluck.js"), + "rxjs/add/operator/partition": path.join(dir, "add/operator/partition.js"), + "rxjs/add/operator/pairwise": path.join(dir, "add/operator/pairwise.js"), + "rxjs/add/operator/onErrorResumeNext": path.join(dir, "add/operator/onErrorResumeNext.js"), + "rxjs/add/operator/observeOn": path.join(dir, "add/operator/observeOn.js"), + "rxjs/add/operator/multicast": path.join(dir, "add/operator/multicast.js"), + "rxjs/add/operator/min": path.join(dir, "add/operator/min.js"), + "rxjs/add/operator/mergeScan": path.join(dir, "add/operator/mergeScan.js"), + "rxjs/add/operator/mergeMapTo": path.join(dir, "add/operator/mergeMapTo.js"), + "rxjs/add/operator/mergeMap": path.join(dir, "add/operator/mergeMap.js"), + "rxjs/add/operator/mergeAll": path.join(dir, "add/operator/mergeAll.js"), + "rxjs/add/operator/merge": path.join(dir, "add/operator/merge.js"), + "rxjs/add/operator/max": path.join(dir, "add/operator/max.js"), + "rxjs/add/operator/materialize": path.join(dir, "add/operator/materialize.js"), + "rxjs/add/operator/mapTo": path.join(dir, "add/operator/mapTo.js"), + "rxjs/add/operator/map": path.join(dir, "add/operator/map.js"), + "rxjs/add/operator/let": path.join(dir, "add/operator/let.js"), + "rxjs/add/operator/last": path.join(dir, "add/operator/last.js"), + "rxjs/add/operator/isEmpty": path.join(dir, "add/operator/isEmpty.js"), + "rxjs/add/operator/ignoreElements": path.join(dir, "add/operator/ignoreElements.js"), + "rxjs/add/operator/groupBy": path.join(dir, "add/operator/groupBy.js"), + "rxjs/add/operator/first": path.join(dir, "add/operator/first.js"), + "rxjs/add/operator/findIndex": path.join(dir, "add/operator/findIndex.js"), + "rxjs/add/operator/find": path.join(dir, "add/operator/find.js"), + "rxjs/add/operator/finally": path.join(dir, "add/operator/finally.js"), + "rxjs/add/operator/filter": path.join(dir, "add/operator/filter.js"), + "rxjs/add/operator/expand": path.join(dir, "add/operator/expand.js"), + "rxjs/add/operator/exhaustMap": path.join(dir, "add/operator/exhaustMap.js"), + "rxjs/add/operator/exhaust": path.join(dir, "add/operator/exhaust.js"), + "rxjs/add/operator/every": path.join(dir, "add/operator/every.js"), + "rxjs/add/operator/elementAt": path.join(dir, "add/operator/elementAt.js"), + "rxjs/add/operator/do": path.join(dir, "add/operator/do.js"), + "rxjs/add/operator/distinctUntilKeyChanged": path.join(dir, "add/operator/distinctUntilKeyChanged.js"), + "rxjs/add/operator/distinctUntilChanged": path.join(dir, "add/operator/distinctUntilChanged.js"), + "rxjs/add/operator/distinct": path.join(dir, "add/operator/distinct.js"), + "rxjs/add/operator/dematerialize": path.join(dir, "add/operator/dematerialize.js"), + "rxjs/add/operator/delayWhen": path.join(dir, "add/operator/delayWhen.js"), + "rxjs/add/operator/delay": path.join(dir, "add/operator/delay.js"), + "rxjs/add/operator/defaultIfEmpty": path.join(dir, "add/operator/defaultIfEmpty.js"), + "rxjs/add/operator/debounceTime": path.join(dir, "add/operator/debounceTime.js"), + "rxjs/add/operator/debounce": path.join(dir, "add/operator/debounce.js"), + "rxjs/add/operator/count": path.join(dir, "add/operator/count.js"), + "rxjs/add/operator/concatMapTo": path.join(dir, "add/operator/concatMapTo.js"), + "rxjs/add/operator/concatMap": path.join(dir, "add/operator/concatMap.js"), + "rxjs/add/operator/concatAll": path.join(dir, "add/operator/concatAll.js"), + "rxjs/add/operator/concat": path.join(dir, "add/operator/concat.js"), + "rxjs/add/operator/combineLatest": path.join(dir, "add/operator/combineLatest.js"), + "rxjs/add/operator/combineAll": path.join(dir, "add/operator/combineAll.js"), + "rxjs/add/operator/catch": path.join(dir, "add/operator/catch.js"), + "rxjs/add/operator/bufferWhen": path.join(dir, "add/operator/bufferWhen.js"), + "rxjs/add/operator/bufferToggle": path.join(dir, "add/operator/bufferToggle.js"), + "rxjs/add/operator/bufferTime": path.join(dir, "add/operator/bufferTime.js"), + "rxjs/add/operator/bufferCount": path.join(dir, "add/operator/bufferCount.js"), + "rxjs/add/operator/buffer": path.join(dir, "add/operator/buffer.js"), + "rxjs/add/operator/auditTime": path.join(dir, "add/operator/auditTime.js"), + "rxjs/add/operator/audit": path.join(dir, "add/operator/audit.js"), + "rxjs/add/observable/zip": path.join(dir, "add/observable/zip.js"), + "rxjs/add/observable/using": path.join(dir, "add/observable/using.js"), + "rxjs/add/observable/timer": path.join(dir, "add/observable/timer.js"), + "rxjs/add/observable/throw": path.join(dir, "add/observable/throw.js"), + "rxjs/add/observable/range": path.join(dir, "add/observable/range.js"), + "rxjs/add/observable/race": path.join(dir, "add/observable/race.js"), + "rxjs/add/observable/pairs": path.join(dir, "add/observable/pairs.js"), + "rxjs/add/observable/onErrorResumeNext": path.join(dir, "add/observable/onErrorResumeNext.js"), + "rxjs/add/observable/of": path.join(dir, "add/observable/of.js"), + "rxjs/add/observable/never": path.join(dir, "add/observable/never.js"), + "rxjs/add/observable/merge": path.join(dir, "add/observable/merge.js"), + "rxjs/add/observable/interval": path.join(dir, "add/observable/interval.js"), + "rxjs/add/observable/if": path.join(dir, "add/observable/if.js"), + "rxjs/add/observable/generate": path.join(dir, "add/observable/generate.js"), + "rxjs/add/observable/fromPromise": path.join(dir, "add/observable/fromPromise.js"), + "rxjs/add/observable/fromEventPattern": path.join(dir, "add/observable/fromEventPattern.js"), + "rxjs/add/observable/fromEvent": path.join(dir, "add/observable/fromEvent.js"), + "rxjs/add/observable/from": path.join(dir, "add/observable/from.js"), + "rxjs/add/observable/forkJoin": path.join(dir, "add/observable/forkJoin.js"), + "rxjs/add/observable/empty": path.join(dir, "add/observable/empty.js"), + "rxjs/add/observable/dom/webSocket": path.join(dir, "add/observable/dom/webSocket.js"), + "rxjs/add/observable/dom/ajax": path.join(dir, "add/observable/dom/ajax.js"), + "rxjs/add/observable/defer": path.join(dir, "add/observable/defer.js"), + "rxjs/add/observable/concat": path.join(dir, "add/observable/concat.js"), + "rxjs/add/observable/combineLatest": path.join(dir, "add/observable/combineLatest.js"), + "rxjs/add/observable/bindNodeCallback": path.join(dir, "add/observable/bindNodeCallback.js"), + "rxjs/add/observable/bindCallback": path.join(dir, "add/observable/bindCallback.js"), + "rxjs/Subscription": path.join(dir, "Subscription.js"), + "rxjs/Subscriber": path.join(dir, "Subscriber.js"), + "rxjs/SubjectSubscription": path.join(dir, "SubjectSubscription.js"), + "rxjs/Subject": path.join(dir, "Subject.js"), + "rxjs/Scheduler": path.join(dir, "Scheduler.js"), + "rxjs/Rx": path.join(dir, "Rx.js"), + "rxjs/ReplaySubject": path.join(dir, "ReplaySubject.js"), + "rxjs/OuterSubscriber": path.join(dir, "OuterSubscriber.js"), + "rxjs/Operator": path.join(dir, "Operator.js"), + "rxjs/Observer": path.join(dir, "Observer.js"), + "rxjs/Observable": path.join(dir, "Observable.js"), + "rxjs/Notification": path.join(dir, "Notification.js"), + "rxjs/InnerSubscriber": path.join(dir, "InnerSubscriber.js"), + "rxjs/BehaviorSubject": path.join(dir, "BehaviorSubject.js"), + "rxjs/AsyncSubject": path.join(dir, "AsyncSubject.js") +}; +} diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js new file mode 100644 index 00000000000000..9041748c661304 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js @@ -0,0 +1,34 @@ +import { Subscription } from '../Subscription'; +/** + * A unit of work to be executed in a {@link Scheduler}. An action is typically + * created from within a Scheduler and an RxJS user does not need to concern + * themselves about creating and manipulating an Action. + * + * ```ts + * class Action extends Subscription { + * new (scheduler: Scheduler, work: (state?: T) => void); + * schedule(state?: T, delay: number = 0): Subscription; + * } + * ``` + * + * @class Action + */ +export class Action extends Subscription { + constructor(scheduler, work) { + super(); + } + /** + * Schedules this action on its parent Scheduler for execution. May be passed + * some context object, `state`. May happen at some point in the future, + * according to the `delay` parameter, if specified. + * @param {T} [state] Some contextual data that the `work` function uses when + * called by the Scheduler. + * @param {number} [delay] Time to wait before executing the work, where the + * time unit is implicit and defined by the Scheduler. + * @return {void} + */ + schedule(state, delay = 0) { + return this; + } +} +//# sourceMappingURL=Action.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js.map new file mode 100644 index 00000000000000..a20818ab4b814f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/Action.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/scheduler/Action.ts"],"names":[],"mappings":"OACO,EAAE,YAAY,EAAE,MAAM,iBAAiB;AAE9C;;;;;;;;;;;;;GAaG;AACH,4BAA+B,YAAY;IACzC,YAAY,SAAoB,EAAE,IAA0C;QAC1E,OAAO,CAAC;IACV,CAAC;IACD;;;;;;;;;OASG;IACI,QAAQ,CAAC,KAAS,EAAE,KAAK,GAAW,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js new file mode 100644 index 00000000000000..87a3ea6a479e2d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js @@ -0,0 +1,44 @@ +import { AsyncAction } from './AsyncAction'; +import { AnimationFrame } from '../util/AnimationFrame'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class AnimationFrameAction extends AsyncAction { + constructor(scheduler, work) { + super(scheduler, work); + this.scheduler = scheduler; + this.work = work; + } + requestAsyncId(scheduler, id, delay = 0) { + // If delay is greater than 0, request as an async action. + if (delay !== null && delay > 0) { + return super.requestAsyncId(scheduler, id, delay); + } + // Push the action to the end of the scheduler queue. + scheduler.actions.push(this); + // If an animation frame has already been requested, don't request another + // one. If an animation frame hasn't been requested yet, request one. Return + // the current animation frame request id. + return scheduler.scheduled || (scheduler.scheduled = AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler, null))); + } + recycleAsyncId(scheduler, id, delay = 0) { + // If delay exists and is greater than 0, or if the delay is null (the + // action wasn't rescheduled) but was originally scheduled as an async + // action, then recycle as an async action. + if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) { + return super.recycleAsyncId(scheduler, id, delay); + } + // If the scheduler queue is empty, cancel the requested animation frame and + // set the scheduled flag to undefined so the next AnimationFrameAction will + // request its own. + if (scheduler.actions.length === 0) { + AnimationFrame.cancelAnimationFrame(id); + scheduler.scheduled = undefined; + } + // Return undefined so the action knows to request a new async id if it's rescheduled. + return undefined; + } +} +//# sourceMappingURL=AnimationFrameAction.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js.map new file mode 100644 index 00000000000000..e188c88d87da12 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnimationFrameAction.js","sourceRoot":"","sources":["../../src/scheduler/AnimationFrameAction.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,MAAM,eAAe;OACpC,EAAE,cAAc,EAAE,MAAM,wBAAwB;AAGvD;;;;GAIG;AACH,0CAA6C,WAAW;IAEtD,YAAsB,SAAkC,EAClC,IAAwD;QAC5E,MAAM,SAAS,EAAE,IAAI,CAAC,CAAC;QAFH,cAAS,GAAT,SAAS,CAAyB;QAClC,SAAI,GAAJ,IAAI,CAAoD;IAE9E,CAAC;IAES,cAAc,CAAC,SAAkC,EAAE,EAAQ,EAAE,KAAK,GAAW,CAAC;QACtF,0DAA0D;QAC1D,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,qDAAqD;QACrD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,0EAA0E;QAC1E,4EAA4E;QAC5E,0CAA0C;QAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,qBAAqB,CACvF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CACtC,CAAC,CAAC;IACL,CAAC;IACS,cAAc,CAAC,SAAkC,EAAE,EAAQ,EAAE,KAAK,GAAW,CAAC;QACtF,sEAAsE;QACtE,sEAAsE;QACtE,2CAA2C;QAC3C,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,mBAAmB;QACnB,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YACxC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,sFAAsF;QACtF,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js new file mode 100644 index 00000000000000..cb658cb4c37347 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js @@ -0,0 +1,25 @@ +import { AsyncScheduler } from './AsyncScheduler'; +export class AnimationFrameScheduler extends AsyncScheduler { + flush(action) { + this.active = true; + this.scheduled = undefined; + const { actions } = this; + let error; + let index = -1; + let count = actions.length; + action = action || actions.shift(); + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while (++index < count && (action = actions.shift())); + this.active = false; + if (error) { + while (++index < count && (action = actions.shift())) { + action.unsubscribe(); + } + throw error; + } + } +} +//# sourceMappingURL=AnimationFrameScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js.map new file mode 100644 index 00000000000000..f5b9dd033b5f9e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AnimationFrameScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnimationFrameScheduler.js","sourceRoot":"","sources":["../../src/scheduler/AnimationFrameScheduler.ts"],"names":[],"mappings":"OACO,EAAE,cAAc,EAAE,MAAM,kBAAkB;AAEjD,6CAA6C,cAAc;IAClD,KAAK,CAAC,MAAyB;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QACvB,IAAI,KAAU,CAAC;QACf,IAAI,KAAK,GAAW,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,GAAW,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAEnC,GAAG,CAAC;YACF,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC;YACR,CAAC;QACH,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;QAExD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,OAAO,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js new file mode 100644 index 00000000000000..fad75da77e9abb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js @@ -0,0 +1,44 @@ +import { Immediate } from '../util/Immediate'; +import { AsyncAction } from './AsyncAction'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class AsapAction extends AsyncAction { + constructor(scheduler, work) { + super(scheduler, work); + this.scheduler = scheduler; + this.work = work; + } + requestAsyncId(scheduler, id, delay = 0) { + // If delay is greater than 0, request as an async action. + if (delay !== null && delay > 0) { + return super.requestAsyncId(scheduler, id, delay); + } + // Push the action to the end of the scheduler queue. + scheduler.actions.push(this); + // If a microtask has already been scheduled, don't schedule another + // one. If a microtask hasn't been scheduled yet, schedule one now. Return + // the current scheduled microtask id. + return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null))); + } + recycleAsyncId(scheduler, id, delay = 0) { + // If delay exists and is greater than 0, or if the delay is null (the + // action wasn't rescheduled) but was originally scheduled as an async + // action, then recycle as an async action. + if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) { + return super.recycleAsyncId(scheduler, id, delay); + } + // If the scheduler queue is empty, cancel the requested microtask and + // set the scheduled flag to undefined so the next AsapAction will schedule + // its own. + if (scheduler.actions.length === 0) { + Immediate.clearImmediate(id); + scheduler.scheduled = undefined; + } + // Return undefined so the action knows to request a new async id if it's rescheduled. + return undefined; + } +} +//# sourceMappingURL=AsapAction.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js.map new file mode 100644 index 00000000000000..13de9b010e90d2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsapAction.js","sourceRoot":"","sources":["../../src/scheduler/AsapAction.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB;OACtC,EAAE,WAAW,EAAE,MAAM,eAAe;AAG3C;;;;GAIG;AACH,gCAAmC,WAAW;IAE5C,YAAsB,SAAwB,EACxB,IAA8C;QAClE,MAAM,SAAS,EAAE,IAAI,CAAC,CAAC;QAFH,cAAS,GAAT,SAAS,CAAe;QACxB,SAAI,GAAJ,IAAI,CAA0C;IAEpE,CAAC;IAES,cAAc,CAAC,SAAwB,EAAE,EAAQ,EAAE,KAAK,GAAW,CAAC;QAC5E,0DAA0D;QAC1D,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,qDAAqD;QACrD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,oEAAoE;QACpE,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CACzE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CACtC,CAAC,CAAC;IACL,CAAC;IACS,cAAc,CAAC,SAAwB,EAAE,EAAQ,EAAE,KAAK,GAAW,CAAC;QAC5E,sEAAsE;QACtE,sEAAsE;QACtE,2CAA2C;QAC3C,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,sEAAsE;QACtE,2EAA2E;QAC3E,WAAW;QACX,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC7B,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,sFAAsF;QACtF,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js new file mode 100644 index 00000000000000..d4f637de989efb --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js @@ -0,0 +1,25 @@ +import { AsyncScheduler } from './AsyncScheduler'; +export class AsapScheduler extends AsyncScheduler { + flush(action) { + this.active = true; + this.scheduled = undefined; + const { actions } = this; + let error; + let index = -1; + let count = actions.length; + action = action || actions.shift(); + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while (++index < count && (action = actions.shift())); + this.active = false; + if (error) { + while (++index < count && (action = actions.shift())) { + action.unsubscribe(); + } + throw error; + } + } +} +//# sourceMappingURL=AsapScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js.map new file mode 100644 index 00000000000000..c94e4ce59deaf4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsapScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsapScheduler.js","sourceRoot":"","sources":["../../src/scheduler/AsapScheduler.ts"],"names":[],"mappings":"OACO,EAAE,cAAc,EAAE,MAAM,kBAAkB;AAEjD,mCAAmC,cAAc;IACxC,KAAK,CAAC,MAAyB;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QACvB,IAAI,KAAU,CAAC;QACf,IAAI,KAAK,GAAW,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,GAAW,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAEnC,GAAG,CAAC;YACF,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC;YACR,CAAC;QACH,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;QAExD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,OAAO,EAAE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js new file mode 100644 index 00000000000000..3945f4d162b026 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js @@ -0,0 +1,130 @@ +import { root } from '../util/root'; +import { Action } from './Action'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class AsyncAction extends Action { + constructor(scheduler, work) { + super(scheduler, work); + this.scheduler = scheduler; + this.work = work; + this.pending = false; + } + schedule(state, delay = 0) { + if (this.closed) { + return this; + } + // Always replace the current state with the new state. + this.state = state; + // Set the pending flag indicating that this action has been scheduled, or + // has recursively rescheduled itself. + this.pending = true; + const id = this.id; + const scheduler = this.scheduler; + // + // Important implementation note: + // + // Actions only execute once by default, unless rescheduled from within the + // scheduled callback. This allows us to implement single and repeat + // actions via the same code path, without adding API surface area, as well + // as mimic traditional recursion but across asynchronous boundaries. + // + // However, JS runtimes and timers distinguish between intervals achieved by + // serial `setTimeout` calls vs. a single `setInterval` call. An interval of + // serial `setTimeout` calls can be individually delayed, which delays + // scheduling the next `setTimeout`, and so on. `setInterval` attempts to + // guarantee the interval callback will be invoked more precisely to the + // interval period, regardless of load. + // + // Therefore, we use `setInterval` to schedule single and repeat actions. + // If the action reschedules itself with the same delay, the interval is not + // canceled. If the action doesn't reschedule, or reschedules with a + // different delay, the interval will be canceled after scheduled callback + // execution. + // + if (id != null) { + this.id = this.recycleAsyncId(scheduler, id, delay); + } + this.delay = delay; + // If this action has already an async Id, don't request a new one. + this.id = this.id || this.requestAsyncId(scheduler, this.id, delay); + return this; + } + requestAsyncId(scheduler, id, delay = 0) { + return root.setInterval(scheduler.flush.bind(scheduler, this), delay); + } + recycleAsyncId(scheduler, id, delay = 0) { + // If this action is rescheduled with the same delay time, don't clear the interval id. + if (delay !== null && this.delay === delay && this.pending === false) { + return id; + } + // Otherwise, if the action's delay time is different from the current delay, + // or the action has been rescheduled before it's executed, clear the interval id + return root.clearInterval(id) && undefined || undefined; + } + /** + * Immediately executes this action and the `work` it contains. + * @return {any} + */ + execute(state, delay) { + if (this.closed) { + return new Error('executing a cancelled action'); + } + this.pending = false; + const error = this._execute(state, delay); + if (error) { + return error; + } + else if (this.pending === false && this.id != null) { + // Dequeue if the action didn't reschedule itself. Don't call + // unsubscribe(), because the action could reschedule later. + // For example: + // ``` + // scheduler.schedule(function doWork(counter) { + // /* ... I'm a busy worker bee ... */ + // var originalAction = this; + // /* wait 100ms before rescheduling the action */ + // setTimeout(function () { + // originalAction.schedule(counter + 1); + // }, 100); + // }, 1000); + // ``` + this.id = this.recycleAsyncId(this.scheduler, this.id, null); + } + } + _execute(state, delay) { + let errored = false; + let errorValue = undefined; + try { + this.work(state); + } + catch (e) { + errored = true; + errorValue = !!e && e || new Error(e); + } + if (errored) { + this.unsubscribe(); + return errorValue; + } + } + /** @deprecated internal use only */ _unsubscribe() { + const id = this.id; + const scheduler = this.scheduler; + const actions = scheduler.actions; + const index = actions.indexOf(this); + this.work = null; + this.state = null; + this.pending = false; + this.scheduler = null; + if (index !== -1) { + actions.splice(index, 1); + } + if (id != null) { + this.id = this.recycleAsyncId(scheduler, id, null); + } + this.delay = null; + } +} +//# sourceMappingURL=AsyncAction.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js.map new file mode 100644 index 00000000000000..38d8ec1e96c0bd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsyncAction.js","sourceRoot":"","sources":["../../src/scheduler/AsyncAction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js new file mode 100644 index 00000000000000..059afe1e1ab460 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js @@ -0,0 +1,42 @@ +import { Scheduler } from '../Scheduler'; +export class AsyncScheduler extends Scheduler { + constructor() { + super(...arguments); + this.actions = []; + /** + * A flag to indicate whether the Scheduler is currently executing a batch of + * queued actions. + * @type {boolean} + */ + this.active = false; + /** + * An internal ID used to track the latest asynchronous task such as those + * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and + * others. + * @type {any} + */ + this.scheduled = undefined; + } + flush(action) { + const { actions } = this; + if (this.active) { + actions.push(action); + return; + } + let error; + this.active = true; + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while (action = actions.shift()); // exhaust the scheduler queue + this.active = false; + if (error) { + while (action = actions.shift()) { + action.unsubscribe(); + } + throw error; + } + } +} +//# sourceMappingURL=AsyncScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js.map new file mode 100644 index 00000000000000..0ee89044d17a03 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/AsyncScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AsyncScheduler.js","sourceRoot":"","sources":["../../src/scheduler/AsyncScheduler.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,EAAE,MAAM,cAAc;AAGxC,oCAAoC,SAAS;IAA7C;QAAoC,oBAAS;QACpC,YAAO,GAA4B,EAAE,CAAC;QAC7C;;;;WAIG;QACI,WAAM,GAAY,KAAK,CAAC;QAC/B;;;;;WAKG;QACI,cAAS,GAAQ,SAAS,CAAC;IA6BpC,CAAC;IA3BQ,KAAK,CAAC,MAAwB;QAEnC,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QAEvB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,KAAU,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,GAAG,CAAC;YACF,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC;YACR,CAAC;QACH,CAAC,QAAQ,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B;QAElE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,OAAO,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js new file mode 100644 index 00000000000000..d36421638aa532 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js @@ -0,0 +1,38 @@ +import { AsyncAction } from './AsyncAction'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class QueueAction extends AsyncAction { + constructor(scheduler, work) { + super(scheduler, work); + this.scheduler = scheduler; + this.work = work; + } + schedule(state, delay = 0) { + if (delay > 0) { + return super.schedule(state, delay); + } + this.delay = delay; + this.state = state; + this.scheduler.flush(this); + return this; + } + execute(state, delay) { + return (delay > 0 || this.closed) ? + super.execute(state, delay) : + this._execute(state, delay); + } + requestAsyncId(scheduler, id, delay = 0) { + // If delay exists and is greater than 0, or if the delay is null (the + // action wasn't rescheduled) but was originally scheduled as an async + // action, then recycle as an async action. + if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) { + return super.requestAsyncId(scheduler, id, delay); + } + // Otherwise flush the scheduler starting with this action. + return scheduler.flush(this); + } +} +//# sourceMappingURL=QueueAction.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js.map new file mode 100644 index 00000000000000..04050e5da35f55 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QueueAction.js","sourceRoot":"","sources":["../../src/scheduler/QueueAction.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,MAAM,eAAe;AAI3C;;;;GAIG;AACH,iCAAoC,WAAW;IAE7C,YAAsB,SAAyB,EACzB,IAA+C;QACnE,MAAM,SAAS,EAAE,IAAI,CAAC,CAAC;QAFH,cAAS,GAAT,SAAS,CAAgB;QACzB,SAAI,GAAJ,IAAI,CAA2C;IAErE,CAAC;IAEM,QAAQ,CAAC,KAAS,EAAE,KAAK,GAAW,CAAC;QAC1C,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,KAAQ,EAAE,KAAa;QACpC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAE;IACjC,CAAC;IAES,cAAc,CAAC,SAAyB,EAAE,EAAQ,EAAE,KAAK,GAAW,CAAC;QAC7E,sEAAsE;QACtE,sEAAsE;QACtE,2CAA2C;QAC3C,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,2DAA2D;QAC3D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js new file mode 100644 index 00000000000000..cc1fb4d50f6e2d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js @@ -0,0 +1,4 @@ +import { AsyncScheduler } from './AsyncScheduler'; +export class QueueScheduler extends AsyncScheduler { +} +//# sourceMappingURL=QueueScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js.map new file mode 100644 index 00000000000000..cf4147fcbc263b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/QueueScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QueueScheduler.js","sourceRoot":"","sources":["../../src/scheduler/QueueScheduler.ts"],"names":[],"mappings":"OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB;AAEjD,oCAAoC,cAAc;AAClD,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js new file mode 100644 index 00000000000000..0e6af1ded83434 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js @@ -0,0 +1,94 @@ +import { AsyncAction } from './AsyncAction'; +import { AsyncScheduler } from './AsyncScheduler'; +export class VirtualTimeScheduler extends AsyncScheduler { + constructor(SchedulerAction = VirtualAction, maxFrames = Number.POSITIVE_INFINITY) { + super(SchedulerAction, () => this.frame); + this.maxFrames = maxFrames; + this.frame = 0; + this.index = -1; + } + /** + * Prompt the Scheduler to execute all of its queued actions, therefore + * clearing its queue. + * @return {void} + */ + flush() { + const { actions, maxFrames } = this; + let error, action; + while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) { + if (error = action.execute(action.state, action.delay)) { + break; + } + } + if (error) { + while (action = actions.shift()) { + action.unsubscribe(); + } + throw error; + } + } +} +VirtualTimeScheduler.frameTimeFactor = 10; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class VirtualAction extends AsyncAction { + constructor(scheduler, work, index = scheduler.index += 1) { + super(scheduler, work); + this.scheduler = scheduler; + this.work = work; + this.index = index; + this.active = true; + this.index = scheduler.index = index; + } + schedule(state, delay = 0) { + if (!this.id) { + return super.schedule(state, delay); + } + this.active = false; + // If an action is rescheduled, we save allocations by mutating its state, + // pushing it to the end of the scheduler queue, and recycling the action. + // But since the VirtualTimeScheduler is used for testing, VirtualActions + // must be immutable so they can be inspected later. + const action = new VirtualAction(this.scheduler, this.work); + this.add(action); + return action.schedule(state, delay); + } + requestAsyncId(scheduler, id, delay = 0) { + this.delay = scheduler.frame + delay; + const { actions } = scheduler; + actions.push(this); + actions.sort(VirtualAction.sortActions); + return true; + } + recycleAsyncId(scheduler, id, delay = 0) { + return undefined; + } + _execute(state, delay) { + if (this.active === true) { + return super._execute(state, delay); + } + } + static sortActions(a, b) { + if (a.delay === b.delay) { + if (a.index === b.index) { + return 0; + } + else if (a.index > b.index) { + return 1; + } + else { + return -1; + } + } + else if (a.delay > b.delay) { + return 1; + } + else { + return -1; + } + } +} +//# sourceMappingURL=VirtualTimeScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js.map new file mode 100644 index 00000000000000..174a91ee290f86 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/VirtualTimeScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VirtualTimeScheduler.js","sourceRoot":"","sources":["../../src/scheduler/VirtualTimeScheduler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js new file mode 100644 index 00000000000000..a438fb54455458 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js @@ -0,0 +1,34 @@ +import { AnimationFrameAction } from './AnimationFrameAction'; +import { AnimationFrameScheduler } from './AnimationFrameScheduler'; +/** + * + * Animation Frame Scheduler + * + * Perform task when `window.requestAnimationFrame` would fire + * + * When `animationFrame` scheduler is used with delay, it will fall back to {@link async} scheduler + * behaviour. + * + * Without delay, `animationFrame` scheduler can be used to create smooth browser animations. + * It makes sure scheduled task will happen just before next browser content repaint, + * thus performing animations as efficiently as possible. + * + * @example Schedule div height animation + * const div = document.querySelector('.some-div'); + * + * Rx.Scheduler.schedule(function(height) { + * div.style.height = height + "px"; + * + * this.schedule(height + 1); // `this` references currently executing Action, + * // which we reschedule with new state + * }, 0, 0); + * + * // You will see .some-div element growing in height + * + * + * @static true + * @name animationFrame + * @owner Scheduler + */ +export const animationFrame = new AnimationFrameScheduler(AnimationFrameAction); +//# sourceMappingURL=animationFrame.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js.map new file mode 100644 index 00000000000000..1860229ef1de41 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/animationFrame.js.map @@ -0,0 +1 @@ +{"version":3,"file":"animationFrame.js","sourceRoot":"","sources":["../../src/scheduler/animationFrame.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB;OACtD,EAAE,uBAAuB,EAAE,MAAM,2BAA2B;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,MAAM,cAAc,GAAG,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js new file mode 100644 index 00000000000000..0352430838f7c5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js @@ -0,0 +1,38 @@ +import { AsapAction } from './AsapAction'; +import { AsapScheduler } from './AsapScheduler'; +/** + * + * Asap Scheduler + * + * Perform task as fast as it can be performed asynchronously + * + * `asap` scheduler behaves the same as {@link async} scheduler when you use it to delay task + * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing + * code to end and then it will try to execute given task as fast as possible. + * + * `asap` scheduler will do its best to minimize time between end of currently executing code + * and start of scheduled task. This makes it best candidate for performing so called "deferring". + * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves + * some (although minimal) unwanted delay. + * + * Note that using `asap` scheduler does not necessarily mean that your task will be first to process + * after currently executing code. In particular, if some task was also scheduled with `asap` before, + * that task will execute first. That being said, if you need to schedule task asynchronously, but + * as soon as possible, `asap` scheduler is your best bet. + * + * @example Compare async and asap scheduler + * + * Rx.Scheduler.async.schedule(() => console.log('async')); // scheduling 'async' first... + * Rx.Scheduler.asap.schedule(() => console.log('asap')); + * + * // Logs: + * // "asap" + * // "async" + * // ... but 'asap' goes first! + * + * @static true + * @name asap + * @owner Scheduler + */ +export const asap = new AsapScheduler(AsapAction); +//# sourceMappingURL=asap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js.map new file mode 100644 index 00000000000000..0dcdbd90da6405 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/asap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"asap.js","sourceRoot":"","sources":["../../src/scheduler/asap.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,cAAc;OAClC,EAAE,aAAa,EAAE,MAAM,iBAAiB;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js new file mode 100644 index 00000000000000..ead77af2cbdd4b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js @@ -0,0 +1,46 @@ +import { AsyncAction } from './AsyncAction'; +import { AsyncScheduler } from './AsyncScheduler'; +/** + * + * Async Scheduler + * + * Schedule task as if you used setTimeout(task, duration) + * + * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript + * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating + * in intervals. + * + * If you just want to "defer" task, that is to perform it right after currently + * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`), + * better choice will be the {@link asap} scheduler. + * + * @example Use async scheduler to delay task + * const task = () => console.log('it works!'); + * + * Rx.Scheduler.async.schedule(task, 2000); + * + * // After 2 seconds logs: + * // "it works!" + * + * + * @example Use async scheduler to repeat task in intervals + * function task(state) { + * console.log(state); + * this.schedule(state + 1, 1000); // `this` references currently executing Action, + * // which we reschedule with new state and delay + * } + * + * Rx.Scheduler.async.schedule(task, 3000, 0); + * + * // Logs: + * // 0 after 3s + * // 1 after 4s + * // 2 after 5s + * // 3 after 6s + * + * @static true + * @name async + * @owner Scheduler + */ +export const async = new AsyncScheduler(AsyncAction); +//# sourceMappingURL=async.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js.map new file mode 100644 index 00000000000000..17d999f3e0fd73 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/async.js.map @@ -0,0 +1 @@ +{"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/scheduler/async.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,MAAM,eAAe;OACpC,EAAE,cAAc,EAAE,MAAM,kBAAkB;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js new file mode 100644 index 00000000000000..379be46a6aebdd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js @@ -0,0 +1,65 @@ +import { QueueAction } from './QueueAction'; +import { QueueScheduler } from './QueueScheduler'; +/** + * + * Queue Scheduler + * + * Put every next task on a queue, instead of executing it immediately + * + * `queue` scheduler, when used with delay, behaves the same as {@link async} scheduler. + * + * When used without delay, it schedules given task synchronously - executes it right when + * it is scheduled. However when called recursively, that is when inside the scheduled task, + * another task is scheduled with queue scheduler, instead of executing immediately as well, + * that task will be put on a queue and wait for current one to finish. + * + * This means that when you execute task with `queue` scheduler, you are sure it will end + * before any other task scheduled with that scheduler will start. + * + * @examples Schedule recursively first, then do something + * + * Rx.Scheduler.queue.schedule(() => { + * Rx.Scheduler.queue.schedule(() => console.log('second')); // will not happen now, but will be put on a queue + * + * console.log('first'); + * }); + * + * // Logs: + * // "first" + * // "second" + * + * + * @example Reschedule itself recursively + * + * Rx.Scheduler.queue.schedule(function(state) { + * if (state !== 0) { + * console.log('before', state); + * this.schedule(state - 1); // `this` references currently executing Action, + * // which we reschedule with new state + * console.log('after', state); + * } + * }, 0, 3); + * + * // In scheduler that runs recursively, you would expect: + * // "before", 3 + * // "before", 2 + * // "before", 1 + * // "after", 1 + * // "after", 2 + * // "after", 3 + * + * // But with queue it logs: + * // "before", 3 + * // "after", 3 + * // "before", 2 + * // "after", 2 + * // "before", 1 + * // "after", 1 + * + * + * @static true + * @name queue + * @owner Scheduler + */ +export const queue = new QueueScheduler(QueueAction); +//# sourceMappingURL=queue.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js.map new file mode 100644 index 00000000000000..62ac9511f986a3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/scheduler/queue.js.map @@ -0,0 +1 @@ +{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/scheduler/queue.ts"],"names":[],"mappings":"OAAO,EAAE,WAAW,EAAE,MAAM,eAAe;OACpC,EAAE,cAAc,EAAE,MAAM,kBAAkB;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js new file mode 100644 index 00000000000000..01a5b6784a4fae --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js @@ -0,0 +1,36 @@ +import { root } from '../util/root'; +export function symbolIteratorPonyfill(root) { + const Symbol = root.Symbol; + if (typeof Symbol === 'function') { + if (!Symbol.iterator) { + Symbol.iterator = Symbol('iterator polyfill'); + } + return Symbol.iterator; + } + else { + // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC) + const { Set } = root; + if (Set && typeof new Set()['@@iterator'] === 'function') { + return '@@iterator'; + } + const { Map } = root; + // required for compatability with es6-shim + if (Map) { + let keys = Object.getOwnPropertyNames(Map.prototype); + for (let i = 0; i < keys.length; ++i) { + let key = keys[i]; + // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal. + if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) { + return key; + } + } + } + return '@@iterator'; + } +} +export const iterator = symbolIteratorPonyfill(root); +/** + * @deprecated use iterator instead + */ +export const $$iterator = iterator; +//# sourceMappingURL=iterator.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js.map new file mode 100644 index 00000000000000..f03cb83f78d96a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/iterator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../src/symbol/iterator.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,cAAc;AAEnC,uCAAuC,IAAS;IAC9C,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,CAAC;IAEhC,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,qDAAqD;QACrD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,2CAA2C;QAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACR,IAAI,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,wFAAwF;gBACxF,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3F,MAAM,CAAC,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED,OAAO,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAErD;;GAEG;AACH,OAAO,MAAM,UAAU,GAAG,QAAQ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js new file mode 100644 index 00000000000000..9ae6dd9597c761 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js @@ -0,0 +1,24 @@ +import { root } from '../util/root'; +export function getSymbolObservable(context) { + let $$observable; + let Symbol = context.Symbol; + if (typeof Symbol === 'function') { + if (Symbol.observable) { + $$observable = Symbol.observable; + } + else { + $$observable = Symbol('observable'); + Symbol.observable = $$observable; + } + } + else { + $$observable = '@@observable'; + } + return $$observable; +} +export const observable = getSymbolObservable(root); +/** + * @deprecated use observable instead + */ +export const $$observable = observable; +//# sourceMappingURL=observable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js.map new file mode 100644 index 00000000000000..f94361beb91b35 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/observable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/symbol/observable.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,cAAc;AAEnC,oCAAoC,OAAY;IAC9C,IAAI,YAAiB,CAAC;IACtB,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE5B,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtB,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;QACnC,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACpC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,YAAY,GAAG,cAAc,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC;AACtB,CAAC;AAED,OAAO,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAEpD;;GAEG;AACH,OAAO,MAAM,YAAY,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js new file mode 100644 index 00000000000000..c1cf01405b7b56 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js @@ -0,0 +1,9 @@ +import { root } from '../util/root'; +const Symbol = root.Symbol; +export const rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ? + Symbol.for('rxSubscriber') : '@@rxSubscriber'; +/** + * @deprecated use rxSubscriber instead + */ +export const $$rxSubscriber = rxSubscriber; +//# sourceMappingURL=rxSubscriber.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js.map new file mode 100644 index 00000000000000..99a1185cbd9352 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/symbol/rxSubscriber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rxSubscriber.js","sourceRoot":"","sources":["../../src/symbol/rxSubscriber.ts"],"names":[],"mappings":"OAAO,EAAE,IAAI,EAAE,MAAM,cAAc;AAEnC,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,CAAC;AAEhC,OAAO,MAAM,YAAY,GAAG,CAAC,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC;IAC5F,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;AAEhD;;GAEG;AACH,OAAO,MAAM,cAAc,GAAG,YAAY,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js new file mode 100644 index 00000000000000..7976f930c27bed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js @@ -0,0 +1,34 @@ +import { Observable } from '../Observable'; +import { Subscription } from '../Subscription'; +import { SubscriptionLoggable } from './SubscriptionLoggable'; +import { applyMixins } from '../util/applyMixins'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class ColdObservable extends Observable { + constructor(messages, scheduler) { + super(function (subscriber) { + const observable = this; + const index = observable.logSubscribedFrame(); + subscriber.add(new Subscription(() => { + observable.logUnsubscribedFrame(index); + })); + observable.scheduleMessages(subscriber); + return subscriber; + }); + this.messages = messages; + this.subscriptions = []; + this.scheduler = scheduler; + } + scheduleMessages(subscriber) { + const messagesLength = this.messages.length; + for (let i = 0; i < messagesLength; i++) { + const message = this.messages[i]; + subscriber.add(this.scheduler.schedule(({ message, subscriber }) => { message.notification.observe(subscriber); }, message.frame, { message, subscriber })); + } + } +} +applyMixins(ColdObservable, [SubscriptionLoggable]); +//# sourceMappingURL=ColdObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js.map new file mode 100644 index 00000000000000..bd0f2269e0127e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/ColdObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ColdObservable.js","sourceRoot":"","sources":["../../src/testing/ColdObservable.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAM,eAAe;OACnC,EAAE,YAAY,EAAE,MAAM,iBAAiB;OAIvC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB;OACtD,EAAE,WAAW,EAAE,MAAM,qBAAqB;AAGjD;;;;GAIG;AACH,oCAAuC,UAAU;IAM/C,YAAmB,QAAuB,EAC9B,SAAoB;QAC9B,MAAM,UAAmC,UAA2B;YAClE,MAAM,UAAU,GAAsB,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC9C,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;gBAC9B,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,CAAC;YACJ,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QAVc,aAAQ,GAAR,QAAQ,CAAe;QALnC,kBAAa,GAAsB,EAAE,CAAC;QAgB3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,UAA2B;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC9F,OAAO,CAAC,KAAK,EACb,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AACD,WAAW,CAAC,cAAc,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js new file mode 100644 index 00000000000000..85e9cef3d2a9c8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js @@ -0,0 +1,39 @@ +import { Subject } from '../Subject'; +import { Subscription } from '../Subscription'; +import { SubscriptionLoggable } from './SubscriptionLoggable'; +import { applyMixins } from '../util/applyMixins'; +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +export class HotObservable extends Subject { + constructor(messages, scheduler) { + super(); + this.messages = messages; + this.subscriptions = []; + this.scheduler = scheduler; + } + /** @deprecated internal use only */ _subscribe(subscriber) { + const subject = this; + const index = subject.logSubscribedFrame(); + subscriber.add(new Subscription(() => { + subject.logUnsubscribedFrame(index); + })); + return super._subscribe(subscriber); + } + setup() { + const subject = this; + const messagesLength = subject.messages.length; + /* tslint:disable:no-var-keyword */ + for (var i = 0; i < messagesLength; i++) { + (() => { + var message = subject.messages[i]; + /* tslint:enable */ + subject.scheduler.schedule(() => { message.notification.observe(subject); }, message.frame); + })(); + } + } +} +applyMixins(HotObservable, [SubscriptionLoggable]); +//# sourceMappingURL=HotObservable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js.map new file mode 100644 index 00000000000000..a1afdd85ea542a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/HotObservable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"HotObservable.js","sourceRoot":"","sources":["../../src/testing/HotObservable.ts"],"names":[],"mappings":"OAAO,EAAE,OAAO,EAAE,MAAM,YAAY;OAE7B,EAAE,YAAY,EAAE,MAAM,iBAAiB;OAIvC,EAAE,oBAAoB,EAAE,MAAM,wBAAwB;OACtD,EAAE,WAAW,EAAE,MAAM,qBAAqB;AAEjD;;;;GAIG;AACH,mCAAsC,OAAO;IAM3C,YAAmB,QAAuB,EAC9B,SAAoB;QAC9B,OAAO,CAAC;QAFS,aAAQ,GAAR,QAAQ,CAAe;QALnC,kBAAa,GAAsB,EAAE,CAAC;QAQ3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,oCAAoC,CAAC,UAAU,CAAC,UAA2B;QACzE,MAAM,OAAO,GAAqB,IAAI,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC3C,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;YAC9B,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,mCAAmC;QACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,CAAC;gBACC,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,mBAAmB;gBACd,OAAO,CAAC,SAAS,CAAC,QAAQ,CACxB,QAAQ,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAChD,OAAO,CAAC,KAAK,CACd,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;IACH,CAAC;AACH,CAAC;AACD,WAAW,CAAC,aAAa,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js new file mode 100644 index 00000000000000..c421751b2f1ea2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js @@ -0,0 +1,7 @@ +export class SubscriptionLog { + constructor(subscribedFrame, unsubscribedFrame = Number.POSITIVE_INFINITY) { + this.subscribedFrame = subscribedFrame; + this.unsubscribedFrame = unsubscribedFrame; + } +} +//# sourceMappingURL=SubscriptionLog.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js.map new file mode 100644 index 00000000000000..289ca5b305fb85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLog.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SubscriptionLog.js","sourceRoot":"","sources":["../../src/testing/SubscriptionLog.ts"],"names":[],"mappings":"AAAA;IACE,YAAmB,eAAuB,EACvB,iBAAiB,GAAW,MAAM,CAAC,iBAAiB;QADpD,oBAAe,GAAf,eAAe,CAAQ;QACvB,sBAAiB,GAAjB,iBAAiB,CAAmC;IACvE,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js new file mode 100644 index 00000000000000..08a00d72fa646e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js @@ -0,0 +1,16 @@ +import { SubscriptionLog } from './SubscriptionLog'; +export class SubscriptionLoggable { + constructor() { + this.subscriptions = []; + } + logSubscribedFrame() { + this.subscriptions.push(new SubscriptionLog(this.scheduler.now())); + return this.subscriptions.length - 1; + } + logUnsubscribedFrame(index) { + const subscriptionLogs = this.subscriptions; + const oldSubscriptionLog = subscriptionLogs[index]; + subscriptionLogs[index] = new SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now()); + } +} +//# sourceMappingURL=SubscriptionLoggable.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js.map new file mode 100644 index 00000000000000..8f77dbf7510920 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/SubscriptionLoggable.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SubscriptionLoggable.js","sourceRoot":"","sources":["../../src/testing/SubscriptionLoggable.ts"],"names":[],"mappings":"OACO,EAAE,eAAe,EAAE,MAAM,mBAAmB;AAEnD;IAAA;QACS,kBAAa,GAAsB,EAAE,CAAC;IAgB/C,CAAC;IAbC,kBAAkB;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,CAC3C,kBAAkB,CAAC,eAAe,EAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js new file mode 100644 index 00000000000000..908175c73a0c21 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js @@ -0,0 +1 @@ +//# sourceMappingURL=TestMessage.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js.map new file mode 100644 index 00000000000000..33ebfba42994af --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TestMessage.js","sourceRoot":"","sources":["../../src/testing/TestMessage.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js new file mode 100644 index 00000000000000..5f0fa8ac6e4c8a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js @@ -0,0 +1,208 @@ +import { Observable } from '../Observable'; +import { Notification } from '../Notification'; +import { ColdObservable } from './ColdObservable'; +import { HotObservable } from './HotObservable'; +import { SubscriptionLog } from './SubscriptionLog'; +import { VirtualTimeScheduler, VirtualAction } from '../scheduler/VirtualTimeScheduler'; +const defaultMaxFrame = 750; +export class TestScheduler extends VirtualTimeScheduler { + constructor(assertDeepEqual) { + super(VirtualAction, defaultMaxFrame); + this.assertDeepEqual = assertDeepEqual; + this.hotObservables = []; + this.coldObservables = []; + this.flushTests = []; + } + createTime(marbles) { + const indexOf = marbles.indexOf('|'); + if (indexOf === -1) { + throw new Error('marble diagram for time should have a completion marker "|"'); + } + return indexOf * TestScheduler.frameTimeFactor; + } + createColdObservable(marbles, values, error) { + if (marbles.indexOf('^') !== -1) { + throw new Error('cold observable cannot have subscription offset "^"'); + } + if (marbles.indexOf('!') !== -1) { + throw new Error('cold observable cannot have unsubscription marker "!"'); + } + const messages = TestScheduler.parseMarbles(marbles, values, error); + const cold = new ColdObservable(messages, this); + this.coldObservables.push(cold); + return cold; + } + createHotObservable(marbles, values, error) { + if (marbles.indexOf('!') !== -1) { + throw new Error('hot observable cannot have unsubscription marker "!"'); + } + const messages = TestScheduler.parseMarbles(marbles, values, error); + const subject = new HotObservable(messages, this); + this.hotObservables.push(subject); + return subject; + } + materializeInnerObservable(observable, outerFrame) { + const messages = []; + observable.subscribe((value) => { + messages.push({ frame: this.frame - outerFrame, notification: Notification.createNext(value) }); + }, (err) => { + messages.push({ frame: this.frame - outerFrame, notification: Notification.createError(err) }); + }, () => { + messages.push({ frame: this.frame - outerFrame, notification: Notification.createComplete() }); + }); + return messages; + } + expectObservable(observable, unsubscriptionMarbles = null) { + const actual = []; + const flushTest = { actual, ready: false }; + const unsubscriptionFrame = TestScheduler + .parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame; + let subscription; + this.schedule(() => { + subscription = observable.subscribe(x => { + let value = x; + // Support Observable-of-Observables + if (x instanceof Observable) { + value = this.materializeInnerObservable(value, this.frame); + } + actual.push({ frame: this.frame, notification: Notification.createNext(value) }); + }, (err) => { + actual.push({ frame: this.frame, notification: Notification.createError(err) }); + }, () => { + actual.push({ frame: this.frame, notification: Notification.createComplete() }); + }); + }, 0); + if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) { + this.schedule(() => subscription.unsubscribe(), unsubscriptionFrame); + } + this.flushTests.push(flushTest); + return { + toBe(marbles, values, errorValue) { + flushTest.ready = true; + flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true); + } + }; + } + expectSubscriptions(actualSubscriptionLogs) { + const flushTest = { actual: actualSubscriptionLogs, ready: false }; + this.flushTests.push(flushTest); + return { + toBe(marbles) { + const marblesArray = (typeof marbles === 'string') ? [marbles] : marbles; + flushTest.ready = true; + flushTest.expected = marblesArray.map(marbles => TestScheduler.parseMarblesAsSubscriptions(marbles)); + } + }; + } + flush() { + const hotObservables = this.hotObservables; + while (hotObservables.length > 0) { + hotObservables.shift().setup(); + } + super.flush(); + const readyFlushTests = this.flushTests.filter(test => test.ready); + while (readyFlushTests.length > 0) { + const test = readyFlushTests.shift(); + this.assertDeepEqual(test.actual, test.expected); + } + } + static parseMarblesAsSubscriptions(marbles) { + if (typeof marbles !== 'string') { + return new SubscriptionLog(Number.POSITIVE_INFINITY); + } + const len = marbles.length; + let groupStart = -1; + let subscriptionFrame = Number.POSITIVE_INFINITY; + let unsubscriptionFrame = Number.POSITIVE_INFINITY; + for (let i = 0; i < len; i++) { + const frame = i * this.frameTimeFactor; + const c = marbles[i]; + switch (c) { + case '-': + case ' ': + break; + case '(': + groupStart = frame; + break; + case ')': + groupStart = -1; + break; + case '^': + if (subscriptionFrame !== Number.POSITIVE_INFINITY) { + throw new Error('found a second subscription point \'^\' in a ' + + 'subscription marble diagram. There can only be one.'); + } + subscriptionFrame = groupStart > -1 ? groupStart : frame; + break; + case '!': + if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) { + throw new Error('found a second subscription point \'^\' in a ' + + 'subscription marble diagram. There can only be one.'); + } + unsubscriptionFrame = groupStart > -1 ? groupStart : frame; + break; + default: + throw new Error('there can only be \'^\' and \'!\' markers in a ' + + 'subscription marble diagram. Found instead \'' + c + '\'.'); + } + } + if (unsubscriptionFrame < 0) { + return new SubscriptionLog(subscriptionFrame); + } + else { + return new SubscriptionLog(subscriptionFrame, unsubscriptionFrame); + } + } + static parseMarbles(marbles, values, errorValue, materializeInnerObservables = false) { + if (marbles.indexOf('!') !== -1) { + throw new Error('conventional marble diagrams cannot have the ' + + 'unsubscription marker "!"'); + } + const len = marbles.length; + const testMessages = []; + const subIndex = marbles.indexOf('^'); + const frameOffset = subIndex === -1 ? 0 : (subIndex * -this.frameTimeFactor); + const getValue = typeof values !== 'object' ? + (x) => x : + (x) => { + // Support Observable-of-Observables + if (materializeInnerObservables && values[x] instanceof ColdObservable) { + return values[x].messages; + } + return values[x]; + }; + let groupStart = -1; + for (let i = 0; i < len; i++) { + const frame = i * this.frameTimeFactor + frameOffset; + let notification; + const c = marbles[i]; + switch (c) { + case '-': + case ' ': + break; + case '(': + groupStart = frame; + break; + case ')': + groupStart = -1; + break; + case '|': + notification = Notification.createComplete(); + break; + case '^': + break; + case '#': + notification = Notification.createError(errorValue || 'error'); + break; + default: + notification = Notification.createNext(getValue(c)); + break; + } + if (notification) { + testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification }); + } + } + return testMessages; + } +} +//# sourceMappingURL=TestScheduler.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js.map new file mode 100644 index 00000000000000..8deed433893c20 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/testing/TestScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TestScheduler.js","sourceRoot":"","sources":["../../src/testing/TestScheduler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js new file mode 100644 index 00000000000000..5bdac9f3a23841 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js @@ -0,0 +1,31 @@ +import { root } from './root'; +export class RequestAnimationFrameDefinition { + constructor(root) { + if (root.requestAnimationFrame) { + this.cancelAnimationFrame = root.cancelAnimationFrame.bind(root); + this.requestAnimationFrame = root.requestAnimationFrame.bind(root); + } + else if (root.mozRequestAnimationFrame) { + this.cancelAnimationFrame = root.mozCancelAnimationFrame.bind(root); + this.requestAnimationFrame = root.mozRequestAnimationFrame.bind(root); + } + else if (root.webkitRequestAnimationFrame) { + this.cancelAnimationFrame = root.webkitCancelAnimationFrame.bind(root); + this.requestAnimationFrame = root.webkitRequestAnimationFrame.bind(root); + } + else if (root.msRequestAnimationFrame) { + this.cancelAnimationFrame = root.msCancelAnimationFrame.bind(root); + this.requestAnimationFrame = root.msRequestAnimationFrame.bind(root); + } + else if (root.oRequestAnimationFrame) { + this.cancelAnimationFrame = root.oCancelAnimationFrame.bind(root); + this.requestAnimationFrame = root.oRequestAnimationFrame.bind(root); + } + else { + this.cancelAnimationFrame = root.clearTimeout.bind(root); + this.requestAnimationFrame = function (cb) { return root.setTimeout(cb, 1000 / 60); }; + } + } +} +export const AnimationFrame = new RequestAnimationFrameDefinition(root); +//# sourceMappingURL=AnimationFrame.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js.map new file mode 100644 index 00000000000000..359bbf4ad01f1b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/AnimationFrame.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AnimationFrame.js","sourceRoot":"","sources":["../../src/util/AnimationFrame.ts"],"names":[],"mappings":"OAAO,EAAG,IAAI,EAAG,MAAM,QAAQ;AAE/B;IAGE,YAAY,IAAS;QACnB,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,qBAAqB,GAAG,UAAS,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;AACH,CAAC;AAED,OAAO,MAAM,cAAc,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js new file mode 100644 index 00000000000000..6757804b9e968e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js @@ -0,0 +1,19 @@ +/** + * An error thrown when an element was queried at a certain index of an + * Observable, but no such index or position exists in that sequence. + * + * @see {@link elementAt} + * @see {@link take} + * @see {@link takeLast} + * + * @class ArgumentOutOfRangeError + */ +export class ArgumentOutOfRangeError extends Error { + constructor() { + const err = super('argument out of range'); + this.name = err.name = 'ArgumentOutOfRangeError'; + this.stack = err.stack; + this.message = err.message; + } +} +//# sourceMappingURL=ArgumentOutOfRangeError.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js.map new file mode 100644 index 00000000000000..3764615bd375d6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/ArgumentOutOfRangeError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ArgumentOutOfRangeError.js","sourceRoot":"","sources":["../../src/util/ArgumentOutOfRangeError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,6CAA6C,KAAK;IAChD;QACE,MAAM,GAAG,GAAQ,MAAM,uBAAuB,CAAC,CAAC;QACzC,IAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,yBAAyB,CAAC;QAClD,IAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js new file mode 100644 index 00000000000000..26c40235dd1a21 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js @@ -0,0 +1,19 @@ +/** + * An error thrown when an Observable or a sequence was queried but has no + * elements. + * + * @see {@link first} + * @see {@link last} + * @see {@link single} + * + * @class EmptyError + */ +export class EmptyError extends Error { + constructor() { + const err = super('no elements in sequence'); + this.name = err.name = 'EmptyError'; + this.stack = err.stack; + this.message = err.message; + } +} +//# sourceMappingURL=EmptyError.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js.map new file mode 100644 index 00000000000000..0776cd2aeb3c04 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/EmptyError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EmptyError.js","sourceRoot":"","sources":["../../src/util/EmptyError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,gCAAgC,KAAK;IACnC;QACE,MAAM,GAAG,GAAQ,MAAM,yBAAyB,CAAC,CAAC;QAC3C,IAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;QACrC,IAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js new file mode 100644 index 00000000000000..615849ee418f24 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js @@ -0,0 +1,28 @@ +export class FastMap { + constructor() { + this.values = {}; + } + delete(key) { + this.values[key] = null; + return true; + } + set(key, value) { + this.values[key] = value; + return this; + } + get(key) { + return this.values[key]; + } + forEach(cb, thisArg) { + const values = this.values; + for (let key in values) { + if (values.hasOwnProperty(key) && values[key] !== null) { + cb.call(thisArg, values[key], key); + } + } + } + clear() { + this.values = {}; + } +} +//# sourceMappingURL=FastMap.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js.map b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js.map new file mode 100644 index 00000000000000..fac9c8f12f1af5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/FastMap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"FastMap.js","sourceRoot":"","sources":["../../src/util/FastMap.ts"],"names":[],"mappings":"AAAA;IAAA;QACU,WAAM,GAAW,EAAE,CAAC;IA4B9B,CAAC;IA1BC,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,EAAkC,EAAE,OAAa;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC;YACvB,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACvD,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAAA"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/Immediate.js b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/Immediate.js new file mode 100644 index 00000000000000..6e3876b55b2f83 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/rxjs/_esm2015/util/Immediate.js @@ -0,0 +1,201 @@ +/** +Some credit for this helper goes to http://github.com/YuzuJS/setImmediate +*/ +import { root } from './root'; +export class ImmediateDefinition { + constructor(root) { + this.root = root; + if (root.setImmediate && typeof root.setImmediate === 'function') { + this.setImmediate = root.setImmediate.bind(root); + this.clearImmediate = root.clearImmediate.bind(root); + } + else { + this.nextHandle = 1; + this.tasksByHandle = {}; + this.currentlyRunningATask = false; + // Don't get fooled by e.g. browserify environments. + if (this.canUseProcessNextTick()) { + // For Node.js before 0.9 + this.setImmediate = this.createProcessNextTickSetImmediate(); + } + else if (this.canUsePostMessage()) { + // For non-IE10 modern browsers + this.setImmediate = this.createPostMessageSetImmediate(); + } + else if (this.canUseMessageChannel()) { + // For web workers, where supported + this.setImmediate = this.createMessageChannelSetImmediate(); + } + else if (this.canUseReadyStateChange()) { + // For IE 6–8 + this.setImmediate = this.createReadyStateChangeSetImmediate(); + } + else { + // For older browsers + this.setImmediate = this.createSetTimeoutSetImmediate(); + } + let ci = function clearImmediate(handle) { + delete clearImmediate.instance.tasksByHandle[handle]; + }; + ci.instance = this; + this.clearImmediate = ci; + } + } + identify(o) { + return this.root.Object.prototype.toString.call(o); + } + canUseProcessNextTick() { + return this.identify(this.root.process) === '[object process]'; + } + canUseMessageChannel() { + return Boolean(this.root.MessageChannel); + } + canUseReadyStateChange() { + const document = this.root.document; + return Boolean(document && 'onreadystatechange' in document.createElement('script')); + } + canUsePostMessage() { + const root = this.root; + // The test against `importScripts` prevents this implementation from being installed inside a web worker, + // where `root.postMessage` means something completely different and can't be used for this purpose. + if (root.postMessage && !root.importScripts) { + let postMessageIsAsynchronous = true; + let oldOnMessage = root.onmessage; + root.onmessage = function () { + postMessageIsAsynchronous = false; + }; + root.postMessage('', '*'); + root.onmessage = oldOnMessage; + return postMessageIsAsynchronous; + } + return false; + } + // This function accepts the same arguments as setImmediate, but + // returns a function that requires no arguments. + partiallyApplied(handler, ...args) { + let fn = function result() { + const { handler, args } = result; + if (typeof handler === 'function') { + handler.apply(undefined, args); + } + else { + (new Function('' + handler))(); + } + }; + fn.handler = handler; + fn.args = args; + return fn; + } + addFromSetImmediateArguments(args) { + this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args); + return this.nextHandle++; + } + createProcessNextTickSetImmediate() { + let fn = function setImmediate() { + const { instance } = setImmediate; + let handle = instance.addFromSetImmediateArguments(arguments); + instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle)); + return handle; + }; + fn.instance = this; + return fn; + } + createPostMessageSetImmediate() { + // Installs an event handler on `global` for the `message` event: see + // * https://developer.mozilla.org/en/DOM/window.postMessage + // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages + const root = this.root; + let messagePrefix = 'setImmediate$' + root.Math.random() + '$'; + let onGlobalMessage = function globalMessageHandler(event) { + const instance = globalMessageHandler.instance; + if (event.source === root && + typeof event.data === 'string' && + event.data.indexOf(messagePrefix) === 0) { + instance.runIfPresent(+event.data.slice(messagePrefix.length)); + } + }; + onGlobalMessage.instance = this; + root.addEventListener('message', onGlobalMessage, false); + let fn = function setImmediate() { + const { messagePrefix, instance } = setImmediate; + let handle = instance.addFromSetImmediateArguments(arguments); + instance.root.postMessage(messagePrefix + handle, '*'); + return handle; + }; + fn.instance = this; + fn.messagePrefix = messagePrefix; + return fn; + } + runIfPresent(handle) { + // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.' + // So if we're currently running a task, we'll need to delay this invocation. + if (this.currentlyRunningATask) { + // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a + // 'too much recursion' error. + this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0); + } + else { + let task = this.tasksByHandle[handle]; + if (task) { + this.currentlyRunningATask = true; + try { + task(); + } + finally { + this.clearImmediate(handle); + this.currentlyRunningATask = false; + } + } + } + } + createMessageChannelSetImmediate() { + let channel = new this.root.MessageChannel(); + channel.port1.onmessage = (event) => { + let handle = event.data; + this.runIfPresent(handle); + }; + let fn = function setImmediate() { + const { channel, instance } = setImmediate; + let handle = instance.addFromSetImmediateArguments(arguments); + channel.port2.postMessage(handle); + return handle; + }; + fn.channel = channel; + fn.instance = this; + return fn; + } + createReadyStateChangeSetImmediate() { + let fn = function setImmediate() { + const instance = setImmediate.instance; + const root = instance.root; + const doc = root.document; + const html = doc.documentElement; + let handle = instance.addFromSetImmediateArguments(arguments); + // Create a + +To load in a CommonJS (Node.js) environment, first install with npm by running on the command line: + + npm install uri-js + +Then, in your code, load it using: + + const URI = require("uri-js"); + +If you are writing your code in ES6+ (ESNEXT) or TypeScript, you would load it using: + + import * as URI from "uri-js"; + +Or you can load just what you need using named exports: + + import { parse, serialize, resolve, resolveComponents, normalize, equal, removeDotSegments, pctEncChar, pctDecChars, escapeComponent, unescapeComponent } from "uri-js"; + +## Breaking changes + +### Breaking changes from 3.x + +URN parsing has been completely changed to better align with the specification. Scheme is now always `urn`, but has two new properties: `nid` which contains the Namspace Identifier, and `nss` which contains the Namespace Specific String. The `nss` property will be removed by higher order scheme handlers, such as the UUID URN scheme handler. + +The UUID of a URN can now be found in the `uuid` property. + +### Breaking changes from 2.x + +URI validation has been removed as it was slow, exposed a vulnerabilty, and was generally not useful. + +### Breaking changes from 1.x + +The `errors` array on parsed components is now an `error` string. + +## License ([Simplified BSD](http://en.wikipedia.org/wiki/BSD_licenses#2-clause)) + +Copyright 2011 Gary Court. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY GARY COURT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Gary Court. diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.d.ts new file mode 100644 index 00000000000000..320f53417f1e85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js new file mode 100644 index 00000000000000..2df06091a638f7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js @@ -0,0 +1,1389 @@ +/** @license URI.js v4.2.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.URI = global.URI || {}))); +}(this, (function (exports) { 'use strict'; + +function merge() { + for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { + sets[_key] = arguments[_key]; + } + + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} +function subexp(str) { + return "(?:" + str + ")"; +} +function typeOf(o) { + return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); +} +function toUpperCase(str) { + return str.toUpperCase(); +} +function toArray(obj) { + return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; +} +function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; +} + +function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), + //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +var URI_PROTOCOL = buildExps(false); + +var IRI_PROTOCOL = buildExps(true); + +var slicedToArray = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); + + + + + + + + + + + + + +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } else { + return Array.from(arr); + } +}; + +/** Highest positive signed 32-bit float value */ + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + +/** Bootstring parameters */ +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' + +/** Regular expressions */ +var regexPunycode = /^xn--/; +var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars +var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + +/** Error messages */ +var errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; + +/** Convenience shortcuts */ +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/*--------------------------------------------------------------------------*/ + +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error$1(type) { + throw new RangeError(errors[type]); +} + +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; +} + +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ +function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +} + +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); +}; + +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0A) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1A) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1A) { + return codePoint - 0x61; + } + return base; +}; + +/** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base;; /* no condition */k += base) { + + if (index >= inputLength) { + error$1('invalid-input'); + } + + var digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1('overflow'); + } + + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + + if (digit < t) { + break; + } + + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1('overflow'); + } + + w *= baseMinusT; + } + + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } + + return String.fromCodePoint.apply(String, output); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +var encode = function encode(input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var basicLength = output.length; + var handledCPCount = basicLength; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + + if (_currentValue < n && ++delta > maxInt) { + error$1('overflow'); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base;; /* no condition */k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +/** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); +}; + +/** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); +}; + +/*--------------------------------------------------------------------------*/ + +/** Define the public API */ +var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.1.0', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; + +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +var SCHEMES = {}; +function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; +} +function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} + +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } +} +var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; +function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} + +function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number") { + uriTokens.push(":"); + uriTokens.push(components.port.toString(10)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} + +var RDS1 = /^\.\.?\//; +var RDS2 = /^\/\.(\/|$)/; +var RDS3 = /^\/\.\.(\/|$)/; +var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} + +function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) {} + //TODO: normalize IPv6 address as per RFC 5952 + + //if host component is a domain name + else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + //convert IDN via punycode + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} + +function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; + + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} + +function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} + +function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} + +function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} + +function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); +} + +function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); +} + +var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + //normalize the default port + if (components.port === (String(components.scheme).toLowerCase() !== "https" ? 80 : 443) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; + +var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize +}; + +var O = {}; +var isIRI = true; +//RFC 3986 +var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +var UNRESERVED = new RegExp(UNRESERVED$$, "g"); +var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +var NOT_HFVALUE = NOT_HFNAME; +function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; +} +var handler$2 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; + +var URN_PARSE = /^([^\:]+)\:(.*)/; +//RFC 2141 +var handler$3 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } +}; + +var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +//RFC 4122 +var handler$4 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } +}; + +SCHEMES[handler.scheme] = handler; +SCHEMES[handler$1.scheme] = handler$1; +SCHEMES[handler$2.scheme] = handler$2; +SCHEMES[handler$3.scheme] = handler$3; +SCHEMES[handler$4.scheme] = handler$4; + +exports.SCHEMES = SCHEMES; +exports.pctEncChar = pctEncChar; +exports.pctDecChars = pctDecChars; +exports.parse = parse; +exports.removeDotSegments = removeDotSegments; +exports.serialize = serialize; +exports.resolveComponents = resolveComponents; +exports.resolve = resolve; +exports.normalize = normalize; +exports.equal = equal; +exports.escapeComponent = escapeComponent; +exports.unescapeComponent = unescapeComponent; + +Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=uri.all.js.map diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js.map new file mode 100644 index 00000000000000..536ffa8815efdd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uri.all.js","sources":["../../src/index.ts","../../src/schemes/urn-uuid.ts","../../src/schemes/urn.ts","../../src/schemes/mailto.ts","../../src/schemes/https.ts","../../src/schemes/http.ts","../../src/uri.ts","../../node_modules/punycode/punycode.es6.js","../../src/regexps-iri.ts","../../src/regexps-uri.ts","../../src/util.ts"],"sourcesContent":["import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler = {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (components.port === (String(components.scheme).toLowerCase() !== \"https\" ? 80 : 443) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = ((\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else { //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(components.port.toString(10));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\"); //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options); //normalize base components\n\t\trelative = parse(serialize(relative, options), options); //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$), //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp( subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), // 6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp( \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), // \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp( H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\" h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\" ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","export function merge(...sets:Array):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}"],"names":["SCHEMES","uuid","scheme","urn","mailto","https","http","urnComponents","nss","uuidComponents","toLowerCase","options","error","tolerant","match","UUID","undefined","handler","uriComponents","path","nid","schemeHandler","serialize","urnScheme","parse","matches","components","URN_PARSE","query","fields","join","length","push","name","replace","PCT_ENCODED","decodeUnreserved","toUpperCase","NOT_HFNAME","pctEncChar","headers","NOT_HFVALUE","O","mailtoComponents","body","subject","to","x","localPart","domain","iri","e","punycode","toASCII","unescapeComponent","toUnicode","toAddr","slice","atIdx","NOT_LOCAL_PART","lastIndexOf","String","xl","toArray","addr","unicodeSupport","split","unknownHeaders","hfield","toAddrs","hfields","decStr","UNRESERVED","str","pctDecChars","RegExp","merge","UNRESERVED$$","SOME_DELIMS$$","ATEXT$$","VCHAR$$","PCT_ENCODED$","QTEXT$$","subexp","HEXDIG$$","isIRI","domainHost","port","host","toString","URI_PROTOCOL","IRI_PROTOCOL","ESCAPE","escapeComponent","uriA","uriB","typeOf","equal","uri","normalize","resolveComponents","baseURI","schemelessOptions","relativeURI","assign","resolve","target","fragment","relative","base","userinfo","removeDotSegments","charAt","skipNormalization","uriTokens","s","authority","absolutePath","reference","_recomposeAuthority","protocol","IPV6ADDRESS","test","output","Error","input","im","RDS5","pop","RDS3","RDS2","RDS1","$1","$2","_normalizeIPv6","_normalizeIPv4","_","uriString","isNaN","indexOf","parseInt","NO_MATCH_IS_UNDEFINED","URI_PARSE","newHost","zone","newFirst","newLast","longestZeroFields","index","b","a","allZeroFields","sort","acc","lastLongest","field","reduce","fieldCount","isLastFieldIPv4Address","firstFields","lastFields","lastFieldsStart","Array","IPV4ADDRESS","last","map","_stripLeadingZeros","first","address","reverse","NOT_FRAGMENT","NOT_QUERY","NOT_PATH","NOT_PATH_NOSCHEME","NOT_HOST","NOT_USERINFO","NOT_SCHEME","_normalizeComponentEncoding","newStr","substr","i","fromCharCode","c","c2","c3","il","chr","charCodeAt","encode","decode","ucs2encode","ucs2decode","regexNonASCII","string","mapDomain","regexPunycode","n","delta","handledCPCount","adapt","handledCPCountPlusOne","basicLength","stringFromCharCode","digitToBasic","q","floor","qMinusT","baseMinusT","t","k","bias","tMin","tMax","currentValue","maxInt","m","inputLength","delimiter","initialBias","initialN","fromCodePoint","splice","out","oldi","w","digit","basicToDigit","basic","j","baseMinusTMin","skew","numPoints","firstTime","damp","flag","codePoint","array","value","extra","counter","result","encoded","labels","fn","regexSeparators","parts","RangeError","errors","type","Math","buildExps","IPV6ADDRESS$","ZONEID$","IPV4ADDRESS$","RESERVED$$","SUB_DELIMS$$","IPRIVATE$$","ALPHA$$","DIGIT$$","AUTHORITY_REF$","USERINFO$","HOST$","PORT$","SAMEDOC_REF$","FRAGMENT$","ABSOLUTE_REF$","SCHEME$","PATH_ABEMPTY$","PATH_ABSOLUTE$","PATH_ROOTLESS$","PATH_EMPTY$","QUERY$","RELATIVE_REF$","PATH_NOSCHEME$","GENERIC_REF$","ABSOLUTE_URI$","HIER_PART$","URI_REFERENCE$","URI$","RELATIVE$","RELATIVE_PART$","AUTHORITY$","PCHAR$","PATH$","SEGMENT_NZ$","SEGMENT_NZ_NC$","SEGMENT$","IP_LITERAL$","REG_NAME$","IPV6ADDRZ_RELAXED$","IPVFUTURE$","IPV6ADDRESS1$","IPV6ADDRESS2$","IPV6ADDRESS3$","IPV6ADDRESS4$","IPV6ADDRESS5$","IPV6ADDRESS6$","IPV6ADDRESS7$","IPV6ADDRESS8$","IPV6ADDRESS9$","H16$","LS32$","DEC_OCTET_RELAXED$","DEC_OCTET$","UCSCHAR$$","GEN_DELIMS$$","SP$$","DQUOTE$$","CR$","obj","key","source","setInterval","call","prototype","o","Object","shift","sets"],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.d.ts new file mode 100644 index 00000000000000..320f53417f1e85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.js b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.js new file mode 100644 index 00000000000000..1b791ef7239290 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/es5/uri.all.min.js @@ -0,0 +1,3 @@ +/** @license URI.js v4.2.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(e.URI=e.URI||{})}(this,function(e){"use strict";function r(){for(var e=arguments.length,r=Array(e),n=0;n1){r[0]=r[0].slice(0,-1);for(var t=r.length-1,o=1;o1&&(t=n[0]+"@",e=n[1]),e=e.replace(j,"."),t+f(e.split("."),r).join(".")}function p(e){for(var r=[],n=0,t=e.length;n=55296&&o<=56319&&n>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function d(e){for(var r="",n=0,t=e.length;n=194&&o<224){if(t-n>=6){var a=parseInt(e.substr(n+4,2),16);r+=String.fromCharCode((31&o)<<6|63&a)}else r+=e.substr(n,6);n+=6}else if(o>=224){if(t-n>=9){var i=parseInt(e.substr(n+4,2),16),u=parseInt(e.substr(n+7,2),16);r+=String.fromCharCode((15&o)<<12|(63&i)<<6|63&u)}else r+=e.substr(n,9);n+=9}else r+=e.substr(n,3),n+=3}return r}function l(e,r){function n(e){var n=d(e);return n.match(r.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(r.PCT_ENCODED,n).toLowerCase().replace(r.NOT_SCHEME,"")),e.userinfo!==undefined&&(e.userinfo=String(e.userinfo).replace(r.PCT_ENCODED,n).replace(r.NOT_USERINFO,h).replace(r.PCT_ENCODED,o)),e.host!==undefined&&(e.host=String(e.host).replace(r.PCT_ENCODED,n).toLowerCase().replace(r.NOT_HOST,h).replace(r.PCT_ENCODED,o)),e.path!==undefined&&(e.path=String(e.path).replace(r.PCT_ENCODED,n).replace(e.scheme?r.NOT_PATH:r.NOT_PATH_NOSCHEME,h).replace(r.PCT_ENCODED,o)),e.query!==undefined&&(e.query=String(e.query).replace(r.PCT_ENCODED,n).replace(r.NOT_QUERY,h).replace(r.PCT_ENCODED,o)),e.fragment!==undefined&&(e.fragment=String(e.fragment).replace(r.PCT_ENCODED,n).replace(r.NOT_FRAGMENT,h).replace(r.PCT_ENCODED,o)),e}function g(e){return e.replace(/^0*(.*)/,"$1")||"0"}function v(e,r){var n=e.match(r.IPV4ADDRESS)||[],t=R(n,2),o=t[1];return o?o.split(".").map(g).join("."):e}function m(e,r){var n=e.match(r.IPV6ADDRESS)||[],t=R(n,3),o=t[1],a=t[2];if(o){for(var i=o.toLowerCase().split("::").reverse(),u=R(i,2),s=u[0],f=u[1],c=f?f.split(":").map(g):[],p=s.split(":").map(g),h=r.IPV4ADDRESS.test(p[p.length-1]),d=h?7:8,l=p.length-d,m=Array(d),E=0;E1){var A=m.slice(0,y.index),D=m.slice(y.index+y.length);S=A.join(":")+"::"+D.join(":")}else S=m.join(":");return a&&(S+="%"+a),S}return e}function E(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n={},t=!1!==r.iri?N:F;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var o=e.match(J);if(o){K?(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5])):(n.scheme=o[1]||undefined,n.userinfo=-1!==e.indexOf("@")?o[3]:undefined,n.host=-1!==e.indexOf("//")?o[4]:undefined,n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=-1!==e.indexOf("?")?o[7]:undefined,n.fragment=-1!==e.indexOf("#")?o[8]:undefined,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?o[4]:undefined)),n.host&&(n.host=m(v(n.host,t),t)),n.scheme!==undefined||n.userinfo!==undefined||n.host!==undefined||n.port!==undefined||n.path||n.query!==undefined?n.scheme===undefined?n.reference="relative":n.fragment===undefined?n.reference="absolute":n.reference="uri":n.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");var a=B[(r.scheme||n.scheme||"").toLowerCase()];if(r.unicodeSupport||a&&a.unicodeSupport)l(n,t);else{if(n.host&&(r.domainHost||a&&a.domainHost))try{n.host=Y.toASCII(n.host.replace(t.PCT_ENCODED,d).toLowerCase())}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+i}l(n,F)}a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}function C(e,r){var n=!1!==r.iri?N:F,t=[];return e.userinfo!==undefined&&(t.push(e.userinfo),t.push("@")),e.host!==undefined&&t.push(m(v(String(e.host),n),n).replace(n.IPV6ADDRESS,function(e,r,n){return"["+r+(n?"%25"+n:"")+"]"})),"number"==typeof e.port&&(t.push(":"),t.push(e.port.toString(10))),t.length?t.join(""):undefined}function y(e){for(var r=[];e.length;)if(e.match(W))e=e.replace(W,"");else if(e.match(X))e=e.replace(X,"/");else if(e.match(ee))e=e.replace(ee,"/"),r.pop();else if("."===e||".."===e)e="";else{var n=e.match(re);if(!n)throw new Error("Unexpected dot segment condition");var t=n[0];e=e.slice(t.length),r.push(t)}return r.join("")}function S(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.iri?N:F,t=[],o=B[(r.scheme||e.scheme||"").toLowerCase()];if(o&&o.serialize&&o.serialize(e,r),e.host)if(n.IPV6ADDRESS.test(e.host));else if(r.domainHost||o&&o.domainHost)try{e.host=r.iri?Y.toUnicode(e.host):Y.toASCII(e.host.replace(n.PCT_ENCODED,d).toLowerCase())}catch(u){e.error=e.error||"Host's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+u}l(e,n),"suffix"!==r.reference&&e.scheme&&(t.push(e.scheme),t.push(":"));var a=C(e,r);if(a!==undefined&&("suffix"!==r.reference&&t.push("//"),t.push(a),e.path&&"/"!==e.path.charAt(0)&&t.push("/")),e.path!==undefined){var i=e.path;r.absolutePath||o&&o.absolutePath||(i=y(i)),a===undefined&&(i=i.replace(/^\/\//,"/%2F")),t.push(i)}return e.query!==undefined&&(t.push("?"),t.push(e.query)),e.fragment!==undefined&&(t.push("#"),t.push(e.fragment)),t.join("")}function A(e,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},t=arguments[3],o={};return t||(e=E(S(e,n),n),r=E(S(r,n),n)),n=n||{},!n.tolerant&&r.scheme?(o.scheme=r.scheme,o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=y(r.path||""),o.query=r.query):(r.userinfo!==undefined||r.host!==undefined||r.port!==undefined?(o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=y(r.path||""),o.query=r.query):(r.path?("/"===r.path.charAt(0)?o.path=y(r.path):(e.userinfo===undefined&&e.host===undefined&&e.port===undefined||e.path?e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:o.path=r.path:o.path="/"+r.path,o.path=y(o.path)),o.query=r.query):(o.path=e.path,r.query!==undefined?o.query=r.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=r.fragment,o}function D(e,r,n){var t=i({scheme:"null"},n);return S(A(E(e,t),E(r,t),t,!0),t)}function w(e,r){return"string"==typeof e?e=S(E(e,r),r):"object"===t(e)&&(e=E(S(e,r),r)),e}function b(e,r,n){return"string"==typeof e?e=S(E(e,n),n):"object"===t(e)&&(e=S(e,n)),"string"==typeof r?r=S(E(r,n),n):"object"===t(r)&&(r=S(r,n)),e===r}function x(e,r){return e&&e.toString().replace(r&&r.iri?N.ESCAPE:F.ESCAPE,h)}function O(e,r){return e&&e.toString().replace(r&&r.iri?N.PCT_ENCODED:F.PCT_ENCODED,d)}function I(e){var r=d(e);return r.match(fe)?r:e}var F=u(!1),N=u(!0),R=function(){function e(e,r){var n=[],t=!0,o=!1,a=undefined;try{for(var i,u=e[Symbol.iterator]();!(t=(i=u.next()).done)&&(n.push(i.value),!r||n.length!==r);t=!0);}catch(s){o=!0,a=s}finally{try{!t&&u["return"]&&u["return"]()}finally{if(o)throw a}}return n}return function(r,n){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return e(r,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),T=function(e){if(Array.isArray(e)){for(var r=0,n=Array(e.length);r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=Math.floor,z=String.fromCharCode,L=function(e){return String.fromCodePoint.apply(String,T(e))},$=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:36},M=function(e,r){return e+22+75*(e<26)-((0!=r)<<5)},V=function(e,r,n){var t=0;for(e=n?H(e/700):e>>1,e+=H(e/r);e>455;t+=36)e=H(e/35);return H(t+36*e/(e+38))},k=function(e){var r=[],n=e.length,t=0,o=128,a=72,i=e.lastIndexOf("-");i<0&&(i=0);for(var u=0;u=128&&s("not-basic"),r.push(e.charCodeAt(u));for(var f=i>0?i+1:0;f=n&&s("invalid-input");var d=$(e.charCodeAt(f++));(d>=36||d>H((_-t)/p))&&s("overflow"),t+=d*p;var l=h<=a?1:h>=a+26?26:h-a;if(dH(_/g)&&s("overflow"),p*=g}var v=r.length+1;a=V(t-c,v,0==c),H(t/v)>_-o&&s("overflow"),o+=H(t/v),t%=v,r.splice(t++,0,o)}return String.fromCodePoint.apply(String,r)},Z=function(e){var r=[];e=p(e);var n=e.length,t=128,o=0,a=72,i=!0,u=!1,f=undefined;try{for(var c,h=e[Symbol.iterator]();!(i=(c=h.next()).done);i=!0){var d=c.value;d<128&&r.push(z(d))}}catch(j){u=!0,f=j}finally{try{!i&&h["return"]&&h["return"]()}finally{if(u)throw f}}var l=r.length,g=l;for(l&&r.push("-");g=t&&AH((_-o)/D)&&s("overflow"),o+=(v-t)*D,t=v;var w=!0,b=!1,x=undefined;try{for(var O,I=e[Symbol.iterator]();!(w=(O=I.next()).done);w=!0){var F=O.value;if(F_&&s("overflow"),F==t){for(var N=o,R=36;;R+=36){var T=R<=a?1:R>=a+26?26:R-a;if(NA-Z\\x5E-\\x7E]",'[\\"\\\\]'),fe=new RegExp(ae,"g"),ce=new RegExp(ue,"g"),pe=new RegExp(r("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',se),"g"),he=new RegExp(r("[^]",ae,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),de=he,le={scheme:"mailto",parse:function(e,r){var n=e,t=n.to=n.path?n.path.split(","):[];if(n.path=undefined,n.query){for(var o=!1,a={},i=n.query.split("&"),u=0,s=i.length;u):string {\n\tif (sets.length > 1) {\n\t\tsets[0] = sets[0].slice(0, -1);\n\t\tconst xl = sets.length - 1;\n\t\tfor (let x = 1; x < xl; ++x) {\n\t\t\tsets[x] = sets[x].slice(1, -1);\n\t\t}\n\t\tsets[xl] = sets[xl].slice(1);\n\t\treturn sets.join('');\n\t} else {\n\t\treturn sets[0];\n\t}\n}\n\nexport function subexp(str:string):string {\n\treturn \"(?:\" + str + \")\";\n}\n\nexport function typeOf(o:any):string {\n\treturn o === undefined ? \"undefined\" : (o === null ? \"null\" : Object.prototype.toString.call(o).split(\" \").pop().split(\"]\").shift().toLowerCase());\n}\n\nexport function toUpperCase(str:string):string {\n\treturn str.toUpperCase();\n}\n\nexport function toArray(obj:any):Array {\n\treturn obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== \"number\" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : [];\n}\n\n\nexport function assign(target: object, source: any): any {\n\tconst obj = target as any;\n\tif (source) {\n\t\tfor (const key in source) {\n\t\t\tobj[key] = source[key];\n\t\t}\n\t}\n\treturn obj;\n}","import { URIRegExps } from \"./uri\";\nimport { merge, subexp } from \"./util\";\n\nexport function buildExps(isIRI:boolean):URIRegExps {\n\tconst\n\t\tALPHA$$ = \"[A-Za-z]\",\n\t\tCR$ = \"[\\\\x0D]\",\n\t\tDIGIT$$ = \"[0-9]\",\n\t\tDQUOTE$$ = \"[\\\\x22]\",\n\t\tHEXDIG$$ = merge(DIGIT$$, \"[A-Fa-f]\"), //case-insensitive\n\t\tLF$$ = \"[\\\\x0A]\",\n\t\tSP$$ = \"[\\\\x20]\",\n\t\tPCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)), //expanded\n\t\tGEN_DELIMS$$ = \"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",\n\t\tSUB_DELIMS$$ = \"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",\n\t\tRESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$),\n\t\tUCSCHAR$$ = isIRI ? \"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\" : \"[]\", //subset, excludes bidi control characters\n\t\tIPRIVATE$$ = isIRI ? \"[\\\\uE000-\\\\uF8FF]\" : \"[]\", //subset\n\t\tUNRESERVED$$ = merge(ALPHA$$, DIGIT$$, \"[\\\\-\\\\.\\\\_\\\\~]\", UCSCHAR$$),\n\t\tSCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\") + \"*\"),\n\t\tUSERINFO$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\")) + \"*\"),\n\t\tDEC_OCTET$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"[1-9]\" + DIGIT$$) + \"|\" + DIGIT$$),\n\t\tDEC_OCTET_RELAXED$ = subexp(subexp(\"25[0-5]\") + \"|\" + subexp(\"2[0-4]\" + DIGIT$$) + \"|\" + subexp(\"1\" + DIGIT$$ + DIGIT$$) + \"|\" + subexp(\"0?[1-9]\" + DIGIT$$) + \"|0?0?\" + DIGIT$$), //relaxed parsing rules\n\t\tIPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$ + \"\\\\.\" + DEC_OCTET_RELAXED$),\n\t\tH16$ = subexp(HEXDIG$$ + \"{1,4}\"),\n\t\tLS32$ = subexp(subexp(H16$ + \"\\\\:\" + H16$) + \"|\" + IPV4ADDRESS$),\n\t\tIPV6ADDRESS1$ = subexp( subexp(H16$ + \"\\\\:\") + \"{6}\" + LS32$), // 6( h16 \":\" ) ls32\n\t\tIPV6ADDRESS2$ = subexp( \"\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{5}\" + LS32$), // \"::\" 5( h16 \":\" ) ls32\n\t\tIPV6ADDRESS3$ = subexp(subexp( H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{4}\" + LS32$), //[ h16 ] \"::\" 4( h16 \":\" ) ls32\n\t\tIPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,1}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{3}\" + LS32$), //[ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n\t\tIPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,2}\" + H16$) + \"?\\\\:\\\\:\" + subexp(H16$ + \"\\\\:\") + \"{2}\" + LS32$), //[ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n\t\tIPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,3}\" + H16$) + \"?\\\\:\\\\:\" + H16$ + \"\\\\:\" + LS32$), //[ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n\t\tIPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,4}\" + H16$) + \"?\\\\:\\\\:\" + LS32$), //[ *4( h16 \":\" ) h16 ] \"::\" ls32\n\t\tIPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,5}\" + H16$) + \"?\\\\:\\\\:\" + H16$ ), //[ *5( h16 \":\" ) h16 ] \"::\" h16\n\t\tIPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + \"\\\\:\") + \"{0,6}\" + H16$) + \"?\\\\:\\\\:\" ), //[ *6( h16 \":\" ) h16 ] \"::\"\n\t\tIPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join(\"|\")),\n\t\tZONEID$ = subexp(subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$) + \"+\"), //RFC 6874\n\t\tIPV6ADDRZ$ = subexp(IPV6ADDRESS$ + \"\\\\%25\" + ZONEID$), //RFC 6874\n\t\tIPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + ZONEID$), //RFC 6874, with relaxed parsing rules\n\t\tIPVFUTURE$ = subexp(\"[vV]\" + HEXDIG$$ + \"+\\\\.\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:]\") + \"+\"),\n\t\tIP_LITERAL$ = subexp(\"\\\\[\" + subexp(IPV6ADDRZ_RELAXED$ + \"|\" + IPV6ADDRESS$ + \"|\" + IPVFUTURE$) + \"\\\\]\"), //RFC 6874\n\t\tREG_NAME$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$)) + \"*\"),\n\t\tHOST$ = subexp(IP_LITERAL$ + \"|\" + IPV4ADDRESS$ + \"(?!\" + REG_NAME$ + \")\" + \"|\" + REG_NAME$),\n\t\tPORT$ = subexp(DIGIT$$ + \"*\"),\n\t\tAUTHORITY$ = subexp(subexp(USERINFO$ + \"@\") + \"?\" + HOST$ + subexp(\"\\\\:\" + PORT$) + \"?\"),\n\t\tPCHAR$ = subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@]\")),\n\t\tSEGMENT$ = subexp(PCHAR$ + \"*\"),\n\t\tSEGMENT_NZ$ = subexp(PCHAR$ + \"+\"),\n\t\tSEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + \"|\" + merge(UNRESERVED$$, SUB_DELIMS$$, \"[\\\\@]\")) + \"+\"),\n\t\tPATH_ABEMPTY$ = subexp(subexp(\"\\\\/\" + SEGMENT$) + \"*\"),\n\t\tPATH_ABSOLUTE$ = subexp(\"\\\\/\" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + \"?\"), //simplified\n\t\tPATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified\n\t\tPATH_EMPTY$ = \"(?!\" + PCHAR$ + \")\",\n\t\tPATH$ = subexp(PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tQUERY$ = subexp(subexp(PCHAR$ + \"|\" + merge(\"[\\\\/\\\\?]\", IPRIVATE$$)) + \"*\"),\n\t\tFRAGMENT$ = subexp(subexp(PCHAR$ + \"|[\\\\/\\\\?]\") + \"*\"),\n\t\tHIER_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$),\n\t\tURI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tRELATIVE_PART$ = subexp(subexp(\"\\\\/\\\\/\" + AUTHORITY$ + PATH_ABEMPTY$) + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$),\n\t\tRELATIVE$ = subexp(RELATIVE_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\" + subexp(\"\\\\#\" + FRAGMENT$) + \"?\"),\n\t\tURI_REFERENCE$ = subexp(URI$ + \"|\" + RELATIVE$),\n\t\tABSOLUTE_URI$ = subexp(SCHEME$ + \"\\\\:\" + HIER_PART$ + subexp(\"\\\\?\" + QUERY$) + \"?\"),\n\n\t\tGENERIC_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tRELATIVE_REF$ = \"^(){0}\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_NOSCHEME$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tABSOLUTE_REF$ = \"^(\" + SCHEME$ + \")\\\\:\" + subexp(subexp(\"\\\\/\\\\/(\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?)\") + \"?(\" + PATH_ABEMPTY$ + \"|\" + PATH_ABSOLUTE$ + \"|\" + PATH_ROOTLESS$ + \"|\" + PATH_EMPTY$ + \")\") + subexp(\"\\\\?(\" + QUERY$ + \")\") + \"?$\",\n\t\tSAMEDOC_REF$ = \"^\" + subexp(\"\\\\#(\" + FRAGMENT$ + \")\") + \"?$\",\n\t\tAUTHORITY_REF$ = \"^\" + subexp(\"(\" + USERINFO$ + \")@\") + \"?(\" + HOST$ + \")\" + subexp(\"\\\\:(\" + PORT$ + \")\") + \"?$\"\n\t;\n\n\treturn {\n\t\tNOT_SCHEME : new RegExp(merge(\"[^]\", ALPHA$$, DIGIT$$, \"[\\\\+\\\\-\\\\.]\"), \"g\"),\n\t\tNOT_USERINFO : new RegExp(merge(\"[^\\\\%\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_HOST : new RegExp(merge(\"[^\\\\%\\\\[\\\\]\\\\:]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH : new RegExp(merge(\"[^\\\\%\\\\/\\\\:\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_PATH_NOSCHEME : new RegExp(merge(\"[^\\\\%\\\\/\\\\@]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tNOT_QUERY : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\", IPRIVATE$$), \"g\"),\n\t\tNOT_FRAGMENT : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, SUB_DELIMS$$, \"[\\\\:\\\\@\\\\/\\\\?]\"), \"g\"),\n\t\tESCAPE : new RegExp(merge(\"[^]\", UNRESERVED$$, SUB_DELIMS$$), \"g\"),\n\t\tUNRESERVED : new RegExp(UNRESERVED$$, \"g\"),\n\t\tOTHER_CHARS : new RegExp(merge(\"[^\\\\%]\", UNRESERVED$$, RESERVED$$), \"g\"),\n\t\tPCT_ENCODED : new RegExp(PCT_ENCODED$, \"g\"),\n\t\tIPV4ADDRESS : new RegExp(\"^(\" + IPV4ADDRESS$ + \")$\"),\n\t\tIPV6ADDRESS : new RegExp(\"^\\\\[?(\" + IPV6ADDRESS$ + \")\" + subexp(subexp(\"\\\\%25|\\\\%(?!\" + HEXDIG$$ + \"{2})\") + \"(\" + ZONEID$ + \")\") + \"?\\\\]?$\") //RFC 6874, with relaxed parsing rules\n\t};\n}\n\nexport default buildExps(false);\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.1.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport default punycode;\n","/**\n * URI.js\n *\n * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript.\n * @author Gary Court\n * @see http://github.com/garycourt/uri-js\n */\n\n/**\n * Copyright 2011 Gary Court. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of\n * conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list\n * of conditions and the following disclaimer in the documentation and/or other materials\n * provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Gary Court.\n */\n\nimport URI_PROTOCOL from \"./regexps-uri\";\nimport IRI_PROTOCOL from \"./regexps-iri\";\nimport punycode from \"punycode\";\nimport { toUpperCase, typeOf, assign } from \"./util\";\n\nexport interface URIComponents {\n\tscheme?:string;\n\tuserinfo?:string;\n\thost?:string;\n\tport?:number|string;\n\tpath?:string;\n\tquery?:string;\n\tfragment?:string;\n\treference?:string;\n\terror?:string;\n}\n\nexport interface URIOptions {\n\tscheme?:string;\n\treference?:string;\n\ttolerant?:boolean;\n\tabsolutePath?:boolean;\n\tiri?:boolean;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n}\n\nexport interface URISchemeHandler {\n\tscheme:string;\n\tparse(components:ParentComponents, options:Options):Components;\n\tserialize(components:Components, options:Options):ParentComponents;\n\tunicodeSupport?:boolean;\n\tdomainHost?:boolean;\n\tabsolutePath?:boolean;\n}\n\nexport interface URIRegExps {\n\tNOT_SCHEME : RegExp,\n\tNOT_USERINFO : RegExp,\n\tNOT_HOST : RegExp,\n\tNOT_PATH : RegExp,\n\tNOT_PATH_NOSCHEME : RegExp,\n\tNOT_QUERY : RegExp,\n\tNOT_FRAGMENT : RegExp,\n\tESCAPE : RegExp,\n\tUNRESERVED : RegExp,\n\tOTHER_CHARS : RegExp,\n\tPCT_ENCODED : RegExp,\n\tIPV4ADDRESS : RegExp,\n\tIPV6ADDRESS : RegExp,\n}\n\nexport const SCHEMES:{[scheme:string]:URISchemeHandler} = {};\n\nexport function pctEncChar(chr:string):string {\n\tconst c = chr.charCodeAt(0);\n\tlet e:string;\n\n\tif (c < 16) e = \"%0\" + c.toString(16).toUpperCase();\n\telse if (c < 128) e = \"%\" + c.toString(16).toUpperCase();\n\telse if (c < 2048) e = \"%\" + ((c >> 6) | 192).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\telse e = \"%\" + ((c >> 12) | 224).toString(16).toUpperCase() + \"%\" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + \"%\" + ((c & 63) | 128).toString(16).toUpperCase();\n\n\treturn e;\n}\n\nexport function pctDecChars(str:string):string {\n\tlet newStr = \"\";\n\tlet i = 0;\n\tconst il = str.length;\n\n\twhile (i < il) {\n\t\tconst c = parseInt(str.substr(i + 1, 2), 16);\n\n\t\tif (c < 128) {\n\t\t\tnewStr += String.fromCharCode(c);\n\t\t\ti += 3;\n\t\t}\n\t\telse if (c >= 194 && c < 224) {\n\t\t\tif ((il - i) >= 6) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 6);\n\t\t\t}\n\t\t\ti += 6;\n\t\t}\n\t\telse if (c >= 224) {\n\t\t\tif ((il - i) >= 9) {\n\t\t\t\tconst c2 = parseInt(str.substr(i + 4, 2), 16);\n\t\t\t\tconst c3 = parseInt(str.substr(i + 7, 2), 16);\n\t\t\t\tnewStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n\t\t\t} else {\n\t\t\t\tnewStr += str.substr(i, 9);\n\t\t\t}\n\t\t\ti += 9;\n\t\t}\n\t\telse {\n\t\t\tnewStr += str.substr(i, 3);\n\t\t\ti += 3;\n\t\t}\n\t}\n\n\treturn newStr;\n}\n\nfunction _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) {\n\tfunction decodeUnreserved(str:string):string {\n\t\tconst decStr = pctDecChars(str);\n\t\treturn (!decStr.match(protocol.UNRESERVED) ? str : decStr);\n\t}\n\n\tif (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, \"\");\n\tif (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\tif (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);\n\n\treturn components;\n};\n\nfunction _stripLeadingZeros(str:string):string {\n\treturn str.replace(/^0*(.*)/, \"$1\") || \"0\";\n}\n\nfunction _normalizeIPv4(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV4ADDRESS) || [];\n\tconst [, address] = matches;\n\t\n\tif (address) {\n\t\treturn address.split(\".\").map(_stripLeadingZeros).join(\".\");\n\t} else {\n\t\treturn host;\n\t}\n}\n\nfunction _normalizeIPv6(host:string, protocol:URIRegExps):string {\n\tconst matches = host.match(protocol.IPV6ADDRESS) || [];\n\tconst [, address, zone] = matches;\n\n\tif (address) {\n\t\tconst [last, first] = address.toLowerCase().split('::').reverse();\n\t\tconst firstFields = first ? first.split(\":\").map(_stripLeadingZeros) : [];\n\t\tconst lastFields = last.split(\":\").map(_stripLeadingZeros);\n\t\tconst isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);\n\t\tconst fieldCount = isLastFieldIPv4Address ? 7 : 8;\n\t\tconst lastFieldsStart = lastFields.length - fieldCount;\n\t\tconst fields = Array(fieldCount);\n\n\t\tfor (let x = 0; x < fieldCount; ++x) {\n\t\t\tfields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || '';\n\t\t}\n\n\t\tif (isLastFieldIPv4Address) {\n\t\t\tfields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);\n\t\t}\n\n\t\tconst allZeroFields = fields.reduce>((acc, field, index) => {\n\t\t\tif (!field || field === \"0\") {\n\t\t\t\tconst lastLongest = acc[acc.length - 1];\n\t\t\t\tif (lastLongest && lastLongest.index + lastLongest.length === index) {\n\t\t\t\t\tlastLongest.length++;\n\t\t\t\t} else {\n\t\t\t\t\tacc.push({ index, length : 1 });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, []);\n\n\t\tconst longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0];\n\n\t\tlet newHost:string;\n\t\tif (longestZeroFields && longestZeroFields.length > 1) {\n\t\t\tconst newFirst = fields.slice(0, longestZeroFields.index) ;\n\t\t\tconst newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);\n\t\t\tnewHost = newFirst.join(\":\") + \"::\" + newLast.join(\":\");\n\t\t} else {\n\t\t\tnewHost = fields.join(\":\");\n\t\t}\n\n\t\tif (zone) {\n\t\t\tnewHost += \"%\" + zone;\n\t\t}\n\n\t\treturn newHost;\n\t} else {\n\t\treturn host;\n\t}\n}\n\nconst URI_PARSE = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i;\nconst NO_MATCH_IS_UNDEFINED = ((\"\").match(/(){0}/))[1] === undefined;\n\nexport function parse(uriString:string, options:URIOptions = {}):URIComponents {\n\tconst components:URIComponents = {};\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\n\tif (options.reference === \"suffix\") uriString = (options.scheme ? options.scheme + \":\" : \"\") + \"//\" + uriString;\n\n\tconst matches = uriString.match(URI_PARSE);\n\n\tif (matches) {\n\t\tif (NO_MATCH_IS_UNDEFINED) {\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1];\n\t\t\tcomponents.userinfo = matches[3];\n\t\t\tcomponents.host = matches[4];\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = matches[7];\n\t\t\tcomponents.fragment = matches[8];\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = matches[5];\n\t\t\t}\n\t\t} else { //IE FIX for improper RegExp matching\n\t\t\t//store each component\n\t\t\tcomponents.scheme = matches[1] || undefined;\n\t\t\tcomponents.userinfo = (uriString.indexOf(\"@\") !== -1 ? matches[3] : undefined);\n\t\t\tcomponents.host = (uriString.indexOf(\"//\") !== -1 ? matches[4] : undefined);\n\t\t\tcomponents.port = parseInt(matches[5], 10);\n\t\t\tcomponents.path = matches[6] || \"\";\n\t\t\tcomponents.query = (uriString.indexOf(\"?\") !== -1 ? matches[7] : undefined);\n\t\t\tcomponents.fragment = (uriString.indexOf(\"#\") !== -1 ? matches[8] : undefined);\n\n\t\t\t//fix port number\n\t\t\tif (isNaN(components.port)) {\n\t\t\t\tcomponents.port = (uriString.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? matches[4] : undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (components.host) {\n\t\t\t//normalize IP hosts\n\t\t\tcomponents.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);\n\t\t}\n\n\t\t//determine reference type\n\t\tif (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) {\n\t\t\tcomponents.reference = \"same-document\";\n\t\t} else if (components.scheme === undefined) {\n\t\t\tcomponents.reference = \"relative\";\n\t\t} else if (components.fragment === undefined) {\n\t\t\tcomponents.reference = \"absolute\";\n\t\t} else {\n\t\t\tcomponents.reference = \"uri\";\n\t\t}\n\n\t\t//check for reference errors\n\t\tif (options.reference && options.reference !== \"suffix\" && options.reference !== components.reference) {\n\t\t\tcomponents.error = components.error || \"URI is not a \" + options.reference + \" reference.\";\n\t\t}\n\n\t\t//find scheme handler\n\t\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t\t//check if scheme can't handle IRIs\n\t\tif (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {\n\t\t\t//if host component is a domain name\n\t\t\tif (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\tcomponents.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//convert IRI -> URI\n\t\t\t_normalizeComponentEncoding(components, URI_PROTOCOL);\n\t\t} else {\n\t\t\t//normalize encodings\n\t\t\t_normalizeComponentEncoding(components, protocol);\n\t\t}\n\n\t\t//perform scheme specific parsing\n\t\tif (schemeHandler && schemeHandler.parse) {\n\t\t\tschemeHandler.parse(components, options);\n\t\t}\n\t} else {\n\t\tcomponents.error = components.error || \"URI can not be parsed.\";\n\t}\n\n\treturn components;\n};\n\nfunction _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined {\n\tconst protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\tif (components.userinfo !== undefined) {\n\t\turiTokens.push(components.userinfo);\n\t\turiTokens.push(\"@\");\n\t}\n\n\tif (components.host !== undefined) {\n\t\t//normalize IP hosts, add brackets and escape zone separator for IPv6\n\t\turiTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => \"[\" + $1 + ($2 ? \"%25\" + $2 : \"\") + \"]\"));\n\t}\n\n\tif (typeof components.port === \"number\") {\n\t\turiTokens.push(\":\");\n\t\turiTokens.push(components.port.toString(10));\n\t}\n\n\treturn uriTokens.length ? uriTokens.join(\"\") : undefined;\n};\n\nconst RDS1 = /^\\.\\.?\\//;\nconst RDS2 = /^\\/\\.(\\/|$)/;\nconst RDS3 = /^\\/\\.\\.(\\/|$)/;\nconst RDS4 = /^\\.\\.?$/;\nconst RDS5 = /^\\/?(?:.|\\n)*?(?=\\/|$)/;\n\nexport function removeDotSegments(input:string):string {\n\tconst output:Array = [];\n\n\twhile (input.length) {\n\t\tif (input.match(RDS1)) {\n\t\t\tinput = input.replace(RDS1, \"\");\n\t\t} else if (input.match(RDS2)) {\n\t\t\tinput = input.replace(RDS2, \"/\");\n\t\t} else if (input.match(RDS3)) {\n\t\t\tinput = input.replace(RDS3, \"/\");\n\t\t\toutput.pop();\n\t\t} else if (input === \".\" || input === \"..\") {\n\t\t\tinput = \"\";\n\t\t} else {\n\t\t\tconst im = input.match(RDS5);\n\t\t\tif (im) {\n\t\t\t\tconst s = im[0];\n\t\t\t\tinput = input.slice(s.length);\n\t\t\t\toutput.push(s);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unexpected dot segment condition\");\n\t\t\t}\n\t\t}\n\t}\n\n\treturn output.join(\"\");\n};\n\nexport function serialize(components:URIComponents, options:URIOptions = {}):string {\n\tconst protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL);\n\tconst uriTokens:Array = [];\n\n\t//find scheme handler\n\tconst schemeHandler = SCHEMES[(options.scheme || components.scheme || \"\").toLowerCase()];\n\n\t//perform scheme specific serialization\n\tif (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);\n\n\tif (components.host) {\n\t\t//if host component is an IPv6 address\n\t\tif (protocol.IPV6ADDRESS.test(components.host)) {\n\t\t\t//TODO: normalize IPv6 address as per RFC 5952\n\t\t}\n\n\t\t//if host component is a domain name\n\t\telse if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) {\n\t\t\t//convert IDN via punycode\n\t\t\ttry {\n\t\t\t\tcomponents.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host));\n\t\t\t} catch (e) {\n\t\t\t\tcomponents.error = components.error || \"Host's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t}\n\t\t}\n\t}\n\n\t//normalize encoding\n\t_normalizeComponentEncoding(components, protocol);\n\n\tif (options.reference !== \"suffix\" && components.scheme) {\n\t\turiTokens.push(components.scheme);\n\t\turiTokens.push(\":\");\n\t}\n\n\tconst authority = _recomposeAuthority(components, options);\n\tif (authority !== undefined) {\n\t\tif (options.reference !== \"suffix\") {\n\t\t\turiTokens.push(\"//\");\n\t\t}\n\n\t\turiTokens.push(authority);\n\n\t\tif (components.path && components.path.charAt(0) !== \"/\") {\n\t\t\turiTokens.push(\"/\");\n\t\t}\n\t}\n\n\tif (components.path !== undefined) {\n\t\tlet s = components.path;\n\n\t\tif (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {\n\t\t\ts = removeDotSegments(s);\n\t\t}\n\n\t\tif (authority === undefined) {\n\t\t\ts = s.replace(/^\\/\\//, \"/%2F\"); //don't allow the path to start with \"//\"\n\t\t}\n\n\t\turiTokens.push(s);\n\t}\n\n\tif (components.query !== undefined) {\n\t\turiTokens.push(\"?\");\n\t\turiTokens.push(components.query);\n\t}\n\n\tif (components.fragment !== undefined) {\n\t\turiTokens.push(\"#\");\n\t\turiTokens.push(components.fragment);\n\t}\n\n\treturn uriTokens.join(\"\"); //merge tokens into a string\n};\n\nexport function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents {\n\tconst target:URIComponents = {};\n\n\tif (!skipNormalization) {\n\t\tbase = parse(serialize(base, options), options); //normalize base components\n\t\trelative = parse(serialize(relative, options), options); //normalize relative components\n\t}\n\toptions = options || {};\n\n\tif (!options.tolerant && relative.scheme) {\n\t\ttarget.scheme = relative.scheme;\n\t\t//target.authority = relative.authority;\n\t\ttarget.userinfo = relative.userinfo;\n\t\ttarget.host = relative.host;\n\t\ttarget.port = relative.port;\n\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\ttarget.query = relative.query;\n\t} else {\n\t\tif (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {\n\t\t\t//target.authority = relative.authority;\n\t\t\ttarget.userinfo = relative.userinfo;\n\t\t\ttarget.host = relative.host;\n\t\t\ttarget.port = relative.port;\n\t\t\ttarget.path = removeDotSegments(relative.path || \"\");\n\t\t\ttarget.query = relative.query;\n\t\t} else {\n\t\t\tif (!relative.path) {\n\t\t\t\ttarget.path = base.path;\n\t\t\t\tif (relative.query !== undefined) {\n\t\t\t\t\ttarget.query = relative.query;\n\t\t\t\t} else {\n\t\t\t\t\ttarget.query = base.query;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (relative.path.charAt(0) === \"/\") {\n\t\t\t\t\ttarget.path = removeDotSegments(relative.path);\n\t\t\t\t} else {\n\t\t\t\t\tif ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {\n\t\t\t\t\t\ttarget.path = \"/\" + relative.path;\n\t\t\t\t\t} else if (!base.path) {\n\t\t\t\t\t\ttarget.path = relative.path;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttarget.path = base.path.slice(0, base.path.lastIndexOf(\"/\") + 1) + relative.path;\n\t\t\t\t\t}\n\t\t\t\t\ttarget.path = removeDotSegments(target.path);\n\t\t\t\t}\n\t\t\t\ttarget.query = relative.query;\n\t\t\t}\n\t\t\t//target.authority = base.authority;\n\t\t\ttarget.userinfo = base.userinfo;\n\t\t\ttarget.host = base.host;\n\t\t\ttarget.port = base.port;\n\t\t}\n\t\ttarget.scheme = base.scheme;\n\t}\n\n\ttarget.fragment = relative.fragment;\n\n\treturn target;\n};\n\nexport function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string {\n\tconst schemelessOptions = assign({ scheme : 'null' }, options);\n\treturn serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);\n};\n\nexport function normalize(uri:string, options?:URIOptions):string;\nexport function normalize(uri:URIComponents, options?:URIOptions):URIComponents;\nexport function normalize(uri:any, options?:URIOptions):any {\n\tif (typeof uri === \"string\") {\n\t\turi = serialize(parse(uri, options), options);\n\t} else if (typeOf(uri) === \"object\") {\n\t\turi = parse(serialize(uri, options), options);\n\t}\n\n\treturn uri;\n};\n\nexport function equal(uriA:string, uriB:string, options?: URIOptions):boolean;\nexport function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean;\nexport function equal(uriA:any, uriB:any, options?:URIOptions):boolean {\n\tif (typeof uriA === \"string\") {\n\t\turiA = serialize(parse(uriA, options), options);\n\t} else if (typeOf(uriA) === \"object\") {\n\t\turiA = serialize(uriA, options);\n\t}\n\n\tif (typeof uriB === \"string\") {\n\t\turiB = serialize(parse(uriB, options), options);\n\t} else if (typeOf(uriB) === \"object\") {\n\t\turiB = serialize(uriB, options);\n\t}\n\n\treturn uriA === uriB;\n};\n\nexport function escapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar);\n};\n\nexport function unescapeComponent(str:string, options?:URIOptions):string {\n\treturn str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars);\n};\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, pctDecChars, unescapeComponent } from \"../uri\";\nimport punycode from \"punycode\";\nimport { merge, subexp, toUpperCase, toArray } from \"../util\";\n\nexport interface MailtoHeaders {\n\t[hfname:string]:string\n}\n\nexport interface MailtoComponents extends URIComponents {\n\tto:Array,\n\theaders?:MailtoHeaders,\n\tsubject?:string,\n\tbody?:string\n}\n\nconst O:MailtoHeaders = {};\nconst isIRI = true;\n\n//RFC 3986\nconst UNRESERVED$$ = \"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\" + (isIRI ? \"\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF\" : \"\") + \"]\";\nconst HEXDIG$$ = \"[0-9A-Fa-f]\"; //case-insensitive\nconst PCT_ENCODED$ = subexp(subexp(\"%[EFef]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%[89A-Fa-f]\" + HEXDIG$$ + \"%\" + HEXDIG$$ + HEXDIG$$) + \"|\" + subexp(\"%\" + HEXDIG$$ + HEXDIG$$)); //expanded\n\n//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; =\n//const ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\#\\\\$\\\\%\\\\&\\\\'\\\\*\\\\+\\\\-\\\\/\\\\=\\\\?\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QTEXT$$ = \"[\\\\x01-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F]\"; //(%d1-8 / %d11-12 / %d14-31 / %d127)\n//const QTEXT$$ = merge(\"[\\\\x21\\\\x23-\\\\x5B\\\\x5D-\\\\x7E]\", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext\n//const VCHAR$$ = \"[\\\\x21-\\\\x7E]\";\n//const WSP$$ = \"[\\\\x20\\\\x09]\";\n//const OBS_QP$ = subexp(\"\\\\\\\\\" + merge(\"[\\\\x00\\\\x0D\\\\x0A]\", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext\n//const FWS$ = subexp(subexp(WSP$$ + \"*\" + \"\\\\x0D\\\\x0A\") + \"?\" + WSP$$ + \"+\");\n//const QUOTED_PAIR$ = subexp(subexp(\"\\\\\\\\\" + subexp(VCHAR$$ + \"|\" + WSP$$)) + \"|\" + OBS_QP$);\n//const QUOTED_STRING$ = subexp('\\\\\"' + subexp(FWS$ + \"?\" + QCONTENT$) + \"*\" + FWS$ + \"?\" + '\\\\\"');\nconst ATEXT$$ = \"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\";\nconst QTEXT$$ = \"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\";\nconst VCHAR$$ = merge(QTEXT$$, \"[\\\\\\\"\\\\\\\\]\");\nconst DOT_ATOM_TEXT$ = subexp(ATEXT$$ + \"+\" + subexp(\"\\\\.\" + ATEXT$$ + \"+\") + \"*\");\nconst QUOTED_PAIR$ = subexp(\"\\\\\\\\\" + VCHAR$$);\nconst QCONTENT$ = subexp(QTEXT$$ + \"|\" + QUOTED_PAIR$);\nconst QUOTED_STRING$ = subexp('\\\\\"' + QCONTENT$ + \"*\" + '\\\\\"');\n\n//RFC 6068\nconst DTEXT_NO_OBS$$ = \"[\\\\x21-\\\\x5A\\\\x5E-\\\\x7E]\"; //%d33-90 / %d94-126\nconst SOME_DELIMS$$ = \"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\";\nconst QCHAR$ = subexp(UNRESERVED$$ + \"|\" + PCT_ENCODED$ + \"|\" + SOME_DELIMS$$);\nconst DOMAIN$ = subexp(DOT_ATOM_TEXT$ + \"|\" + \"\\\\[\" + DTEXT_NO_OBS$$ + \"*\" + \"\\\\]\");\nconst LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + \"|\" + QUOTED_STRING$);\nconst ADDR_SPEC$ = subexp(LOCAL_PART$ + \"\\\\@\" + DOMAIN$);\nconst TO$ = subexp(ADDR_SPEC$ + subexp(\"\\\\,\" + ADDR_SPEC$) + \"*\");\nconst HFNAME$ = subexp(QCHAR$ + \"*\");\nconst HFVALUE$ = HFNAME$;\nconst HFIELD$ = subexp(HFNAME$ + \"\\\\=\" + HFVALUE$);\nconst HFIELDS2$ = subexp(HFIELD$ + subexp(\"\\\\&\" + HFIELD$) + \"*\");\nconst HFIELDS$ = subexp(\"\\\\?\" + HFIELDS2$);\nconst MAILTO_URI = new RegExp(\"^mailto\\\\:\" + TO$ + \"?\" + HFIELDS$ + \"?$\");\n\nconst UNRESERVED = new RegExp(UNRESERVED$$, \"g\");\nconst PCT_ENCODED = new RegExp(PCT_ENCODED$, \"g\");\nconst NOT_LOCAL_PART = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", '[\\\\\"]', VCHAR$$), \"g\");\nconst NOT_DOMAIN = new RegExp(merge(\"[^]\", ATEXT$$, \"[\\\\.]\", \"[\\\\[]\", DTEXT_NO_OBS$$, \"[\\\\]]\"), \"g\");\nconst NOT_HFNAME = new RegExp(merge(\"[^]\", UNRESERVED$$, SOME_DELIMS$$), \"g\");\nconst NOT_HFVALUE = NOT_HFNAME;\nconst TO = new RegExp(\"^\" + TO$ + \"$\");\nconst HFIELDS = new RegExp(\"^\" + HFIELDS2$ + \"$\");\n\nfunction decodeUnreserved(str:string):string {\n\tconst decStr = pctDecChars(str);\n\treturn (!decStr.match(UNRESERVED) ? str : decStr);\n}\n\nconst handler:URISchemeHandler = {\n\tscheme : \"mailto\",\n\n\tparse : function (components:URIComponents, options:URIOptions):MailtoComponents {\n\t\tconst mailtoComponents = components as MailtoComponents;\n\t\tconst to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(\",\") : []);\n\t\tmailtoComponents.path = undefined;\n\n\t\tif (mailtoComponents.query) {\n\t\t\tlet unknownHeaders = false\n\t\t\tconst headers:MailtoHeaders = {};\n\t\t\tconst hfields = mailtoComponents.query.split(\"&\");\n\n\t\t\tfor (let x = 0, xl = hfields.length; x < xl; ++x) {\n\t\t\t\tconst hfield = hfields[x].split(\"=\");\n\n\t\t\t\tswitch (hfield[0]) {\n\t\t\t\t\tcase \"to\":\n\t\t\t\t\t\tconst toAddrs = hfield[1].split(\",\");\n\t\t\t\t\t\tfor (let x = 0, xl = toAddrs.length; x < xl; ++x) {\n\t\t\t\t\t\t\tto.push(toAddrs[x]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"subject\":\n\t\t\t\t\t\tmailtoComponents.subject = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"body\":\n\t\t\t\t\t\tmailtoComponents.body = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tunknownHeaders = true;\n\t\t\t\t\t\theaders[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (unknownHeaders) mailtoComponents.headers = headers;\n\t\t}\n\n\t\tmailtoComponents.query = undefined;\n\n\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\tconst addr = to[x].split(\"@\");\n\n\t\t\taddr[0] = unescapeComponent(addr[0]);\n\n\t\t\tif (!options.unicodeSupport) {\n\t\t\t\t//convert Unicode IDN -> ASCII IDN\n\t\t\t\ttry {\n\t\t\t\t\taddr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());\n\t\t\t\t} catch (e) {\n\t\t\t\t\tmailtoComponents.error = mailtoComponents.error || \"Email address's domain name can not be converted to ASCII via punycode: \" + e;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taddr[1] = unescapeComponent(addr[1], options).toLowerCase();\n\t\t\t}\n\n\t\t\tto[x] = addr.join(\"@\");\n\t\t}\n\n\t\treturn mailtoComponents;\n\t},\n\n\tserialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents {\n\t\tconst components = mailtoComponents as URIComponents;\n\t\tconst to = toArray(mailtoComponents.to);\n\t\tif (to) {\n\t\t\tfor (let x = 0, xl = to.length; x < xl; ++x) {\n\t\t\t\tconst toAddr = String(to[x]);\n\t\t\t\tconst atIdx = toAddr.lastIndexOf(\"@\");\n\t\t\t\tconst localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);\n\t\t\t\tlet domain = toAddr.slice(atIdx + 1);\n\n\t\t\t\t//convert IDN via punycode\n\t\t\t\ttry {\n\t\t\t\t\tdomain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tcomponents.error = components.error || \"Email address's domain name can not be converted to \" + (!options.iri ? \"ASCII\" : \"Unicode\") + \" via punycode: \" + e;\n\t\t\t\t}\n\n\t\t\t\tto[x] = localPart + \"@\" + domain;\n\t\t\t}\n\n\t\t\tcomponents.path = to.join(\",\");\n\t\t}\n\n\t\tconst headers = mailtoComponents.headers = mailtoComponents.headers || {};\n\n\t\tif (mailtoComponents.subject) headers[\"subject\"] = mailtoComponents.subject;\n\t\tif (mailtoComponents.body) headers[\"body\"] = mailtoComponents.body;\n\n\t\tconst fields = [];\n\t\tfor (const name in headers) {\n\t\t\tif (headers[name] !== O[name]) {\n\t\t\t\tfields.push(\n\t\t\t\t\tname.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) +\n\t\t\t\t\t\"=\" +\n\t\t\t\t\theaders[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (fields.length) {\n\t\t\tcomponents.query = fields.join(\"&\");\n\t\t}\n\n\t\treturn components;\n\t}\n}\n\nexport default handler;","import { URIRegExps } from \"./uri\";\nimport { buildExps } from \"./regexps-uri\";\n\nexport default buildExps(true);\n","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"http\",\n\n\tdomainHost : true,\n\n\tparse : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//report missing host\n\t\tif (!components.host) {\n\t\t\tcomponents.error = components.error || \"HTTP URIs must have a host.\";\n\t\t}\n\n\t\treturn components;\n\t},\n\n\tserialize : function (components:URIComponents, options:URIOptions):URIComponents {\n\t\t//normalize the default port\n\t\tif (components.port === (String(components.scheme).toLowerCase() !== \"https\" ? 80 : 443) || components.port === \"\") {\n\t\t\tcomponents.port = undefined;\n\t\t}\n\t\t\n\t\t//normalize the empty path\n\t\tif (!components.path) {\n\t\t\tcomponents.path = \"/\";\n\t\t}\n\n\t\t//NOTE: We do not parse query strings for HTTP URIs\n\t\t//as WWW Form Url Encoded query strings are part of the HTML4+ spec,\n\t\t//and not the HTTP spec.\n\n\t\treturn components;\n\t}\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport http from \"./http\";\n\nconst handler:URISchemeHandler = {\n\tscheme : \"https\",\n\tdomainHost : http.domainHost,\n\tparse : http.parse,\n\tserialize : http.serialize\n}\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { pctEncChar, SCHEMES } from \"../uri\";\n\nexport interface URNComponents extends URIComponents {\n\tnid?:string;\n\tnss?:string;\n}\n\nexport interface URNOptions extends URIOptions {\n\tnid?:string;\n}\n\nconst NID$ = \"(?:[0-9A-Za-z][0-9A-Za-z\\\\-]{1,31})\";\nconst PCT_ENCODED$ = \"(?:\\\\%[0-9A-Fa-f]{2})\";\nconst TRANS$$ = \"[0-9A-Za-z\\\\(\\\\)\\\\+\\\\,\\\\-\\\\.\\\\:\\\\=\\\\@\\\\;\\\\$\\\\_\\\\!\\\\*\\\\'\\\\/\\\\?\\\\#]\";\nconst NSS$ = \"(?:(?:\" + PCT_ENCODED$ + \"|\" + TRANS$$ + \")+)\";\nconst URN_SCHEME = new RegExp(\"^urn\\\\:(\" + NID$ + \")$\");\nconst URN_PATH = new RegExp(\"^(\" + NID$ + \")\\\\:(\" + NSS$ + \")$\");\nconst URN_PARSE = /^([^\\:]+)\\:(.*)/;\nconst URN_EXCLUDED = /[\\x00-\\x20\\\\\\\"\\&\\<\\>\\[\\]\\^\\`\\{\\|\\}\\~\\x7F-\\xFF]/g;\n\n//RFC 2141\nconst handler:URISchemeHandler = {\n\tscheme : \"urn\",\n\n\tparse : function (components:URIComponents, options:URNOptions):URNComponents {\n\t\tconst matches = components.path && components.path.match(URN_PARSE);\n\t\tlet urnComponents = components as URNComponents;\n\n\t\tif (matches) {\n\t\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\t\tconst nid = matches[1].toLowerCase();\n\t\t\tconst nss = matches[2];\n\t\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\t\turnComponents.nid = nid;\n\t\t\turnComponents.nss = nss;\n\t\t\turnComponents.path = undefined;\n\n\t\t\tif (schemeHandler) {\n\t\t\t\turnComponents = schemeHandler.parse(urnComponents, options) as URNComponents;\n\t\t\t}\n\t\t} else {\n\t\t\turnComponents.error = urnComponents.error || \"URN can not be parsed.\";\n\t\t}\n\n\t\treturn urnComponents;\n\t},\n\n\tserialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents {\n\t\tconst scheme = options.scheme || urnComponents.scheme || \"urn\";\n\t\tconst nid = urnComponents.nid;\n\t\tconst urnScheme = `${scheme}:${options.nid || nid}`;\n\t\tconst schemeHandler = SCHEMES[urnScheme];\n\n\t\tif (schemeHandler) {\n\t\t\turnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents;\n\t\t}\n\n\t\tconst uriComponents = urnComponents as URIComponents;\n\t\tconst nss = urnComponents.nss;\n\t\turiComponents.path = `${nid || options.nid}:${nss}`;\n\n\t\treturn uriComponents;\n\t},\n};\n\nexport default handler;","import { URISchemeHandler, URIComponents, URIOptions } from \"../uri\";\nimport { URNComponents } from \"./urn\";\nimport { SCHEMES } from \"../uri\";\n\nexport interface UUIDComponents extends URNComponents {\n\tuuid?: string;\n}\n\nconst UUID = /^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/;\nconst UUID_PARSE = /^[0-9A-Fa-f\\-]{36}/;\n\n//RFC 4122\nconst handler:URISchemeHandler = {\n\tscheme : \"urn:uuid\",\n\n\tparse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents {\n\t\tconst uuidComponents = urnComponents as UUIDComponents;\n\t\tuuidComponents.uuid = uuidComponents.nss;\n\t\tuuidComponents.nss = undefined;\n\n\t\tif (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {\n\t\t\tuuidComponents.error = uuidComponents.error || \"UUID is not valid.\";\n\t\t}\n\n\t\treturn uuidComponents;\n\t},\n\n\tserialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents {\n\t\tconst urnComponents = uuidComponents as URNComponents;\n\t\t//normalize UUID\n\t\turnComponents.nss = (uuidComponents.uuid || \"\").toLowerCase();\n\t\treturn urnComponents;\n\t},\n};\n\nexport default handler;","import { SCHEMES } from \"./uri\";\n\nimport http from \"./schemes/http\";\nSCHEMES[http.scheme] = http;\n\nimport https from \"./schemes/https\";\nSCHEMES[https.scheme] = https;\n\nimport mailto from \"./schemes/mailto\";\nSCHEMES[mailto.scheme] = mailto;\n\nimport urn from \"./schemes/urn\";\nSCHEMES[urn.scheme] = urn;\n\nimport uuid from \"./schemes/urn-uuid\";\nSCHEMES[uuid.scheme] = uuid;\n\nexport * from \"./uri\";\n"]} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.d.ts new file mode 100644 index 00000000000000..be95efb268e774 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.d.ts @@ -0,0 +1 @@ +export * from "./uri"; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js new file mode 100644 index 00000000000000..de8868ff6879b6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js @@ -0,0 +1,13 @@ +import { SCHEMES } from "./uri"; +import http from "./schemes/http"; +SCHEMES[http.scheme] = http; +import https from "./schemes/https"; +SCHEMES[https.scheme] = https; +import mailto from "./schemes/mailto"; +SCHEMES[mailto.scheme] = mailto; +import urn from "./schemes/urn"; +SCHEMES[urn.scheme] = urn; +import uuid from "./schemes/urn-uuid"; +SCHEMES[uuid.scheme] = uuid; +export * from "./uri"; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js.map new file mode 100644 index 00000000000000..e9e400876a37e4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE5B,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAE9B,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEhC,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AAE1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE5B,cAAc,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.d.ts new file mode 100644 index 00000000000000..6fc0f5dba28fc4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.d.ts @@ -0,0 +1,3 @@ +import { URIRegExps } from "./uri"; +declare const _default: URIRegExps; +export default _default; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js new file mode 100644 index 00000000000000..86239cf38cb01c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js @@ -0,0 +1,3 @@ +import { buildExps } from "./regexps-uri"; +export default buildExps(true); +//# sourceMappingURL=regexps-iri.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js.map new file mode 100644 index 00000000000000..2269c580c7449d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-iri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regexps-iri.js","sourceRoot":"","sources":["../../src/regexps-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAe,SAAS,CAAC,IAAI,CAAC,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.d.ts new file mode 100644 index 00000000000000..10ec87bdf913a1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.d.ts @@ -0,0 +1,4 @@ +import { URIRegExps } from "./uri"; +export declare function buildExps(isIRI: boolean): URIRegExps; +declare const _default: URIRegExps; +export default _default; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js new file mode 100644 index 00000000000000..6e7e9a0219fba1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js @@ -0,0 +1,42 @@ +import { merge, subexp } from "./util"; +export function buildExps(isIRI) { + const ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), //case-insensitive + LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$ + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} +export default buildExps(false); +//# sourceMappingURL=regexps-uri.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js.map new file mode 100644 index 00000000000000..cb028b804e3d5e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/regexps-uri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regexps-uri.js","sourceRoot":"","sources":["../../src/regexps-uri.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.d.ts new file mode 100644 index 00000000000000..3899956970e5a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.d.ts @@ -0,0 +1,3 @@ +import { URISchemeHandler } from "../uri"; +declare const handler: URISchemeHandler; +export default handler; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js new file mode 100644 index 00000000000000..a280369881c130 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js @@ -0,0 +1,27 @@ +const handler = { + scheme: "http", + domainHost: true, + parse: function (components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function (components, options) { + //normalize the default port + if (components.port === (String(components.scheme).toLowerCase() !== "https" ? 80 : 443) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + } +}; +export default handler; +//# sourceMappingURL=http.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js.map new file mode 100644 index 00000000000000..83e2ad54e41403 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/http.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/schemes/http.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,MAAM;IAEf,UAAU,EAAG,IAAI;IAEjB,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,qBAAqB;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACrB,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC;SACrE;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,SAAS,EAAG,UAAU,UAAwB,EAAE,OAAkB;QACjE,4BAA4B;QAC5B,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE;YACnH,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;SAC5B;QAED,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACrB,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;SACtB;QAED,mDAAmD;QACnD,oEAAoE;QACpE,wBAAwB;QAExB,OAAO,UAAU,CAAC;IACnB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.d.ts new file mode 100644 index 00000000000000..3899956970e5a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.d.ts @@ -0,0 +1,3 @@ +import { URISchemeHandler } from "../uri"; +declare const handler: URISchemeHandler; +export default handler; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js new file mode 100644 index 00000000000000..fc3c71a6c2847c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js @@ -0,0 +1,9 @@ +import http from "./http"; +const handler = { + scheme: "https", + domainHost: http.domainHost, + parse: http.parse, + serialize: http.serialize +}; +export default handler; +//# sourceMappingURL=https.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js.map new file mode 100644 index 00000000000000..385b8efeaa0366 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/https.js.map @@ -0,0 +1 @@ +{"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/schemes/https.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,OAAO,GAAoB;IAChC,MAAM,EAAG,OAAO;IAChB,UAAU,EAAG,IAAI,CAAC,UAAU;IAC5B,KAAK,EAAG,IAAI,CAAC,KAAK;IAClB,SAAS,EAAG,IAAI,CAAC,SAAS;CAC1B,CAAA;AAED,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts new file mode 100644 index 00000000000000..b0db4bfc1a5e01 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts @@ -0,0 +1,12 @@ +import { URISchemeHandler, URIComponents } from "../uri"; +export interface MailtoHeaders { + [hfname: string]: string; +} +export interface MailtoComponents extends URIComponents { + to: Array; + headers?: MailtoHeaders; + subject?: string; + body?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js new file mode 100644 index 00000000000000..2553713cde8c8b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js @@ -0,0 +1,148 @@ +import { pctEncChar, pctDecChars, unescapeComponent } from "../uri"; +import punycode from "punycode"; +import { merge, subexp, toUpperCase, toArray } from "../util"; +const O = {}; +const isIRI = true; +//RFC 3986 +const UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +const HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +const PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +const ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +const QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +const VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +const DOT_ATOM_TEXT$ = subexp(ATEXT$$ + "+" + subexp("\\." + ATEXT$$ + "+") + "*"); +const QUOTED_PAIR$ = subexp("\\\\" + VCHAR$$); +const QCONTENT$ = subexp(QTEXT$$ + "|" + QUOTED_PAIR$); +const QUOTED_STRING$ = subexp('\\"' + QCONTENT$ + "*" + '\\"'); +//RFC 6068 +const DTEXT_NO_OBS$$ = "[\\x21-\\x5A\\x5E-\\x7E]"; //%d33-90 / %d94-126 +const SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +const QCHAR$ = subexp(UNRESERVED$$ + "|" + PCT_ENCODED$ + "|" + SOME_DELIMS$$); +const DOMAIN$ = subexp(DOT_ATOM_TEXT$ + "|" + "\\[" + DTEXT_NO_OBS$$ + "*" + "\\]"); +const LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + "|" + QUOTED_STRING$); +const ADDR_SPEC$ = subexp(LOCAL_PART$ + "\\@" + DOMAIN$); +const TO$ = subexp(ADDR_SPEC$ + subexp("\\," + ADDR_SPEC$) + "*"); +const HFNAME$ = subexp(QCHAR$ + "*"); +const HFVALUE$ = HFNAME$; +const HFIELD$ = subexp(HFNAME$ + "\\=" + HFVALUE$); +const HFIELDS2$ = subexp(HFIELD$ + subexp("\\&" + HFIELD$) + "*"); +const HFIELDS$ = subexp("\\?" + HFIELDS2$); +const MAILTO_URI = new RegExp("^mailto\\:" + TO$ + "?" + HFIELDS$ + "?$"); +const UNRESERVED = new RegExp(UNRESERVED$$, "g"); +const PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +const NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +const NOT_DOMAIN = new RegExp(merge("[^]", ATEXT$$, "[\\.]", "[\\[]", DTEXT_NO_OBS$$, "[\\]]"), "g"); +const NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +const NOT_HFVALUE = NOT_HFNAME; +const TO = new RegExp("^" + TO$ + "$"); +const HFIELDS = new RegExp("^" + HFIELDS2$ + "$"); +function decodeUnreserved(str) { + const decStr = pctDecChars(str); + return (!decStr.match(UNRESERVED) ? str : decStr); +} +const handler = { + scheme: "mailto", + parse: function (components, options) { + const mailtoComponents = components; + const to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(",") : []); + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + let unknownHeaders = false; + const headers = {}; + const hfields = mailtoComponents.query.split("&"); + for (let x = 0, xl = hfields.length; x < xl; ++x) { + const hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + const toAddrs = hfield[1].split(","); + for (let x = 0, xl = toAddrs.length; x < xl; ++x) { + to.push(toAddrs[x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) + mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (let x = 0, xl = to.length; x < xl; ++x) { + const addr = to[x].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } + catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } + else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[x] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function (mailtoComponents, options) { + const components = mailtoComponents; + const to = toArray(mailtoComponents.to); + if (to) { + for (let x = 0, xl = to.length; x < xl; ++x) { + const toAddr = String(to[x]); + const atIdx = toAddr.lastIndexOf("@"); + const localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + let domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain)); + } + catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + const headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) + headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) + headers["body"] = mailtoComponents.body; + const fields = []; + for (const name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + + "=" + + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } +}; +export default handler; +//# sourceMappingURL=mailto.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js.map new file mode 100644 index 00000000000000..82dba9a1612b09 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/mailto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mailto.js","sourceRoot":"","sources":["../../../src/schemes/mailto.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts new file mode 100644 index 00000000000000..261ddcea665a5c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts @@ -0,0 +1,7 @@ +import { URISchemeHandler, URIOptions } from "../uri"; +import { URNComponents } from "./urn"; +export interface UUIDComponents extends URNComponents { + uuid?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js new file mode 100644 index 00000000000000..044c8a80daa6df --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js @@ -0,0 +1,23 @@ +const UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +const UUID_PARSE = /^[0-9A-Fa-f\-]{36}/; +//RFC 4122 +const handler = { + scheme: "urn:uuid", + parse: function (urnComponents, options) { + const uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function (uuidComponents, options) { + const urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + }, +}; +export default handler; +//# sourceMappingURL=urn-uuid.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map new file mode 100644 index 00000000000000..3b7a8b3ae607c8 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"urn-uuid.js","sourceRoot":"","sources":["../../../src/schemes/urn-uuid.ts"],"names":[],"mappings":"AAQA,MAAM,IAAI,GAAG,0DAA0D,CAAC;AACxE,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,UAAU;AACV,MAAM,OAAO,GAA+D;IAC3E,MAAM,EAAG,UAAU;IAEnB,KAAK,EAAG,UAAU,aAA2B,EAAE,OAAkB;QAChE,MAAM,cAAc,GAAG,aAA+B,CAAC;QACvD,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC;QACzC,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;YACpF,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,oBAAoB,CAAC;SACpE;QAED,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,SAAS,EAAG,UAAU,cAA6B,EAAE,OAAkB;QACtE,MAAM,aAAa,GAAG,cAA+B,CAAC;QACtD,gBAAgB;QAChB,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,aAAa,CAAC;IACtB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.d.ts new file mode 100644 index 00000000000000..49481055adffa2 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.d.ts @@ -0,0 +1,10 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +export interface URNComponents extends URIComponents { + nid?: string; + nss?: string; +} +export interface URNOptions extends URIOptions { + nid?: string; +} +declare const handler: URISchemeHandler; +export default handler; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js new file mode 100644 index 00000000000000..b53161c2eece14 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js @@ -0,0 +1,49 @@ +import { SCHEMES } from "../uri"; +const NID$ = "(?:[0-9A-Za-z][0-9A-Za-z\\-]{1,31})"; +const PCT_ENCODED$ = "(?:\\%[0-9A-Fa-f]{2})"; +const TRANS$$ = "[0-9A-Za-z\\(\\)\\+\\,\\-\\.\\:\\=\\@\\;\\$\\_\\!\\*\\'\\/\\?\\#]"; +const NSS$ = "(?:(?:" + PCT_ENCODED$ + "|" + TRANS$$ + ")+)"; +const URN_SCHEME = new RegExp("^urn\\:(" + NID$ + ")$"); +const URN_PATH = new RegExp("^(" + NID$ + ")\\:(" + NSS$ + ")$"); +const URN_PARSE = /^([^\:]+)\:(.*)/; +const URN_EXCLUDED = /[\x00-\x20\\\"\&\<\>\[\]\^\`\{\|\}\~\x7F-\xFF]/g; +//RFC 2141 +const handler = { + scheme: "urn", + parse: function (components, options) { + const matches = components.path && components.path.match(URN_PARSE); + let urnComponents = components; + if (matches) { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = matches[1].toLowerCase(); + const nss = matches[2]; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } + else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function (urnComponents, options) { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = urnComponents.nid; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + const uriComponents = urnComponents; + const nss = urnComponents.nss; + uriComponents.path = `${nid || options.nid}:${nss}`; + return uriComponents; + }, +}; +export default handler; +//# sourceMappingURL=urn.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js.map new file mode 100644 index 00000000000000..ea43b0bebc3a0b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/schemes/urn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"urn.js","sourceRoot":"","sources":["../../../src/schemes/urn.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,QAAQ,CAAC;AAW7C,MAAM,IAAI,GAAG,qCAAqC,CAAC;AACnD,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,OAAO,GAAG,mEAAmE,CAAC;AACpF,MAAM,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;AAC7D,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACxD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,YAAY,GAAG,iDAAiD,CAAC;AAEvE,UAAU;AACV,MAAM,OAAO,GAA8C;IAC1D,MAAM,EAAG,KAAK;IAEd,KAAK,EAAG,UAAU,UAAwB,EAAE,OAAkB;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,aAAa,GAAG,UAA2B,CAAC;QAEhD,IAAI,OAAO,EAAE;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC;YAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzC,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;YACxB,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;YAE/B,IAAI,aAAa,EAAE;gBAClB,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAkB,CAAC;aAC7E;SACD;aAAM;YACN,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,wBAAwB,CAAC;SACtE;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,SAAS,EAAG,UAAU,aAA2B,EAAE,OAAkB;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC;QAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC9B,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,aAAa,EAAE;YAClB,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAkB,CAAC;SACjF;QAED,MAAM,aAAa,GAAG,aAA8B,CAAC;QACrD,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC9B,aAAa,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QAEpD,OAAO,aAAa,CAAC;IACtB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.d.ts new file mode 100644 index 00000000000000..320f53417f1e85 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.d.ts @@ -0,0 +1,59 @@ +export interface URIComponents { + scheme?: string; + userinfo?: string; + host?: string; + port?: number | string; + path?: string; + query?: string; + fragment?: string; + reference?: string; + error?: string; +} +export interface URIOptions { + scheme?: string; + reference?: string; + tolerant?: boolean; + absolutePath?: boolean; + iri?: boolean; + unicodeSupport?: boolean; + domainHost?: boolean; +} +export interface URISchemeHandler { + scheme: string; + parse(components: ParentComponents, options: Options): Components; + serialize(components: Components, options: Options): ParentComponents; + unicodeSupport?: boolean; + domainHost?: boolean; + absolutePath?: boolean; +} +export interface URIRegExps { + NOT_SCHEME: RegExp; + NOT_USERINFO: RegExp; + NOT_HOST: RegExp; + NOT_PATH: RegExp; + NOT_PATH_NOSCHEME: RegExp; + NOT_QUERY: RegExp; + NOT_FRAGMENT: RegExp; + ESCAPE: RegExp; + UNRESERVED: RegExp; + OTHER_CHARS: RegExp; + PCT_ENCODED: RegExp; + IPV4ADDRESS: RegExp; + IPV6ADDRESS: RegExp; +} +export declare const SCHEMES: { + [scheme: string]: URISchemeHandler; +}; +export declare function pctEncChar(chr: string): string; +export declare function pctDecChars(str: string): string; +export declare function parse(uriString: string, options?: URIOptions): URIComponents; +export declare function removeDotSegments(input: string): string; +export declare function serialize(components: URIComponents, options?: URIOptions): string; +export declare function resolveComponents(base: URIComponents, relative: URIComponents, options?: URIOptions, skipNormalization?: boolean): URIComponents; +export declare function resolve(baseURI: string, relativeURI: string, options?: URIOptions): string; +export declare function normalize(uri: string, options?: URIOptions): string; +export declare function normalize(uri: URIComponents, options?: URIOptions): URIComponents; +export declare function equal(uriA: string, uriB: string, options?: URIOptions): boolean; +export declare function equal(uriA: URIComponents, uriB: URIComponents, options?: URIOptions): boolean; +export declare function escapeComponent(str: string, options?: URIOptions): string; +export declare function unescapeComponent(str: string, options?: URIOptions): string; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js new file mode 100644 index 00000000000000..2fb6d713e3a587 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js @@ -0,0 +1,480 @@ +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ +import URI_PROTOCOL from "./regexps-uri"; +import IRI_PROTOCOL from "./regexps-iri"; +import punycode from "punycode"; +import { toUpperCase, typeOf, assign } from "./util"; +export const SCHEMES = {}; +export function pctEncChar(chr) { + const c = chr.charCodeAt(0); + let e; + if (c < 16) + e = "%0" + c.toString(16).toUpperCase(); + else if (c < 128) + e = "%" + c.toString(16).toUpperCase(); + else if (c < 2048) + e = "%" + ((c >> 6) | 192).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + else + e = "%" + ((c >> 12) | 224).toString(16).toUpperCase() + "%" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + return e; +} +export function pctDecChars(str) { + let newStr = ""; + let i = 0; + const il = str.length; + while (i < il) { + const c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } + else if (c >= 194 && c < 224) { + if ((il - i) >= 6) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + } + else { + newStr += str.substr(i, 6); + } + i += 6; + } + else if (c >= 224) { + if ((il - i) >= 9) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + const c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + } + else { + newStr += str.substr(i, 9); + } + i += 9; + } + else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; +} +function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + const decStr = pctDecChars(str); + return (!decStr.match(protocol.UNRESERVED) ? str : decStr); + } + if (components.scheme) + components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) + components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) + components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) + components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) + components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) + components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; +} +; +function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; +} +function _normalizeIPv4(host, protocol) { + const matches = host.match(protocol.IPV4ADDRESS) || []; + const [, address] = matches; + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } + else { + return host; + } +} +function _normalizeIPv6(host, protocol) { + const matches = host.match(protocol.IPV6ADDRESS) || []; + const [, address, zone] = matches; + if (address) { + const [last, first] = address.toLowerCase().split('::').reverse(); + const firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + const lastFields = last.split(":").map(_stripLeadingZeros); + const isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + const fieldCount = isLastFieldIPv4Address ? 7 : 8; + const lastFieldsStart = lastFields.length - fieldCount; + const fields = Array(fieldCount); + for (let x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + const allZeroFields = fields.reduce((acc, field, index) => { + if (!field || field === "0") { + const lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } + else { + acc.push({ index, length: 1 }); + } + } + return acc; + }, []); + const longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0]; + let newHost; + if (longestZeroFields && longestZeroFields.length > 1) { + const newFirst = fields.slice(0, longestZeroFields.index); + const newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } + else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } + else { + return host; + } +} +const URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +const NO_MATCH_IS_UNDEFINED = ("").match(/(){0}/)[1] === undefined; +export function parse(uriString, options = {}) { + const components = {}; + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + if (options.reference === "suffix") + uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + const matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } + else { //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = (uriString.indexOf("@") !== -1 ? matches[3] : undefined); + components.host = (uriString.indexOf("//") !== -1 ? matches[4] : undefined); + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = (uriString.indexOf("?") !== -1 ? matches[7] : undefined); + components.fragment = (uriString.indexOf("#") !== -1 ? matches[8] : undefined); + //fix port number + if (isNaN(components.port)) { + components.port = (uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined); + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } + else if (components.scheme === undefined) { + components.reference = "relative"; + } + else if (components.fragment === undefined) { + components.reference = "absolute"; + } + else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } + catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } + else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } + else { + components.error = components.error || "URI can not be parsed."; + } + return components; +} +; +function _recomposeAuthority(components, options) { + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => "[" + $1 + ($2 ? "%25" + $2 : "") + "]")); + } + if (typeof components.port === "number") { + uriTokens.push(":"); + uriTokens.push(components.port.toString(10)); + } + return uriTokens.length ? uriTokens.join("") : undefined; +} +; +const RDS1 = /^\.\.?\//; +const RDS2 = /^\/\.(\/|$)/; +const RDS3 = /^\/\.\.(\/|$)/; +const RDS4 = /^\.\.?$/; +const RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; +export function removeDotSegments(input) { + const output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } + else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } + else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } + else if (input === "." || input === "..") { + input = ""; + } + else { + const im = input.match(RDS5); + if (im) { + const s = im[0]; + input = input.slice(s.length); + output.push(s); + } + else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); +} +; +export function serialize(components, options = {}) { + const protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens = []; + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) + schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) { + //TODO: normalize IPv6 address as per RFC 5952 + } + //if host component is a domain name + else if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) { + //convert IDN via punycode + try { + components.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host)); + } + catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + const authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + let s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string +} +; +export function resolveComponents(base, relative, options = {}, skipNormalization) { + const target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } + else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } + else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } + else { + target.query = base.query; + } + } + else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } + else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } + else if (!base.path) { + target.path = relative.path; + } + else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; +} +; +export function resolve(baseURI, relativeURI, options) { + const schemelessOptions = assign({ scheme: 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +} +; +export function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } + else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; +} +; +export function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } + else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } + else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; +} +; +export function escapeComponent(str, options) { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar); +} +; +export function unescapeComponent(str, options) { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars); +} +; +//# sourceMappingURL=uri.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js.map new file mode 100644 index 00000000000000..e1d831cb2a05e1 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/uri.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/uri.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.d.ts b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.d.ts new file mode 100644 index 00000000000000..8b484cd35ba7c7 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.d.ts @@ -0,0 +1,6 @@ +export declare function merge(...sets: Array): string; +export declare function subexp(str: string): string; +export declare function typeOf(o: any): string; +export declare function toUpperCase(str: string): string; +export declare function toArray(obj: any): Array; +export declare function assign(target: object, source: any): any; diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js new file mode 100644 index 00000000000000..45af46fe547b94 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js @@ -0,0 +1,36 @@ +export function merge(...sets) { + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + const xl = sets.length - 1; + for (let x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } + else { + return sets[0]; + } +} +export function subexp(str) { + return "(?:" + str + ")"; +} +export function typeOf(o) { + return o === undefined ? "undefined" : (o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase()); +} +export function toUpperCase(str) { + return str.toUpperCase(); +} +export function toArray(obj) { + return obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : []; +} +export function assign(target, source) { + const obj = target; + if (source) { + for (const key in source) { + obj[key] = source[key]; + } + } + return obj; +} +//# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js.map b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js.map new file mode 100644 index 00000000000000..05d9df021f9d4b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/dist/esnext/util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,IAAkB;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACrB;SAAM;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;KACf;AACF,CAAC;AAED,MAAM,iBAAiB,GAAU;IAChC,OAAO,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;AAC1B,CAAC;AAED,MAAM,iBAAiB,CAAK;IAC3B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACpJ,CAAC;AAED,MAAM,sBAAsB,GAAU;IACrC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,kBAAkB,GAAO;IAC9B,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvM,CAAC;AAGD,MAAM,iBAAiB,MAAc,EAAE,MAAW;IACjD,MAAM,GAAG,GAAG,MAAa,CAAC;IAC1B,IAAI,MAAM,EAAE;QACX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACvB;KACD;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/package.json b/tools/node_modules/eslint/node_modules/uri-js/package.json new file mode 100644 index 00000000000000..1653cb33da8e36 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/package.json @@ -0,0 +1,93 @@ +{ + "_from": "uri-js@^4.2.1", + "_id": "uri-js@4.2.2", + "_inBundle": false, + "_integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "_location": "/eslint/uri-js", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "uri-js@^4.2.1", + "name": "uri-js", + "escapedName": "uri-js", + "rawSpec": "^4.2.1", + "saveSpec": null, + "fetchSpec": "^4.2.1" + }, + "_requiredBy": [ + "/eslint/ajv" + ], + "_resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "_shasum": "94c540e1ff772956e2299507c010aea6c8838eb0", + "_spec": "uri-js@^4.2.1", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/ajv", + "author": { + "name": "Gary Court", + "email": "gary.court@gmail.com" + }, + "bugs": { + "url": "https://github.com/garycourt/uri-js/issues" + }, + "bundleDependencies": false, + "dependencies": { + "punycode": "^2.1.0" + }, + "deprecated": false, + "description": "An RFC 3986/3987 compliant, scheme extendable URI/IRI parsing/validating/resolving library for JavaScript.", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-plugin-external-helpers": "^6.22.0", + "babel-preset-latest": "^6.24.1", + "mocha": "^3.2.0", + "mocha-qunit-ui": "^0.1.3", + "rollup": "^0.41.6", + "rollup-plugin-babel": "^2.7.1", + "rollup-plugin-node-resolve": "^2.0.0", + "sorcery": "^0.10.0", + "typescript": "^2.8.1", + "uglify-js": "^2.8.14" + }, + "directories": { + "test": "tests" + }, + "homepage": "https://github.com/garycourt/uri-js", + "keywords": [ + "URI", + "IRI", + "IDN", + "URN", + "UUID", + "HTTP", + "HTTPS", + "MAILTO", + "RFC3986", + "RFC3987", + "RFC5891", + "RFC2616", + "RFC2818", + "RFC2141", + "RFC4122", + "RFC4291", + "RFC5952", + "RFC6068", + "RFC6874" + ], + "license": "BSD-2-Clause", + "main": "dist/es5/uri.all.js", + "name": "uri-js", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/garycourt/uri-js.git" + }, + "scripts": { + "build": "npm run build:esnext && npm run build:es5 && npm run build:es5:min", + "build:es5": "rollup -c && cp dist/esnext/uri.d.ts dist/es5/uri.all.d.ts && npm run build:es5:fix-sourcemap", + "build:es5:fix-sourcemap": "sorcery -i dist/es5/uri.all.js", + "build:es5:min": "uglifyjs dist/es5/uri.all.js --support-ie8 --output dist/es5/uri.all.min.js --in-source-map dist/es5/uri.all.js.map --source-map uri.all.min.js.map --comments --compress --mangle --pure-funcs merge subexp && mv uri.all.min.js.map dist/es5/ && cp dist/es5/uri.all.d.ts dist/es5/uri.all.min.d.ts", + "build:esnext": "tsc", + "test": "mocha -u mocha-qunit-ui dist/es5/uri.all.js tests/tests.js" + }, + "types": "dist/es5/uri.all.d.ts", + "version": "4.2.2" +} diff --git a/tools/node_modules/eslint/node_modules/uri-js/rollup.config.js b/tools/node_modules/eslint/node_modules/uri-js/rollup.config.js new file mode 100644 index 00000000000000..5bb8b0541b5fc5 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/rollup.config.js @@ -0,0 +1,32 @@ +import resolve from 'rollup-plugin-node-resolve'; +import babel from 'rollup-plugin-babel'; +const packageJson = require('./package.json'); + +export default { + entry : "dist/esnext/index.js", + format : "umd", + moduleName : "URI", + plugins: [ + resolve({ + module: true, + jsnext: true, + preferBuiltins: false + }), + + babel({ + "presets": [ + ["latest", { + "es2015": { + "modules": false + } + }] + ], + "plugins": ["external-helpers"], + "externalHelpers": false + } +) + ], + dest : "dist/es5/uri.all.js", + sourceMap: true, + banner: "/** @license URI.js v" + packageJson.version + " (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */" +} diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/index.ts b/tools/node_modules/eslint/node_modules/uri-js/src/index.ts new file mode 100644 index 00000000000000..6532a1bcb10562 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/index.ts @@ -0,0 +1,18 @@ +import { SCHEMES } from "./uri"; + +import http from "./schemes/http"; +SCHEMES[http.scheme] = http; + +import https from "./schemes/https"; +SCHEMES[https.scheme] = https; + +import mailto from "./schemes/mailto"; +SCHEMES[mailto.scheme] = mailto; + +import urn from "./schemes/urn"; +SCHEMES[urn.scheme] = urn; + +import uuid from "./schemes/urn-uuid"; +SCHEMES[uuid.scheme] = uuid; + +export * from "./uri"; diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/punycode.d.ts b/tools/node_modules/eslint/node_modules/uri-js/src/punycode.d.ts new file mode 100644 index 00000000000000..4ecbd34845935d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/punycode.d.ts @@ -0,0 +1,24 @@ +declare module 'punycode' { + function ucs2decode(string:string):Array; + function ucs2encode(array:Array):string; + function decode(string:string):string; + function encode(string:string):string; + function toASCII(string:string):string; + function toUnicode(string:string):string; + + interface Punycode { + 'version': '2.2.0'; + 'ucs2': { + 'decode': typeof ucs2decode; + 'encode': typeof ucs2encode; + }, + 'decode': typeof decode; + 'encode': typeof encode; + 'toASCII': typeof toASCII; + 'toUnicode': typeof toUnicode; + } + + const punycode:Punycode; + + export default punycode; +} diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/regexps-iri.ts b/tools/node_modules/eslint/node_modules/uri-js/src/regexps-iri.ts new file mode 100644 index 00000000000000..8bd605b43dba3d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/regexps-iri.ts @@ -0,0 +1,4 @@ +import { URIRegExps } from "./uri"; +import { buildExps } from "./regexps-uri"; + +export default buildExps(true); diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/regexps-uri.ts b/tools/node_modules/eslint/node_modules/uri-js/src/regexps-uri.ts new file mode 100644 index 00000000000000..8d6b5479169094 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/regexps-uri.ts @@ -0,0 +1,89 @@ +import { URIRegExps } from "./uri"; +import { merge, subexp } from "./util"; + +export function buildExps(isIRI:boolean):URIRegExps { + const + ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), + DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), //relaxed parsing rules + IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp( subexp(H16$ + "\\:") + "{6}" + LS32$), // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp( "\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp( H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$ ), //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:" ), //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), + URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + + GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$" + ; + + return { + NOT_SCHEME : new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO : new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST : new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH : new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME : new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY : new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT : new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE : new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED : new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS : new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED : new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS : new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS : new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules + }; +} + +export default buildExps(false); diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/schemes/http.ts b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/http.ts new file mode 100644 index 00000000000000..3e53145cc357dd --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/http.ts @@ -0,0 +1,36 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; + +const handler:URISchemeHandler = { + scheme : "http", + + domainHost : true, + + parse : function (components:URIComponents, options:URIOptions):URIComponents { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + + return components; + }, + + serialize : function (components:URIComponents, options:URIOptions):URIComponents { + //normalize the default port + if (components.port === (String(components.scheme).toLowerCase() !== "https" ? 80 : 443) || components.port === "") { + components.port = undefined; + } + + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + + return components; + } +}; + +export default handler; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/schemes/https.ts b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/https.ts new file mode 100644 index 00000000000000..a19a4942899982 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/https.ts @@ -0,0 +1,11 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +import http from "./http"; + +const handler:URISchemeHandler = { + scheme : "https", + domainHost : http.domainHost, + parse : http.parse, + serialize : http.serialize +} + +export default handler; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/schemes/mailto.ts b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/mailto.ts new file mode 100644 index 00000000000000..3faf320d655903 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/mailto.ts @@ -0,0 +1,182 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +import { pctEncChar, pctDecChars, unescapeComponent } from "../uri"; +import punycode from "punycode"; +import { merge, subexp, toUpperCase, toArray } from "../util"; + +export interface MailtoHeaders { + [hfname:string]:string +} + +export interface MailtoComponents extends URIComponents { + to:Array, + headers?:MailtoHeaders, + subject?:string, + body?:string +} + +const O:MailtoHeaders = {}; +const isIRI = true; + +//RFC 3986 +const UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; +const HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive +const PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded + +//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = +//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) +//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext +//const VCHAR$$ = "[\\x21-\\x7E]"; +//const WSP$$ = "[\\x20\\x09]"; +//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext +//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); +//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); +//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); +const ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; +const QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; +const VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); +const DOT_ATOM_TEXT$ = subexp(ATEXT$$ + "+" + subexp("\\." + ATEXT$$ + "+") + "*"); +const QUOTED_PAIR$ = subexp("\\\\" + VCHAR$$); +const QCONTENT$ = subexp(QTEXT$$ + "|" + QUOTED_PAIR$); +const QUOTED_STRING$ = subexp('\\"' + QCONTENT$ + "*" + '\\"'); + +//RFC 6068 +const DTEXT_NO_OBS$$ = "[\\x21-\\x5A\\x5E-\\x7E]"; //%d33-90 / %d94-126 +const SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; +const QCHAR$ = subexp(UNRESERVED$$ + "|" + PCT_ENCODED$ + "|" + SOME_DELIMS$$); +const DOMAIN$ = subexp(DOT_ATOM_TEXT$ + "|" + "\\[" + DTEXT_NO_OBS$$ + "*" + "\\]"); +const LOCAL_PART$ = subexp(DOT_ATOM_TEXT$ + "|" + QUOTED_STRING$); +const ADDR_SPEC$ = subexp(LOCAL_PART$ + "\\@" + DOMAIN$); +const TO$ = subexp(ADDR_SPEC$ + subexp("\\," + ADDR_SPEC$) + "*"); +const HFNAME$ = subexp(QCHAR$ + "*"); +const HFVALUE$ = HFNAME$; +const HFIELD$ = subexp(HFNAME$ + "\\=" + HFVALUE$); +const HFIELDS2$ = subexp(HFIELD$ + subexp("\\&" + HFIELD$) + "*"); +const HFIELDS$ = subexp("\\?" + HFIELDS2$); +const MAILTO_URI = new RegExp("^mailto\\:" + TO$ + "?" + HFIELDS$ + "?$"); + +const UNRESERVED = new RegExp(UNRESERVED$$, "g"); +const PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); +const NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); +const NOT_DOMAIN = new RegExp(merge("[^]", ATEXT$$, "[\\.]", "[\\[]", DTEXT_NO_OBS$$, "[\\]]"), "g"); +const NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); +const NOT_HFVALUE = NOT_HFNAME; +const TO = new RegExp("^" + TO$ + "$"); +const HFIELDS = new RegExp("^" + HFIELDS2$ + "$"); + +function decodeUnreserved(str:string):string { + const decStr = pctDecChars(str); + return (!decStr.match(UNRESERVED) ? str : decStr); +} + +const handler:URISchemeHandler = { + scheme : "mailto", + + parse : function (components:URIComponents, options:URIOptions):MailtoComponents { + const mailtoComponents = components as MailtoComponents; + const to = mailtoComponents.to = (mailtoComponents.path ? mailtoComponents.path.split(",") : []); + mailtoComponents.path = undefined; + + if (mailtoComponents.query) { + let unknownHeaders = false + const headers:MailtoHeaders = {}; + const hfields = mailtoComponents.query.split("&"); + + for (let x = 0, xl = hfields.length; x < xl; ++x) { + const hfield = hfields[x].split("="); + + switch (hfield[0]) { + case "to": + const toAddrs = hfield[1].split(","); + for (let x = 0, xl = toAddrs.length; x < xl; ++x) { + to.push(toAddrs[x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + + if (unknownHeaders) mailtoComponents.headers = headers; + } + + mailtoComponents.query = undefined; + + for (let x = 0, xl = to.length; x < xl; ++x) { + const addr = to[x].split("@"); + + addr[0] = unescapeComponent(addr[0]); + + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + + to[x] = addr.join("@"); + } + + return mailtoComponents; + }, + + serialize : function (mailtoComponents:MailtoComponents, options:URIOptions):URIComponents { + const components = mailtoComponents as URIComponents; + const to = toArray(mailtoComponents.to); + if (to) { + for (let x = 0, xl = to.length; x < xl; ++x) { + const toAddr = String(to[x]); + const atIdx = toAddr.lastIndexOf("@"); + const localPart = (toAddr.slice(0, atIdx)).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + let domain = toAddr.slice(atIdx + 1); + + //convert IDN via punycode + try { + domain = (!options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain)); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + + to[x] = localPart + "@" + domain; + } + + components.path = to.join(","); + } + + const headers = mailtoComponents.headers = mailtoComponents.headers || {}; + + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + + const fields = []; + for (const name in headers) { + if (headers[name] !== O[name]) { + fields.push( + name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + + "=" + + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar) + ); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + + return components; + } +} + +export default handler; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn-uuid.ts b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn-uuid.ts new file mode 100644 index 00000000000000..56653292096fe4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn-uuid.ts @@ -0,0 +1,36 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +import { URNComponents } from "./urn"; +import { SCHEMES } from "../uri"; + +export interface UUIDComponents extends URNComponents { + uuid?: string; +} + +const UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; +const UUID_PARSE = /^[0-9A-Fa-f\-]{36}/; + +//RFC 4122 +const handler:URISchemeHandler = { + scheme : "urn:uuid", + + parse : function (urnComponents:URNComponents, options:URIOptions):UUIDComponents { + const uuidComponents = urnComponents as UUIDComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + + return uuidComponents; + }, + + serialize : function (uuidComponents:UUIDComponents, options:URIOptions):URNComponents { + const urnComponents = uuidComponents as URNComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + }, +}; + +export default handler; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn.ts b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn.ts new file mode 100644 index 00000000000000..590f9cce16a529 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/schemes/urn.ts @@ -0,0 +1,69 @@ +import { URISchemeHandler, URIComponents, URIOptions } from "../uri"; +import { pctEncChar, SCHEMES } from "../uri"; + +export interface URNComponents extends URIComponents { + nid?:string; + nss?:string; +} + +export interface URNOptions extends URIOptions { + nid?:string; +} + +const NID$ = "(?:[0-9A-Za-z][0-9A-Za-z\\-]{1,31})"; +const PCT_ENCODED$ = "(?:\\%[0-9A-Fa-f]{2})"; +const TRANS$$ = "[0-9A-Za-z\\(\\)\\+\\,\\-\\.\\:\\=\\@\\;\\$\\_\\!\\*\\'\\/\\?\\#]"; +const NSS$ = "(?:(?:" + PCT_ENCODED$ + "|" + TRANS$$ + ")+)"; +const URN_SCHEME = new RegExp("^urn\\:(" + NID$ + ")$"); +const URN_PATH = new RegExp("^(" + NID$ + ")\\:(" + NSS$ + ")$"); +const URN_PARSE = /^([^\:]+)\:(.*)/; +const URN_EXCLUDED = /[\x00-\x20\\\"\&\<\>\[\]\^\`\{\|\}\~\x7F-\xFF]/g; + +//RFC 2141 +const handler:URISchemeHandler = { + scheme : "urn", + + parse : function (components:URIComponents, options:URNOptions):URNComponents { + const matches = components.path && components.path.match(URN_PARSE); + let urnComponents = components as URNComponents; + + if (matches) { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = matches[1].toLowerCase(); + const nss = matches[2]; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options) as URNComponents; + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + + return urnComponents; + }, + + serialize : function (urnComponents:URNComponents, options:URNOptions):URIComponents { + const scheme = options.scheme || urnComponents.scheme || "urn"; + const nid = urnComponents.nid; + const urnScheme = `${scheme}:${options.nid || nid}`; + const schemeHandler = SCHEMES[urnScheme]; + + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options) as URNComponents; + } + + const uriComponents = urnComponents as URIComponents; + const nss = urnComponents.nss; + uriComponents.path = `${nid || options.nid}:${nss}`; + + return uriComponents; + }, +}; + +export default handler; \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/uri.ts b/tools/node_modules/eslint/node_modules/uri-js/src/uri.ts new file mode 100644 index 00000000000000..c282c37233600d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/uri.ts @@ -0,0 +1,556 @@ +/** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author Gary Court + * @see http://github.com/garycourt/uri-js + */ + +/** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ + +import URI_PROTOCOL from "./regexps-uri"; +import IRI_PROTOCOL from "./regexps-iri"; +import punycode from "punycode"; +import { toUpperCase, typeOf, assign } from "./util"; + +export interface URIComponents { + scheme?:string; + userinfo?:string; + host?:string; + port?:number|string; + path?:string; + query?:string; + fragment?:string; + reference?:string; + error?:string; +} + +export interface URIOptions { + scheme?:string; + reference?:string; + tolerant?:boolean; + absolutePath?:boolean; + iri?:boolean; + unicodeSupport?:boolean; + domainHost?:boolean; +} + +export interface URISchemeHandler { + scheme:string; + parse(components:ParentComponents, options:Options):Components; + serialize(components:Components, options:Options):ParentComponents; + unicodeSupport?:boolean; + domainHost?:boolean; + absolutePath?:boolean; +} + +export interface URIRegExps { + NOT_SCHEME : RegExp, + NOT_USERINFO : RegExp, + NOT_HOST : RegExp, + NOT_PATH : RegExp, + NOT_PATH_NOSCHEME : RegExp, + NOT_QUERY : RegExp, + NOT_FRAGMENT : RegExp, + ESCAPE : RegExp, + UNRESERVED : RegExp, + OTHER_CHARS : RegExp, + PCT_ENCODED : RegExp, + IPV4ADDRESS : RegExp, + IPV6ADDRESS : RegExp, +} + +export const SCHEMES:{[scheme:string]:URISchemeHandler} = {}; + +export function pctEncChar(chr:string):string { + const c = chr.charCodeAt(0); + let e:string; + + if (c < 16) e = "%0" + c.toString(16).toUpperCase(); + else if (c < 128) e = "%" + c.toString(16).toUpperCase(); + else if (c < 2048) e = "%" + ((c >> 6) | 192).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + else e = "%" + ((c >> 12) | 224).toString(16).toUpperCase() + "%" + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + + return e; +} + +export function pctDecChars(str:string):string { + let newStr = ""; + let i = 0; + const il = str.length; + + while (i < il) { + const c = parseInt(str.substr(i + 1, 2), 16); + + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } + else if (c >= 194 && c < 224) { + if ((il - i) >= 6) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } + else if (c >= 224) { + if ((il - i) >= 9) { + const c2 = parseInt(str.substr(i + 4, 2), 16); + const c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } + else { + newStr += str.substr(i, 3); + i += 3; + } + } + + return newStr; +} + +function _normalizeComponentEncoding(components:URIComponents, protocol:URIRegExps) { + function decodeUnreserved(str:string):string { + const decStr = pctDecChars(str); + return (!decStr.match(protocol.UNRESERVED) ? str : decStr); + } + + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace((components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME), pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + + return components; +}; + +function _stripLeadingZeros(str:string):string { + return str.replace(/^0*(.*)/, "$1") || "0"; +} + +function _normalizeIPv4(host:string, protocol:URIRegExps):string { + const matches = host.match(protocol.IPV4ADDRESS) || []; + const [, address] = matches; + + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } +} + +function _normalizeIPv6(host:string, protocol:URIRegExps):string { + const matches = host.match(protocol.IPV6ADDRESS) || []; + const [, address, zone] = matches; + + if (address) { + const [last, first] = address.toLowerCase().split('::').reverse(); + const firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + const lastFields = last.split(":").map(_stripLeadingZeros); + const isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + const fieldCount = isLastFieldIPv4Address ? 7 : 8; + const lastFieldsStart = lastFields.length - fieldCount; + const fields = Array(fieldCount); + + for (let x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; + } + + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + + const allZeroFields = fields.reduce>((acc, field, index) => { + if (!field || field === "0") { + const lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index, length : 1 }); + } + } + return acc; + }, []); + + const longestZeroFields = allZeroFields.sort((a, b) => b.length - a.length)[0]; + + let newHost:string; + if (longestZeroFields && longestZeroFields.length > 1) { + const newFirst = fields.slice(0, longestZeroFields.index) ; + const newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + + if (zone) { + newHost += "%" + zone; + } + + return newHost; + } else { + return host; + } +} + +const URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; +const NO_MATCH_IS_UNDEFINED = (("").match(/(){0}/))[1] === undefined; + +export function parse(uriString:string, options:URIOptions = {}):URIComponents { + const components:URIComponents = {}; + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + + const matches = uriString.match(URI_PARSE); + + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = (uriString.indexOf("@") !== -1 ? matches[3] : undefined); + components.host = (uriString.indexOf("//") !== -1 ? matches[4] : undefined); + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = (uriString.indexOf("?") !== -1 ? matches[7] : undefined); + components.fragment = (uriString.indexOf("#") !== -1 ? matches[8] : undefined); + + //fix port number + if (isNaN(components.port)) { + components.port = (uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined); + } + } + + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + + //determine reference type + if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + + return components; +}; + +function _recomposeAuthority(components:URIComponents, options:URIOptions):string|undefined { + const protocol = (options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens:Array = []; + + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, (_, $1, $2) => "[" + $1 + ($2 ? "%25" + $2 : "") + "]")); + } + + if (typeof components.port === "number") { + uriTokens.push(":"); + uriTokens.push(components.port.toString(10)); + } + + return uriTokens.length ? uriTokens.join("") : undefined; +}; + +const RDS1 = /^\.\.?\//; +const RDS2 = /^\/\.(\/|$)/; +const RDS3 = /^\/\.\.(\/|$)/; +const RDS4 = /^\.\.?$/; +const RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; + +export function removeDotSegments(input:string):string { + const output:Array = []; + + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + const im = input.match(RDS5); + if (im) { + const s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + + return output.join(""); +}; + +export function serialize(components:URIComponents, options:URIOptions = {}):string { + const protocol = (options.iri ? IRI_PROTOCOL : URI_PROTOCOL); + const uriTokens:Array = []; + + //find scheme handler + const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) { + //TODO: normalize IPv6 address as per RFC 5952 + } + + //if host component is a domain name + else if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) { + //convert IDN via punycode + try { + components.host = (!options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host)); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + + //normalize encoding + _normalizeComponentEncoding(components, protocol); + + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + + const authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + + uriTokens.push(authority); + + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + + if (components.path !== undefined) { + let s = components.path; + + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + + uriTokens.push(s); + } + + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + + return uriTokens.join(""); //merge tokens into a string +}; + +export function resolveComponents(base:URIComponents, relative:URIComponents, options:URIOptions = {}, skipNormalization?:boolean):URIComponents { + const target:URIComponents = {}; + + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + + target.fragment = relative.fragment; + + return target; +}; + +export function resolve(baseURI:string, relativeURI:string, options?:URIOptions):string { + const schemelessOptions = assign({ scheme : 'null' }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); +}; + +export function normalize(uri:string, options?:URIOptions):string; +export function normalize(uri:URIComponents, options?:URIOptions):URIComponents; +export function normalize(uri:any, options?:URIOptions):any { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + + return uri; +}; + +export function equal(uriA:string, uriB:string, options?: URIOptions):boolean; +export function equal(uriA:URIComponents, uriB:URIComponents, options?:URIOptions):boolean; +export function equal(uriA:any, uriB:any, options?:URIOptions):boolean { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + + return uriA === uriB; +}; + +export function escapeComponent(str:string, options?:URIOptions):string { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE), pctEncChar); +}; + +export function unescapeComponent(str:string, options?:URIOptions):string { + return str && str.toString().replace((!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED), pctDecChars); +}; diff --git a/tools/node_modules/eslint/node_modules/uri-js/src/util.ts b/tools/node_modules/eslint/node_modules/uri-js/src/util.ts new file mode 100644 index 00000000000000..29c6d5d4db63a0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/src/util.ts @@ -0,0 +1,40 @@ +export function merge(...sets:Array):string { + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + const xl = sets.length - 1; + for (let x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(''); + } else { + return sets[0]; + } +} + +export function subexp(str:string):string { + return "(?:" + str + ")"; +} + +export function typeOf(o:any):string { + return o === undefined ? "undefined" : (o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase()); +} + +export function toUpperCase(str:string):string { + return str.toUpperCase(); +} + +export function toArray(obj:any):Array { + return obj !== undefined && obj !== null ? (obj instanceof Array ? obj : (typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj))) : []; +} + + +export function assign(target: object, source: any): any { + const obj = target as any; + if (source) { + for (const key in source) { + obj[key] = source[key]; + } + } + return obj; +} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/uri-js/tsconfig.json b/tools/node_modules/eslint/node_modules/uri-js/tsconfig.json new file mode 100644 index 00000000000000..e2899857b1f5c3 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "es2015", + "target": "esnext", + "noImplicitAny": true, + "sourceMap": true, + "alwaysStrict": true, + "declaration": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "importHelpers": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "outDir": "dist/esnext", + "strictNullChecks": true + }, + "include": [ + "src/**/*" + ] +} diff --git a/tools/node_modules/eslint/node_modules/uri-js/yarn.lock b/tools/node_modules/eslint/node_modules/uri-js/yarn.lock new file mode 100644 index 00000000000000..569687d50ee09c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/uri-js/yarn.lock @@ -0,0 +1,1902 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@6, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-external-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1, babel-plugin-transform-es2015-classes@^6.9.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-es2016@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.24.1.tgz#f900bf93e2ebc0d276df9b8ab59724ebfd959f8b" + dependencies: + babel-plugin-transform-exponentiation-operator "^6.24.1" + +babel-preset-es2017@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.24.1.tgz#597beadfb9f7f208bcfd8a12e9b2b29b8b2f14d1" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.24.1" + +babel-preset-latest@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.1.tgz#677de069154a7485c2d25c577c02f624b85b85e8" + dependencies: + babel-preset-es2015 "^6.24.1" + babel-preset-es2016 "^6.24.1" + babel-preset-es2017 "^6.24.1" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-resolve@^1.11.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +buffer-crc32@^0.2.5: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +builtin-modules@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.11.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +convert-source-map@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +debug@2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +debug@^2.2.0, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +es6-promise@^3.1.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.5, glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash@^4.17.4: + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha-qunit-ui@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/mocha-qunit-ui/-/mocha-qunit-ui-0.1.3.tgz#e3e1ff1dac33222b10cef681efd7f82664141ea9" + +mocha@^3.2.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.6.8" + diff "3.2.0" + escape-string-regexp "1.0.5" + glob "7.1.1" + growl "1.9.2" + he "1.1.1" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +nan@^2.3.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +once@^1.3.0, once@^1.3.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6, private@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +rc@^1.1.7: + version "1.2.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +regenerate@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6: + version "1.6.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" + dependencies: + path-parse "^1.0.5" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rollup-plugin-babel@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz#16528197b0f938a1536f44683c7a93d573182f57" + dependencies: + babel-core "6" + babel-plugin-transform-es2015-classes "^6.9.0" + object-assign "^4.1.0" + rollup-pluginutils "^1.5.0" + +rollup-plugin-node-resolve@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-2.1.1.tgz#cbb783b0d15b02794d58915350b2f0d902b8ddc8" + dependencies: + browser-resolve "^1.11.0" + builtin-modules "^1.1.0" + resolve "^1.1.6" + +rollup-pluginutils@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + +rollup@^0.41.6: + version "0.41.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.41.6.tgz#e0d05497877a398c104d816d2733a718a7a94e2a" + dependencies: + source-map-support "^0.4.0" + +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +sander@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/sander/-/sander-0.5.1.tgz#741e245e231f07cafb6fdf0f133adfa216a502ad" + dependencies: + es6-promise "^3.1.2" + graceful-fs "^4.1.3" + mkdirp "^0.5.1" + rimraf "^2.5.2" + +semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sorcery@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.10.0.tgz#8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7" + dependencies: + buffer-crc32 "^0.2.5" + minimist "^1.2.0" + sander "^0.5.0" + sourcemap-codec "^1.3.0" + +source-map-support@^0.4.0, source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +sourcemap-codec@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2" + +sshpk@^1.7.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +tar-pack@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +tough-cookie@~2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +typescript@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.1.tgz#6160e4f8f195d5ba81d4876f9c0cc1fbc0820624" + +uglify-js@^2.8.14: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" + +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/LICENSE b/tools/node_modules/eslint/node_modules/util-deprecate/LICENSE deleted file mode 100644 index 6a60e8c225c9ba..00000000000000 --- a/tools/node_modules/eslint/node_modules/util-deprecate/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/README.md b/tools/node_modules/eslint/node_modules/util-deprecate/README.md deleted file mode 100644 index 75622fa7c250a6..00000000000000 --- a/tools/node_modules/eslint/node_modules/util-deprecate/README.md +++ /dev/null @@ -1,53 +0,0 @@ -util-deprecate -============== -### The Node.js `util.deprecate()` function with browser support - -In Node.js, this module simply re-exports the `util.deprecate()` function. - -In the web browser (i.e. via browserify), a browser-specific implementation -of the `util.deprecate()` function is used. - - -## API - -A `deprecate()` function is the only thing exposed by this module. - -``` javascript -// setup: -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); - - -// users see: -foo(); -// foo() is deprecated, use bar() instead -foo(); -foo(); -``` - - -## License - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/browser.js b/tools/node_modules/eslint/node_modules/util-deprecate/browser.js deleted file mode 100644 index 549ae2f065ea5a..00000000000000 --- a/tools/node_modules/eslint/node_modules/util-deprecate/browser.js +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/node.js b/tools/node_modules/eslint/node_modules/util-deprecate/node.js deleted file mode 100644 index 5e6fcff5ddd3fb..00000000000000 --- a/tools/node_modules/eslint/node_modules/util-deprecate/node.js +++ /dev/null @@ -1,6 +0,0 @@ - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = require('util').deprecate; diff --git a/tools/node_modules/eslint/node_modules/util-deprecate/package.json b/tools/node_modules/eslint/node_modules/util-deprecate/package.json deleted file mode 100644 index 4b2d763c6172d1..00000000000000 --- a/tools/node_modules/eslint/node_modules/util-deprecate/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "_from": "util-deprecate@~1.0.1", - "_id": "util-deprecate@1.0.2", - "_inBundle": false, - "_integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "_location": "/eslint/util-deprecate", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "util-deprecate@~1.0.1", - "name": "util-deprecate", - "escapedName": "util-deprecate", - "rawSpec": "~1.0.1", - "saveSpec": null, - "fetchSpec": "~1.0.1" - }, - "_requiredBy": [ - "/eslint/readable-stream" - ], - "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "_spec": "util-deprecate@~1.0.1", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream", - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io/" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/TooTallNate/util-deprecate/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "The Node.js `util.deprecate()` function with browser support", - "homepage": "https://github.com/TooTallNate/util-deprecate", - "keywords": [ - "util", - "deprecate", - "browserify", - "browser", - "node" - ], - "license": "MIT", - "main": "node.js", - "name": "util-deprecate", - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/util-deprecate.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.2" -} diff --git a/tools/node_modules/eslint/node_modules/vfile-location/index.js b/tools/node_modules/eslint/node_modules/vfile-location/index.js index 9263d2486a7530..e2046ce22b3e4c 100644 --- a/tools/node_modules/eslint/node_modules/vfile-location/index.js +++ b/tools/node_modules/eslint/node_modules/vfile-location/index.js @@ -1,77 +1,77 @@ -'use strict'; +'use strict' /* Expose. */ -module.exports = factory; +module.exports = factory /* Factory. */ function factory(file) { - var contents = indices(String(file)); + var contents = indices(String(file)) return { toPosition: offsetToPositionFactory(contents), toOffset: positionToOffsetFactory(contents) - }; + } } /* Factory to get the line and column-based `position` for * `offset` in the bound indices. */ function offsetToPositionFactory(indices) { - return offsetToPosition; + return offsetToPosition /* Get the line and column-based `position` for * `offset` in the bound indices. */ function offsetToPosition(offset) { - var index = -1; - var length = indices.length; + var index = -1 + var length = indices.length if (offset < 0) { - return {}; + return {} } while (++index < length) { if (indices[index] > offset) { return { line: index + 1, - column: (offset - (indices[index - 1] || 0)) + 1, + column: offset - (indices[index - 1] || 0) + 1, offset: offset - }; + } } } - return {}; + return {} } } /* Factory to get the `offset` for a line and column-based * `position` in the bound indices. */ function positionToOffsetFactory(indices) { - return positionToOffset; + return positionToOffset /* Get the `offset` for a line and column-based * `position` in the bound indices. */ function positionToOffset(position) { - var line = position && position.line; - var column = position && position.column; + var line = position && position.line + var column = position && position.column if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { - return ((indices[line - 2] || 0) + column - 1) || 0; + return (indices[line - 2] || 0) + column - 1 || 0 } - return -1; + return -1 } } /* Get indices of line-breaks in `value`. */ function indices(value) { - var result = []; - var index = value.indexOf('\n'); + var result = [] + var index = value.indexOf('\n') while (index !== -1) { - result.push(index + 1); - index = value.indexOf('\n', index + 1); + result.push(index + 1) + index = value.indexOf('\n', index + 1) } - result.push(value.length + 1); + result.push(value.length + 1) - return result; + return result } diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json index c8a1d7ace95164..409b37cd25f71c 100644 --- a/tools/node_modules/eslint/node_modules/vfile-location/package.json +++ b/tools/node_modules/eslint/node_modules/vfile-location/package.json @@ -1,8 +1,8 @@ { "_from": "vfile-location@^2.0.0", - "_id": "vfile-location@2.0.2", + "_id": "vfile-location@2.0.3", "_inBundle": false, - "_integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU=", + "_integrity": "sha512-zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==", "_location": "/vfile-location", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/remark-parse" ], - "_resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz", - "_shasum": "d3675c59c877498e492b4756ff65e4af1a752255", + "_resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz", + "_shasum": "083ba80e50968e8d420be49dd1ea9a992131df77", "_spec": "vfile-location@^2.0.0", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse", "author": { "name": "Titus Wormer", "email": "tituswormer@gmail.com", @@ -42,14 +42,15 @@ "deprecated": false, "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", "devDependencies": { - "browserify": "^14.0.0", + "browserify": "^16.0.0", "esmangle": "^1.0.1", "nyc": "^11.0.0", - "remark-cli": "^3.0.0", - "remark-preset-wooorm": "^3.0.0", + "prettier": "^1.12.1", + "remark-cli": "^5.0.0", + "remark-preset-wooorm": "^4.0.0", "tape": "^4.0.0", "vfile": "^2.0.0", - "xo": "^0.18.0" + "xo": "^0.20.0" }, "files": [ "index.js" @@ -70,6 +71,14 @@ "functions": 100, "branches": 100 }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, "remarkConfig": { "plugins": [ "preset-wooorm" @@ -80,19 +89,23 @@ "url": "git+https://github.com/vfile/vfile-location.git" }, "scripts": { - "build": "npm run build-md && npm run build-bundle && npm run build-mangle", + "build": "npm run build-bundle && npm run build-mangle", "build-bundle": "browserify index.js --bare -s vfileLocation > vfile-location.js", "build-mangle": "esmangle vfile-location.js > vfile-location.min.js", - "build-md": "remark . -qfo", - "lint": "xo", - "test": "npm run build && npm run lint && npm run test-coverage", + "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "test": "npm run format && npm run build && npm run test-coverage", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js" }, - "version": "2.0.2", + "version": "2.0.3", "xo": { - "space": true, + "prettier": true, "esnext": false, + "rules": { + "no-var": "off", + "prefer-arrow-callback": "off", + "object-shorthand": "off" + }, "ignores": [ "vfile-location.js" ] diff --git a/tools/node_modules/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md index c9bad64cce11f5..87e27dcd8ef0f4 100644 --- a/tools/node_modules/eslint/node_modules/vfile-location/readme.md +++ b/tools/node_modules/eslint/node_modules/vfile-location/readme.md @@ -14,12 +14,13 @@ npm install vfile-location ## Usage ```js -var vfile = require('vfile'); -var vfileLocation = require('vfile-location'); -var location = vfileLocation(vfile('foo\nbar\nbaz')); +var vfile = require('vfile') +var vfileLocation = require('vfile-location') -location.toOffset({line: 3, column: 3}); //=> 10 -location.toPosition(offset); //=> {line: 3, column: 3, offset: 10} +var location = vfileLocation(vfile('foo\nbar\nbaz')) + +var offset = location.toOffset({line: 3, column: 3}) // => 10 +location.toPosition(offset) // => {line: 3, column: 3, offset: 10} ``` ## API @@ -43,6 +44,13 @@ when given invalid or out of bounds input. Get the line and column-based [`position`][position] for `offset` in the bound file. +## Contribute + +See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. + +This organisation has a [Code of Conduct][coc]. By interacting with this +repository, organisation, or community you agree to abide by its terms. + ## License [MIT][license] © [Titus Wormer][author] @@ -70,3 +78,7 @@ the bound file. [to-position]: #locationtopositionoffset [position]: https://github.com/syntax-tree/unist#position + +[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md + +[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md diff --git a/tools/node_modules/eslint/node_modules/vfile-message/index.js b/tools/node_modules/eslint/node_modules/vfile-message/index.js index 89417cf2402723..1a63df89f5b163 100644 --- a/tools/node_modules/eslint/node_modules/vfile-message/index.js +++ b/tools/node_modules/eslint/node_modules/vfile-message/index.js @@ -1,25 +1,25 @@ -'use strict'; +'use strict' -var stringify = require('unist-util-stringify-position'); +var stringify = require('unist-util-stringify-position') -module.exports = VMessage; +module.exports = VMessage /* Inherit from `Error#`. */ function VMessagePrototype() {} -VMessagePrototype.prototype = Error.prototype; -VMessage.prototype = new VMessagePrototype(); +VMessagePrototype.prototype = Error.prototype +VMessage.prototype = new VMessagePrototype() /* Message properties. */ -var proto = VMessage.prototype; +var proto = VMessage.prototype -proto.file = ''; -proto.name = ''; -proto.reason = ''; -proto.message = ''; -proto.stack = ''; -proto.fatal = null; -proto.column = null; -proto.line = null; +proto.file = '' +proto.name = '' +proto.reason = '' +proto.message = '' +proto.stack = '' +proto.fatal = null +proto.column = null +proto.line = null /* Construct a new VMessage. * @@ -27,68 +27,68 @@ proto.line = null; * as that adds readonly `line` and `column` attributes on * Safari 9, thus throwing and failing the data. */ function VMessage(reason, position, origin) { - var parts; - var range; - var location; + var parts + var range + var location if (typeof position === 'string') { - origin = position; - position = null; + origin = position + position = null } - parts = parseOrigin(origin); - range = stringify(position) || '1:1'; + parts = parseOrigin(origin) + range = stringify(position) || '1:1' location = { start: {line: null, column: null}, end: {line: null, column: null} - }; + } /* Node. */ if (position && position.position) { - position = position.position; + position = position.position } if (position) { /* Position. */ if (position.start) { - location = position; - position = position.start; + location = position + position = position.start } else { /* Point. */ - location.start = position; + location.start = position } } if (reason.stack) { - this.stack = reason.stack; - reason = reason.message; + this.stack = reason.stack + reason = reason.message } - this.message = reason; - this.name = range; - this.reason = reason; - this.line = position ? position.line : null; - this.column = position ? position.column : null; - this.location = location; - this.source = parts[0]; - this.ruleId = parts[1]; + this.message = reason + this.name = range + this.reason = reason + this.line = position ? position.line : null + this.column = position ? position.column : null + this.location = location + this.source = parts[0] + this.ruleId = parts[1] } function parseOrigin(origin) { - var result = [null, null]; - var index; + var result = [null, null] + var index if (typeof origin === 'string') { - index = origin.indexOf(':'); + index = origin.indexOf(':') if (index === -1) { - result[1] = origin; + result[1] = origin } else { - result[0] = origin.slice(0, index); - result[1] = origin.slice(index + 1); + result[0] = origin.slice(0, index) + result[1] = origin.slice(index + 1) } } - return result; + return result } diff --git a/tools/node_modules/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json index 302eb0b700f5d5..78ec136d24f3fe 100644 --- a/tools/node_modules/eslint/node_modules/vfile-message/package.json +++ b/tools/node_modules/eslint/node_modules/vfile-message/package.json @@ -1,8 +1,8 @@ { "_from": "vfile-message@^1.0.0", - "_id": "vfile-message@1.0.0", + "_id": "vfile-message@1.0.1", "_inBundle": false, - "_integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==", + "_integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==", "_location": "/vfile-message", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/vfile" ], - "_resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz", - "_shasum": "a6adb0474ea400fa25d929f1d673abea6a17e359", + "_resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.1.tgz", + "_shasum": "51a2ccd8a6b97a7980bb34efb9ebde9632e93677", "_spec": "vfile-message@^1.0.0", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/vfile", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/vfile", "author": { "name": "Titus Wormer", "email": "tituswormer@gmail.com", @@ -44,13 +44,14 @@ "deprecated": false, "description": "Create a virtual message", "devDependencies": { - "browserify": "^14.1.0", + "browserify": "^16.0.0", "esmangle": "^1.0.1", "nyc": "^11.0.0", - "remark-cli": "^4.0.0", - "remark-preset-wooorm": "^3.0.0", + "prettier": "^1.12.1", + "remark-cli": "^5.0.0", + "remark-preset-wooorm": "^4.0.0", "tape": "^4.0.0", - "xo": "^0.18.0" + "xo": "^0.20.0" }, "files": [ "index.js" @@ -69,6 +70,14 @@ "functions": 100, "branches": 100 }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, "remarkConfig": { "plugins": [ "preset-wooorm" @@ -79,19 +88,23 @@ "url": "git+https://github.com/vfile/vfile-message.git" }, "scripts": { - "build": "npm run build-md && npm run build-bundle && npm run build-mangle", + "build": "npm run build-bundle && npm run build-mangle", "build-bundle": "browserify index.js --bare -s vfileMessage > vfile-message.js", "build-mangle": "esmangle vfile-message.js > vfile-message.min.js", - "build-md": "remark . -qfo", - "lint": "xo", - "test": "npm run build && npm run lint && npm run test-coverage", + "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "test": "npm run format && npm run build && npm run test-coverage", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js" }, - "version": "1.0.0", + "version": "1.0.1", "xo": { - "space": true, + "prettier": true, "esnext": false, + "rules": { + "no-var": "off", + "prefer-arrow-callback": "off", + "object-shorthand": "off" + }, "ignores": [ "vfile-message.js" ] diff --git a/tools/node_modules/eslint/node_modules/vfile-message/readme.md b/tools/node_modules/eslint/node_modules/vfile-message/readme.md index 21a32912fc9196..c69cc406e35e74 100644 --- a/tools/node_modules/eslint/node_modules/vfile-message/readme.md +++ b/tools/node_modules/eslint/node_modules/vfile-message/readme.md @@ -13,11 +13,15 @@ npm install vfile-message ## Usage ```js -var VMessage = require('vfile-message'); +var VMessage = require('vfile-message') -var message = new VMessage('`braavo` is misspelt; did you mean `bravo`?', {line: 1, column: 8}, 'spell:typo'); +var message = new VMessage( + '`braavo` is misspelt; did you mean `bravo`?', + {line: 1, column: 8}, + 'spell:typo' +) -console.log(message); +console.log(message) ``` Yields: @@ -110,7 +114,7 @@ Stack of message (`string?`). ##### Custom properties -It’s OK to store custom data directly on the `VFileMessage`, some of those are +It’s OK to store custom data directly on the `VMessage`, some of those are handled by [utilities][util]. ###### `file` @@ -127,6 +131,13 @@ You may add a `note` property with a long form description of the message You may add a `url` property with a link to documentation for the message. +## Contribute + +See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. + +This organisation has a [Code of Conduct][coc]. By interacting with this +repository, organisation, or community you agree to abide by its terms. + ## License [MIT][license] © [Titus Wormer][author] @@ -157,6 +168,10 @@ You may add a `url` property with a link to documentation for the message. [vfile]: https://github.com/vfile/vfile +[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md + +[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md + [util]: https://github.com/vfile/vfile#utilities [reporter]: https://github.com/vfile/vfile-reporter diff --git a/tools/node_modules/eslint/node_modules/vfile/package.json b/tools/node_modules/eslint/node_modules/vfile/package.json index f7b017230c4c35..8e2ba1045863c7 100644 --- a/tools/node_modules/eslint/node_modules/vfile/package.json +++ b/tools/node_modules/eslint/node_modules/vfile/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", "_shasum": "e62d8e72b20e83c324bc6c67278ee272488bf84a", "_spec": "vfile@^2.0.0", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified", "author": { "name": "Titus Wormer", "email": "tituswormer@gmail.com", diff --git a/tools/node_modules/eslint/node_modules/which/package.json b/tools/node_modules/eslint/node_modules/which/package.json index 482a024ff52f3b..90ceecf77fa1d2 100644 --- a/tools/node_modules/eslint/node_modules/which/package.json +++ b/tools/node_modules/eslint/node_modules/which/package.json @@ -1,8 +1,8 @@ { "_from": "which@^1.2.9", - "_id": "which@1.3.0", + "_id": "which@1.3.1", "_inBundle": false, - "_integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "_integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "_location": "/eslint/which", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/eslint/cross-spawn" ], - "_resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "_shasum": "ff04bdfc010ee547d780bec38e1ac1c2777d253a", + "_resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "_shasum": "a45043d54f5805316da8d62f9f50918d3da70b0a", "_spec": "which@^1.2.9", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/cross-spawn", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -41,8 +41,8 @@ "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", "devDependencies": { "mkdirp": "^0.5.0", - "rimraf": "^2.3.3", - "tap": "^10.7.0" + "rimraf": "^2.6.2", + "tap": "^12.0.1" }, "files": [ "which.js", @@ -61,5 +61,5 @@ "postversion": "npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog - '${npm_package_version}", "test": "tap test/*.js --cov" }, - "version": "1.3.0" + "version": "1.3.1" } diff --git a/tools/node_modules/eslint/node_modules/wordwrap/package.json b/tools/node_modules/eslint/node_modules/wordwrap/package.json index 2aca21afbd53c5..26c72b8871bccf 100644 --- a/tools/node_modules/eslint/node_modules/wordwrap/package.json +++ b/tools/node_modules/eslint/node_modules/wordwrap/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "_shasum": "27584810891456a4171c8d0226441ade90cbcaeb", "_spec": "wordwrap@~1.0.0", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/optionator", "author": { "name": "James Halliday", "email": "mail@substack.net", diff --git a/tools/node_modules/eslint/node_modules/wrappy/package.json b/tools/node_modules/eslint/node_modules/wrappy/package.json index bc1c1e2eac51fe..bb2486f7846539 100644 --- a/tools/node_modules/eslint/node_modules/wrappy/package.json +++ b/tools/node_modules/eslint/node_modules/wrappy/package.json @@ -22,7 +22,7 @@ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", "_spec": "wrappy@1", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inflight", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/inflight", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/tools/node_modules/eslint/node_modules/write/package.json b/tools/node_modules/eslint/node_modules/write/package.json index 9229848c715511..da1e985e9a3774 100644 --- a/tools/node_modules/eslint/node_modules/write/package.json +++ b/tools/node_modules/eslint/node_modules/write/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "_shasum": "5fc03828e264cea3fe91455476f7a3c566cb0757", "_spec": "write@^0.2.1", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/tools/node_modules/eslint/node_modules/x-is-function/LICENSE b/tools/node_modules/eslint/node_modules/x-is-function/LICENSE deleted file mode 100644 index 4f2aa21a49912c..00000000000000 --- a/tools/node_modules/eslint/node_modules/x-is-function/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Alexander Praetorius - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/x-is-function/README.md b/tools/node_modules/eslint/node_modules/x-is-function/README.md deleted file mode 100644 index 0c21a7e9ff09f6..00000000000000 --- a/tools/node_modules/eslint/node_modules/x-is-function/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# x-is-function -x is a function - -# usage -`npm install x-is-function` - -```js -var isFunction = require('x-is-function') - -isFunction(function () {}) -// -> true - -isFunction("hello") -// -> false - -isFunction("") -// -> false - -isFunction(9) -// -> false - -isFunction(true) -// -> false - -isFunction(new Date()) -// -> false - -isFunction({}) -// -> false - -isFunction(null) -// -> false - -isFunction(undefined) -// -> false -``` - - -# related -a list of other `x-is-...` modules can be found at -* [x-is](https://www.npmjs.com/package/x-is) diff --git a/tools/node_modules/eslint/node_modules/x-is-function/index.js b/tools/node_modules/eslint/node_modules/x-is-function/index.js deleted file mode 100644 index b820d6318d09a1..00000000000000 --- a/tools/node_modules/eslint/node_modules/x-is-function/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function isFunction (fn) { - return Object.prototype.toString.call(fn) === '[object Function]' -} diff --git a/tools/node_modules/eslint/node_modules/x-is-function/package.json b/tools/node_modules/eslint/node_modules/x-is-function/package.json deleted file mode 100644 index 6a8ced6788953d..00000000000000 --- a/tools/node_modules/eslint/node_modules/x-is-function/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "_from": "x-is-function@^1.0.4", - "_id": "x-is-function@1.0.4", - "_inBundle": false, - "_integrity": "sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=", - "_location": "/x-is-function", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "x-is-function@^1.0.4", - "name": "x-is-function", - "escapedName": "x-is-function", - "rawSpec": "^1.0.4", - "saveSpec": null, - "fetchSpec": "^1.0.4" - }, - "_requiredBy": [ - "/unified" - ], - "_resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz", - "_shasum": "5d294dc3d268cbdd062580e0c5df77a391d1fa1e", - "_spec": "x-is-function@^1.0.4", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified", - "author": { - "name": "@serapath" - }, - "bugs": { - "url": "https://github.com/serapath/x-is-function/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Simple function test", - "homepage": "https://github.com/serapath/x-is-function#readme", - "license": "MIT", - "main": "index.js", - "name": "x-is-function", - "repository": { - "type": "git", - "url": "git+https://github.com/serapath/x-is-function.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.4" -} diff --git a/tools/node_modules/eslint/node_modules/x-is-string/package.json b/tools/node_modules/eslint/node_modules/x-is-string/package.json index cfc0c71147cea9..cc8de6ac805bc5 100644 --- a/tools/node_modules/eslint/node_modules/x-is-string/package.json +++ b/tools/node_modules/eslint/node_modules/x-is-string/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", "_shasum": "474b50865af3a49a9c4657f05acd145458f77d82", "_spec": "x-is-string@^0.1.0", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/unified", "author": { "name": "Matt-Esch", "email": "matt@mattesch.info" diff --git a/tools/node_modules/eslint/node_modules/xtend/package.json b/tools/node_modules/eslint/node_modules/xtend/package.json index c04cd90c78994d..44f0b28da494e2 100644 --- a/tools/node_modules/eslint/node_modules/xtend/package.json +++ b/tools/node_modules/eslint/node_modules/xtend/package.json @@ -22,7 +22,7 @@ "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "_shasum": "a5c6d532be656e23db820efb943a1f04998d63af", "_spec": "xtend@^4.0.1", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse", "author": { "name": "Raynos", "email": "raynos2@gmail.com" diff --git a/tools/node_modules/eslint/node_modules/yallist/LICENSE b/tools/node_modules/eslint/node_modules/yallist/LICENSE deleted file mode 100644 index 19129e315fe593..00000000000000 --- a/tools/node_modules/eslint/node_modules/yallist/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/yallist/README.md b/tools/node_modules/eslint/node_modules/yallist/README.md deleted file mode 100644 index f5861018696688..00000000000000 --- a/tools/node_modules/eslint/node_modules/yallist/README.md +++ /dev/null @@ -1,204 +0,0 @@ -# yallist - -Yet Another Linked List - -There are many doubly-linked list implementations like it, but this -one is mine. - -For when an array would be too big, and a Map can't be iterated in -reverse order. - - -[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist) - -## basic usage - -```javascript -var yallist = require('yallist') -var myList = yallist.create([1, 2, 3]) -myList.push('foo') -myList.unshift('bar') -// of course pop() and shift() are there, too -console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo'] -myList.forEach(function (k) { - // walk the list head to tail -}) -myList.forEachReverse(function (k, index, list) { - // walk the list tail to head -}) -var myDoubledList = myList.map(function (k) { - return k + k -}) -// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo'] -// mapReverse is also a thing -var myDoubledListReverse = myList.mapReverse(function (k) { - return k + k -}) // ['foofoo', 6, 4, 2, 'barbar'] - -var reduced = myList.reduce(function (set, entry) { - set += entry - return set -}, 'start') -console.log(reduced) // 'startfoo123bar' -``` - -## api - -The whole API is considered "public". - -Functions with the same name as an Array method work more or less the -same way. - -There's reverse versions of most things because that's the point. - -### Yallist - -Default export, the class that holds and manages a list. - -Call it with either a forEach-able (like an array) or a set of -arguments, to initialize the list. - -The Array-ish methods all act like you'd expect. No magic length, -though, so if you change that it won't automatically prune or add -empty spots. - -### Yallist.create(..) - -Alias for Yallist function. Some people like factories. - -#### yallist.head - -The first node in the list - -#### yallist.tail - -The last node in the list - -#### yallist.length - -The number of nodes in the list. (Change this at your peril. It is -not magic like Array length.) - -#### yallist.toArray() - -Convert the list to an array. - -#### yallist.forEach(fn, [thisp]) - -Call a function on each item in the list. - -#### yallist.forEachReverse(fn, [thisp]) - -Call a function on each item in the list, in reverse order. - -#### yallist.get(n) - -Get the data at position `n` in the list. If you use this a lot, -probably better off just using an Array. - -#### yallist.getReverse(n) - -Get the data at position `n`, counting from the tail. - -#### yallist.map(fn, thisp) - -Create a new Yallist with the result of calling the function on each -item. - -#### yallist.mapReverse(fn, thisp) - -Same as `map`, but in reverse. - -#### yallist.pop() - -Get the data from the list tail, and remove the tail from the list. - -#### yallist.push(item, ...) - -Insert one or more items to the tail of the list. - -#### yallist.reduce(fn, initialValue) - -Like Array.reduce. - -#### yallist.reduceReverse - -Like Array.reduce, but in reverse. - -#### yallist.reverse - -Reverse the list in place. - -#### yallist.shift() - -Get the data from the list head, and remove the head from the list. - -#### yallist.slice([from], [to]) - -Just like Array.slice, but returns a new Yallist. - -#### yallist.sliceReverse([from], [to]) - -Just like yallist.slice, but the result is returned in reverse. - -#### yallist.toArray() - -Create an array representation of the list. - -#### yallist.toArrayReverse() - -Create a reversed array representation of the list. - -#### yallist.unshift(item, ...) - -Insert one or more items to the head of the list. - -#### yallist.unshiftNode(node) - -Move a Node object to the front of the list. (That is, pull it out of -wherever it lives, and make it the new head.) - -If the node belongs to a different list, then that list will remove it -first. - -#### yallist.pushNode(node) - -Move a Node object to the end of the list. (That is, pull it out of -wherever it lives, and make it the new tail.) - -If the node belongs to a list already, then that list will remove it -first. - -#### yallist.removeNode(node) - -Remove a node from the list, preserving referential integrity of head -and tail and other nodes. - -Will throw an error if you try to have a list remove a node that -doesn't belong to it. - -### Yallist.Node - -The class that holds the data and is actually the list. - -Call with `var n = new Node(value, previousNode, nextNode)` - -Note that if you do direct operations on Nodes themselves, it's very -easy to get into weird states where the list is broken. Be careful :) - -#### node.next - -The next node in the list. - -#### node.prev - -The previous node in the list. - -#### node.value - -The data the node contains. - -#### node.list - -The list to which this node belongs. (Null if it does not belong to -any list.) diff --git a/tools/node_modules/eslint/node_modules/yallist/iterator.js b/tools/node_modules/eslint/node_modules/yallist/iterator.js deleted file mode 100644 index 4a15bf22c40032..00000000000000 --- a/tools/node_modules/eslint/node_modules/yallist/iterator.js +++ /dev/null @@ -1,7 +0,0 @@ -var Yallist = require('./yallist.js') - -Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value - } -} diff --git a/tools/node_modules/eslint/node_modules/yallist/package.json b/tools/node_modules/eslint/node_modules/yallist/package.json deleted file mode 100644 index 1a26ba81939d24..00000000000000 --- a/tools/node_modules/eslint/node_modules/yallist/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "yallist@^2.1.2", - "_id": "yallist@2.1.2", - "_inBundle": false, - "_integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "_location": "/eslint/yallist", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "yallist@^2.1.2", - "name": "yallist", - "escapedName": "yallist", - "rawSpec": "^2.1.2", - "saveSpec": null, - "fetchSpec": "^2.1.2" - }, - "_requiredBy": [ - "/eslint/lru-cache" - ], - "_resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "_shasum": "1c11f9218f076089a47dd512f93c6699a6a81d52", - "_spec": "yallist@^2.1.2", - "_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/lru-cache", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/yallist/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Yet Another Linked List", - "devDependencies": { - "tap": "^10.3.0" - }, - "directories": { - "test": "test" - }, - "files": [ - "yallist.js", - "iterator.js" - ], - "homepage": "https://github.com/isaacs/yallist#readme", - "license": "ISC", - "main": "yallist.js", - "name": "yallist", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/yallist.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test/*.js --100" - }, - "version": "2.1.2" -} diff --git a/tools/node_modules/eslint/node_modules/yallist/yallist.js b/tools/node_modules/eslint/node_modules/yallist/yallist.js deleted file mode 100644 index 518d23330b936c..00000000000000 --- a/tools/node_modules/eslint/node_modules/yallist/yallist.js +++ /dev/null @@ -1,370 +0,0 @@ -module.exports = Yallist - -Yallist.Node = Node -Yallist.create = Yallist - -function Yallist (list) { - var self = this - if (!(self instanceof Yallist)) { - self = new Yallist() - } - - self.tail = null - self.head = null - self.length = 0 - - if (list && typeof list.forEach === 'function') { - list.forEach(function (item) { - self.push(item) - }) - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self.push(arguments[i]) - } - } - - return self -} - -Yallist.prototype.removeNode = function (node) { - if (node.list !== this) { - throw new Error('removing node which does not belong to this list') - } - - var next = node.next - var prev = node.prev - - if (next) { - next.prev = prev - } - - if (prev) { - prev.next = next - } - - if (node === this.head) { - this.head = next - } - if (node === this.tail) { - this.tail = prev - } - - node.list.length-- - node.next = null - node.prev = null - node.list = null -} - -Yallist.prototype.unshiftNode = function (node) { - if (node === this.head) { - return - } - - if (node.list) { - node.list.removeNode(node) - } - - var head = this.head - node.list = this - node.next = head - if (head) { - head.prev = node - } - - this.head = node - if (!this.tail) { - this.tail = node - } - this.length++ -} - -Yallist.prototype.pushNode = function (node) { - if (node === this.tail) { - return - } - - if (node.list) { - node.list.removeNode(node) - } - - var tail = this.tail - node.list = this - node.prev = tail - if (tail) { - tail.next = node - } - - this.tail = node - if (!this.head) { - this.head = node - } - this.length++ -} - -Yallist.prototype.push = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]) - } - return this.length -} - -Yallist.prototype.unshift = function () { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]) - } - return this.length -} - -Yallist.prototype.pop = function () { - if (!this.tail) { - return undefined - } - - var res = this.tail.value - this.tail = this.tail.prev - if (this.tail) { - this.tail.next = null - } else { - this.head = null - } - this.length-- - return res -} - -Yallist.prototype.shift = function () { - if (!this.head) { - return undefined - } - - var res = this.head.value - this.head = this.head.next - if (this.head) { - this.head.prev = null - } else { - this.tail = null - } - this.length-- - return res -} - -Yallist.prototype.forEach = function (fn, thisp) { - thisp = thisp || this - for (var walker = this.head, i = 0; walker !== null; i++) { - fn.call(thisp, walker.value, i, this) - walker = walker.next - } -} - -Yallist.prototype.forEachReverse = function (fn, thisp) { - thisp = thisp || this - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn.call(thisp, walker.value, i, this) - walker = walker.prev - } -} - -Yallist.prototype.get = function (n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.next - } - if (i === n && walker !== null) { - return walker.value - } -} - -Yallist.prototype.getReverse = function (n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - // abort out of the list early if we hit a cycle - walker = walker.prev - } - if (i === n && walker !== null) { - return walker.value - } -} - -Yallist.prototype.map = function (fn, thisp) { - thisp = thisp || this - var res = new Yallist() - for (var walker = this.head; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)) - walker = walker.next - } - return res -} - -Yallist.prototype.mapReverse = function (fn, thisp) { - thisp = thisp || this - var res = new Yallist() - for (var walker = this.tail; walker !== null;) { - res.push(fn.call(thisp, walker.value, this)) - walker = walker.prev - } - return res -} - -Yallist.prototype.reduce = function (fn, initial) { - var acc - var walker = this.head - if (arguments.length > 1) { - acc = initial - } else if (this.head) { - walker = this.head.next - acc = this.head.value - } else { - throw new TypeError('Reduce of empty list with no initial value') - } - - for (var i = 0; walker !== null; i++) { - acc = fn(acc, walker.value, i) - walker = walker.next - } - - return acc -} - -Yallist.prototype.reduceReverse = function (fn, initial) { - var acc - var walker = this.tail - if (arguments.length > 1) { - acc = initial - } else if (this.tail) { - walker = this.tail.prev - acc = this.tail.value - } else { - throw new TypeError('Reduce of empty list with no initial value') - } - - for (var i = this.length - 1; walker !== null; i--) { - acc = fn(acc, walker.value, i) - walker = walker.prev - } - - return acc -} - -Yallist.prototype.toArray = function () { - var arr = new Array(this.length) - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value - walker = walker.next - } - return arr -} - -Yallist.prototype.toArrayReverse = function () { - var arr = new Array(this.length) - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value - walker = walker.prev - } - return arr -} - -Yallist.prototype.slice = function (from, to) { - to = to || this.length - if (to < 0) { - to += this.length - } - from = from || 0 - if (from < 0) { - from += this.length - } - var ret = new Yallist() - if (to < from || to < 0) { - return ret - } - if (from < 0) { - from = 0 - } - if (to > this.length) { - to = this.length - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value) - } - return ret -} - -Yallist.prototype.sliceReverse = function (from, to) { - to = to || this.length - if (to < 0) { - to += this.length - } - from = from || 0 - if (from < 0) { - from += this.length - } - var ret = new Yallist() - if (to < from || to < 0) { - return ret - } - if (from < 0) { - from = 0 - } - if (to > this.length) { - to = this.length - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value) - } - return ret -} - -Yallist.prototype.reverse = function () { - var head = this.head - var tail = this.tail - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev - walker.prev = walker.next - walker.next = p - } - this.head = tail - this.tail = head - return this -} - -function push (self, item) { - self.tail = new Node(item, self.tail, null, self) - if (!self.head) { - self.head = self.tail - } - self.length++ -} - -function unshift (self, item) { - self.head = new Node(item, null, self.head, self) - if (!self.tail) { - self.tail = self.head - } - self.length++ -} - -function Node (value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list) - } - - this.list = list - this.value = value - - if (prev) { - prev.next = this - this.prev = prev - } else { - this.prev = null - } - - if (next) { - next.prev = this - this.next = next - } else { - this.next = null - } -} diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 67fcc320a285ed..4e87fafd72f902 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -1,8 +1,8 @@ { "_from": "eslint@latest", - "_id": "eslint@4.19.1", + "_id": "eslint@5.0.0", "_inBundle": false, - "_integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "_integrity": "sha512-MA0YWJLeK7BPEBxJCINvKnQdKpeTwbac3Xonh0PPFjWYZkowZf+Xl30lJWJ/BWOqFQdAdPcyOh0aBqlbH6ojAg==", "_location": "/eslint", "_phantomChildren": {}, "_requested": { @@ -19,10 +19,10 @@ "#USER", "/" ], - "_resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "_shasum": "32d1d653e1d90408854bfb296f076ec7e186a300", + "_resolved": "https://registry.npmjs.org/eslint/-/eslint-5.0.0.tgz", + "_shasum": "3576704f7377aca072da69c00862277c5fe57153", "_spec": "eslint@latest", - "_where": "/Users/trott/io.js/tools/eslint-tmp", + "_where": "/Users/cjihrig/iojs/node/tools/eslint-tmp", "author": { "name": "Nicholas C. Zakas", "email": "nicholas+npm@nczconsulting.com" @@ -35,90 +35,90 @@ }, "bundleDependencies": false, "dependencies": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", + "cross-spawn": "^6.0.5", "debug": "^3.1.0", "doctrine": "^2.1.0", - "eslint-plugin-markdown": "^1.0.0-beta.7", - "eslint-scope": "^3.7.1", + "eslint-plugin-markdown": "^1.0.0-beta.8", + "eslint-scope": "^4.0.0", "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^2.0.0", "functional-red-black-tree": "^1.0.1", "glob": "^7.1.2", - "globals": "^11.0.1", + "globals": "^11.5.0", "ignore": "^3.3.3", "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", "optionator": "^0.8.2", "path-is-inside": "^1.0.2", "pluralize": "^7.0.0", "progress": "^2.0.0", - "regexpp": "^1.0.1", + "regexpp": "^1.1.0", "require-uncached": "^1.0.3", - "semver": "^5.3.0", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "deprecated": false, "description": "An AST-based pattern checker for JavaScript.", "devDependencies": { - "babel-polyfill": "^6.23.0", + "babel-core": "^6.26.3", + "babel-polyfill": "^6.26.0", "babel-preset-es2015": "^6.24.1", - "babelify": "^7.3.0", + "babelify": "^8.0.0", "beefy": "^2.1.8", - "brfs": "1.4.3", - "browserify": "^14.4.0", + "brfs": "^1.5.0", + "browserify": "^16.2.2", "chai": "^4.0.1", "cheerio": "^0.22.0", - "coveralls": "^2.13.1", - "dateformat": "^2.0.0", - "ejs": "^2.5.6", + "coveralls": "^3.0.1", + "dateformat": "^3.0.3", + "ejs": "^2.6.1", "eslint-plugin-eslint-plugin": "^1.2.0", - "eslint-plugin-node": "^5.1.0", + "eslint-plugin-node": "^6.0.1", "eslint-plugin-rulesdir": "^0.1.0", - "eslint-release": "^0.10.1", - "eslint-rule-composer": "^0.1.0", - "eslump": "1.6.0", + "eslint-release": "^0.11.1", + "eslint-rule-composer": "^0.3.0", + "eslump": "^1.6.2", "esprima": "^4.0.0", - "esprima-fb": "^15001.1001.0-dev-harmony-fb", "istanbul": "^0.4.5", - "jsdoc": "^3.4.3", - "karma": "^1.7.0", - "karma-babel-preprocessor": "^6.0.1", + "jsdoc": "^3.5.5", + "karma": "^2.0.0", + "karma-babel-preprocessor": "^7.0.0", "karma-mocha": "^1.3.0", "karma-mocha-reporter": "^2.2.3", "karma-phantomjs-launcher": "^1.0.4", - "leche": "^2.1.2", + "leche": "^2.2.3", "load-perf": "^0.2.0", - "markdownlint": "^0.6.1", - "mocha": "^3.4.2", - "mock-fs": "^4.3.0", + "markdownlint": "^0.8.1", + "mocha": "^5.0.5", + "mock-fs": "^4.5.0", "npm-license": "^0.3.3", - "phantomjs-prebuilt": "^2.1.14", - "proxyquire": "^1.8.0", - "shelljs": "^0.7.7", - "sinon": "^3.2.1", + "phantomjs-prebuilt": "^2.1.16", + "proxyquire": "^2.0.1", + "shelljs": "^0.8.2", + "sinon": "^3.3.0", "temp": "^0.8.3", "through": "^2.3.8" }, "engines": { - "node": ">=4" + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" }, "files": [ "LICENSE", @@ -155,8 +155,9 @@ "lint": "node Makefile.js lint", "perf": "node Makefile.js perf", "profile": "beefy tests/bench/bench.js --open -- -t brfs -t ./tests/bench/xform-rules.js -r espree", + "rcrelease": "node Makefile.js prerelease -- rc", "release": "node Makefile.js release", "test": "node Makefile.js test" }, - "version": "4.19.1" + "version": "5.0.0" } diff --git a/tools/test.py b/tools/test.py index 5bda606cc87459..c963196c69a5f3 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1549,6 +1549,7 @@ def PrintCrashed(code): IGNORED_SUITES = [ 'addons', 'addons-napi', + 'code-cache', 'doctool', 'gc', 'internet', diff --git a/vcbuild.bat b/vcbuild.bat index 49ff50f60e4a36..368112edf9a02c 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -15,8 +15,10 @@ cd %~dp0 set config=Release set target=Build set target_arch=x64 +set ltcg= set target_env= set noprojgen= +set projgen= set nobuild= set sign= set nosnapshot= @@ -60,19 +62,21 @@ set doc= :next-arg if "%1"=="" goto args-done if /i "%1"=="debug" set config=Debug&goto arg-ok -if /i "%1"=="release" set config=Release&goto arg-ok +if /i "%1"=="release" set config=Release&set ltcg=1&goto arg-ok if /i "%1"=="clean" set target=Clean&goto arg-ok if /i "%1"=="ia32" set target_arch=x86&goto arg-ok if /i "%1"=="x86" set target_arch=x86&goto arg-ok if /i "%1"=="x64" set target_arch=x64&goto arg-ok if /i "%1"=="vs2017" set target_env=vs2017&goto arg-ok if /i "%1"=="noprojgen" set noprojgen=1&goto arg-ok +if /i "%1"=="projgen" set projgen=1&goto arg-ok if /i "%1"=="nobuild" set nobuild=1&goto arg-ok if /i "%1"=="nosign" set "sign="&echo Note: vcbuild no longer signs by default. "nosign" is redundant.&goto arg-ok if /i "%1"=="sign" set sign=1&goto arg-ok if /i "%1"=="nosnapshot" set nosnapshot=1&goto arg-ok if /i "%1"=="noetw" set noetw=1&goto arg-ok if /i "%1"=="noperfctr" set noperfctr=1&goto arg-ok +if /i "%1"=="ltcg" set ltcg=1&goto arg-ok if /i "%1"=="licensertf" set licensertf=1&goto arg-ok if /i "%1"=="test" set test_args=%test_args% -J %common_test_suites%&set lint_cpp=1&set lint_js=1&set lint_md=1&goto arg-ok if /i "%1"=="test-ci" set test_args=%test_args% %test_ci_args% -p tap --logfile test.tap %common_test_suites%&set cctest_args=%cctest_args% --gtest_output=tap:cctest.tap&goto arg-ok @@ -147,6 +151,8 @@ if defined build_release ( set licensertf=1 set download_arg="--download=all" set i18n_arg=small-icu + set projgen=1 + set ltcg=1 ) :: assign path to node_exe @@ -159,6 +165,7 @@ if "%config%"=="Debug" set configure_flags=%configure_flags% --debug if defined nosnapshot set configure_flags=%configure_flags% --without-snapshot if defined noetw set configure_flags=%configure_flags% --without-etw& set noetw_msi_arg=/p:NoETW=1 if defined noperfctr set configure_flags=%configure_flags% --without-perfctr& set noperfctr_msi_arg=/p:NoPerfCtr=1 +if defined ltcg set configure_flags=%configure_flags% --with-ltcg if defined release_urlbase set configure_flags=%configure_flags% --release-urlbase=%release_urlbase% if defined download_arg set configure_flags=%configure_flags% %download_arg% if defined enable_vtune_arg set configure_flags=%configure_flags% --enable-vtune-profiling @@ -203,6 +210,8 @@ if _%PROCESSOR_ARCHITEW6432%_==_AMD64_ set msvs_host_arch=amd64 set vcvarsall_arg=%msvs_host_arch%_%target_arch% @rem unless both host and target are x64 if %target_arch%==x64 if %msvs_host_arch%==amd64 set vcvarsall_arg=amd64 +@rem also if both are x86 +if %target_arch%==x86 if %msvs_host_arch%==x86 set vcvarsall_arg=x86 @rem Look for Visual Studio 2017 :vs-set-2017 @@ -250,16 +259,36 @@ goto build-doc :msbuild-found +set project_generated= :project-gen @rem Skip project generation if requested. if defined noprojgen goto msbuild - +if defined projgen goto run-configure +if not exist node.sln goto run-configure +if not exist .gyp_configure_stamp goto run-configure +echo %configure_flags% > .tmp_gyp_configure_stamp +where /R . /T *.gyp? >> .tmp_gyp_configure_stamp +fc .gyp_configure_stamp .tmp_gyp_configure_stamp >NUL 2>&1 +if errorlevel 1 goto run-configure + +:skip-configure +del .tmp_gyp_configure_stamp +echo Reusing solution generated with %configure_flags% +goto msbuild + +:run-configure +del .tmp_gyp_configure_stamp +del .gyp_configure_stamp @rem Generate the VS project. echo configure %configure_flags% +echo %configure_flags%> .used_configure_flags python configure %configure_flags% if errorlevel 1 goto create-msvs-files-failed if not exist node.sln goto create-msvs-files-failed +set project_generated=1 echo Project files generated. +echo %configure_flags% > .gyp_configure_stamp +where /R . /T *.gyp? >> .gyp_configure_stamp :msbuild @rem Skip build if requested. @@ -272,7 +301,10 @@ set "msbplatform=Win32" if "%target_arch%"=="x64" set "msbplatform=x64" if "%target%"=="Build" if defined no_cctest set target=node msbuild node.sln %msbcpu% /t:%target% /p:Configuration=%config% /p:Platform=%msbplatform% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo -if errorlevel 1 goto exit +if errorlevel 1 ( + if not defined project_generated echo Building Node with reused solution failed. To regenerate project files use "vcbuild projgen" + goto exit +) if "%target%" == "Clean" goto exit :sign @@ -448,13 +480,11 @@ for /d %%F in (test\addons\??_*) do ( "%node_exe%" tools\doc\addon-verify.js if %errorlevel% neq 0 exit /b %errorlevel% :: building addons -setlocal EnableDelayedExpansion -for /d %%F in (test\addons\*) do ( - %node_gyp_exe% rebuild ^ - --directory="%%F" ^ - --nodedir="%cd%" - if !errorlevel! neq 0 exit /b !errorlevel! -) +setlocal +set npm_config_nodedir=%~dp0 +"%node_exe%" "%~dp0tools\build-addons.js" "%~dp0deps\npm\node_modules\node-gyp\bin\node-gyp.js" "%~dp0test\addons" +if errorlevel 1 exit /b 1 +endlocal :build-addons-napi if not defined build_addons_napi goto run-tests @@ -626,10 +656,11 @@ goto exit :create-msvs-files-failed echo Failed to create vc project files. +del .used_configure_flags goto exit :help -echo vcbuild.bat [debug/release] [msi] [doc] [test/test-ci/test-all/test-addons/test-addons-napi/test-internet/test-pummel/test-simple/test-message/test-gc/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-async-hooks/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [noetw] [noperfctr] [licensetf] [sign] [ia32/x86/x64] [vs2017] [download-all] [enable-vtune] [lint/lint-ci/lint-js/lint-js-ci/lint-md] [lint-md-build] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [no-cctest] [openssl-no-asm] +echo vcbuild.bat [debug/release] [msi] [doc] [test/test-ci/test-all/test-addons/test-addons-napi/test-internet/test-pummel/test-simple/test-message/test-gc/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-async-hooks/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [projgen] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [noetw] [noperfctr] [ltcg] [licensetf] [sign] [ia32/x86/x64] [vs2017] [download-all] [enable-vtune] [lint/lint-ci/lint-js/lint-js-ci/lint-md] [lint-md-build] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [no-cctest] [openssl-no-asm] echo Examples: echo vcbuild.bat : builds release build echo vcbuild.bat debug : builds debug build