@eggjs/mock 6.0.6 → 6.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -56
- package/README.zh_CN.md +30 -50
- package/dist/_virtual/rolldown_runtime.js +30 -0
- package/dist/app/extend/agent.d.ts +39 -0
- package/dist/app/extend/agent.js +48 -0
- package/dist/app/extend/application.d.ts +175 -0
- package/dist/app/extend/application.js +385 -0
- package/dist/app/middleware/cluster_app_mock.d.ts +6 -0
- package/dist/app/middleware/cluster_app_mock.js +97 -0
- package/dist/app.d.ts +10 -0
- package/dist/app.js +17 -0
- package/dist/bootstrap.d.ts +9 -0
- package/dist/bootstrap.js +14 -0
- package/dist/index.d.ts +81 -0
- package/dist/index.js +47 -0
- package/dist/inject_mocha.d.ts +1 -0
- package/dist/inject_mocha.js +35 -0
- package/dist/lib/agent_handler.d.ts +7 -0
- package/dist/lib/agent_handler.js +26 -0
- package/dist/lib/app.d.ts +7 -0
- package/dist/lib/app.js +251 -0
- package/dist/lib/app_handler.d.ts +9 -0
- package/dist/lib/app_handler.js +56 -0
- package/dist/lib/cluster.d.ts +126 -0
- package/dist/lib/cluster.js +283 -0
- package/dist/lib/context.d.ts +4 -0
- package/dist/lib/context.js +12 -0
- package/dist/lib/format_options.d.ts +10 -0
- package/dist/lib/format_options.js +65 -0
- package/dist/lib/inject_context.d.ts +9 -0
- package/dist/lib/inject_context.js +106 -0
- package/dist/lib/mock_agent.d.ts +9 -0
- package/dist/lib/mock_agent.js +45 -0
- package/dist/lib/mock_custom_loader.d.ts +4 -0
- package/dist/lib/mock_custom_loader.js +35 -0
- package/dist/lib/mock_http_server.d.ts +6 -0
- package/dist/lib/mock_http_server.js +17 -0
- package/dist/lib/mock_httpclient.d.ts +40 -0
- package/dist/lib/mock_httpclient.js +110 -0
- package/dist/lib/parallel/agent.d.ts +24 -0
- package/dist/lib/parallel/agent.js +111 -0
- package/dist/lib/parallel/app.d.ts +24 -0
- package/dist/lib/parallel/app.js +99 -0
- package/dist/lib/parallel/util.d.ts +6 -0
- package/dist/lib/parallel/util.js +59 -0
- package/dist/lib/prerequire.d.ts +1 -0
- package/dist/lib/prerequire.js +1 -0
- package/dist/lib/request_call_function.d.ts +1 -0
- package/dist/lib/request_call_function.js +37 -0
- package/dist/lib/restore.d.ts +4 -0
- package/dist/lib/restore.js +16 -0
- package/dist/lib/start-cluster.d.ts +1 -0
- package/dist/lib/start-cluster.js +19 -0
- package/dist/lib/supertest.d.ts +16 -0
- package/dist/lib/supertest.js +39 -0
- package/dist/lib/tmp/empty.d.ts +1 -0
- package/dist/lib/tmp/empty.js +1 -0
- package/{src/lib/types.ts → dist/lib/types.d.ts} +12 -29
- package/dist/lib/types.js +1 -0
- package/dist/lib/utils.d.ts +12 -0
- package/dist/lib/utils.js +40 -0
- package/dist/node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js +142 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js +157 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js +97 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js +40 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +814 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +50 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +68 -0
- package/dist/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +752 -0
- package/dist/node_modules/.pnpm/debug@4.4.3_supports-color@8.1.1/node_modules/debug/src/browser.js +203 -0
- package/dist/node_modules/.pnpm/debug@4.4.3_supports-color@8.1.1/node_modules/debug/src/common.js +209 -0
- package/dist/node_modules/.pnpm/debug@4.4.3_supports-color@8.1.1/node_modules/debug/src/index.js +18 -0
- package/dist/node_modules/.pnpm/debug@4.4.3_supports-color@8.1.1/node_modules/debug/src/node.js +215 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/convert/dmp.js +24 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/convert/xml.js +33 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/array.js +29 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/base.js +185 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/character.js +23 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/css.js +26 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/json.js +83 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/line.js +51 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/sentence.js +26 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/diff/word.js +151 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/index.js +178 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/apply.js +168 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/create.js +301 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/line-endings.js +137 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/merge.js +367 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/parse.js +91 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/patch/reverse.js +99 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/util/array.js +23 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/util/distance-iterator.js +30 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/util/params.js +22 -0
- package/dist/node_modules/.pnpm/diff@7.0.0/node_modules/diff/lib/util/string.js +97 -0
- package/dist/node_modules/.pnpm/escape-string-regexp@4.0.0/node_modules/escape-string-regexp/index.js +14 -0
- package/dist/node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js +16 -0
- package/dist/node_modules/.pnpm/he@1.2.0/node_modules/he/he.js +4093 -0
- package/dist/node_modules/.pnpm/is-unicode-supported@0.1.0/node_modules/is-unicode-supported/index.js +14 -0
- package/dist/node_modules/.pnpm/log-symbols@4.1.0/node_modules/log-symbols/index.js +27 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/index.js +12 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/context.js +83 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/error-constants.js +35 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/errors.js +392 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/hook.js +86 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/bdd.js +104 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/common.js +99 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/exports.js +65 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/index.js +18 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/qunit.js +95 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/interfaces/tdd.js +105 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/mocha.js +1037 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/mocharc.js +24 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/nodejs/buffered-worker-pool.js +152 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/nodejs/esm-utils.js +74 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/nodejs/file-unloader.js +22 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/nodejs/parallel-buffered-runner.js +329 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/nodejs/serializer.js +314 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/pending.js +22 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/base.js +417 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/doc.js +79 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/dot.js +75 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/html.js +283 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/index.js +40 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/json-stream.js +90 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/json.js +145 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/landing.js +107 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/list.js +77 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/markdown.js +106 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/min.js +57 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/nyan.js +233 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/progress.js +92 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/spec.js +91 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/tap.js +261 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/reporters/xunit.js +166 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/runnable.js +346 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/runner.js +922 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/stats-collector.js +72 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/suite.js +517 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/test.js +105 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/lib/utils.js +505 -0
- package/dist/node_modules/.pnpm/mocha@11.7.2/node_modules/mocha/package.js +225 -0
- package/dist/node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js +124 -0
- package/dist/node_modules/.pnpm/randombytes@2.1.0/node_modules/randombytes/index.js +11 -0
- package/dist/node_modules/.pnpm/serialize-javascript@6.0.2/node_modules/serialize-javascript/index.js +114 -0
- package/dist/node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js +76 -0
- package/dist/node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js +89 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/Pool.js +366 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/Promise.js +248 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/WorkerHandler.js +419 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/debug-port-allocator.js +27 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/environment.js +18 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/generated/embeddedWorker.js +16 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/index.js +63 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/transfer.js +21 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/validateOptions.js +9 -0
- package/dist/node_modules/.pnpm/workerpool@9.3.4/node_modules/workerpool/src/worker.js +277 -0
- package/dist/register.d.ts +10 -0
- package/dist/register.js +40 -0
- package/dist/typings/index.d.ts +1 -0
- package/package.json +71 -98
- package/dist/commonjs/app/extend/agent.d.ts +0 -34
- package/dist/commonjs/app/extend/agent.js +0 -49
- package/dist/commonjs/app/extend/application.d.ts +0 -171
- package/dist/commonjs/app/extend/application.js +0 -450
- package/dist/commonjs/app/middleware/cluster_app_mock.d.ts +0 -3
- package/dist/commonjs/app/middleware/cluster_app_mock.js +0 -101
- package/dist/commonjs/app.d.ts +0 -6
- package/dist/commonjs/app.js +0 -20
- package/dist/commonjs/bootstrap.d.ts +0 -5
- package/dist/commonjs/bootstrap.js +0 -59
- package/dist/commonjs/index.d.ts +0 -77
- package/dist/commonjs/index.js +0 -114
- package/dist/commonjs/lib/agent_handler.d.ts +0 -3
- package/dist/commonjs/lib/agent_handler.js +0 -28
- package/dist/commonjs/lib/app.d.ts +0 -3
- package/dist/commonjs/lib/app.js +0 -301
- package/dist/commonjs/lib/app_handler.d.ts +0 -5
- package/dist/commonjs/lib/app_handler.js +0 -71
- package/dist/commonjs/lib/cluster.d.ts +0 -114
- package/dist/commonjs/lib/cluster.js +0 -337
- package/dist/commonjs/lib/context.d.ts +0 -1
- package/dist/commonjs/lib/context.js +0 -16
- package/dist/commonjs/lib/format_options.d.ts +0 -5
- package/dist/commonjs/lib/format_options.js +0 -100
- package/dist/commonjs/lib/inject_context.d.ts +0 -6
- package/dist/commonjs/lib/inject_context.js +0 -132
- package/dist/commonjs/lib/mock_agent.d.ts +0 -5
- package/dist/commonjs/lib/mock_agent.js +0 -49
- package/dist/commonjs/lib/mock_custom_loader.d.ts +0 -1
- package/dist/commonjs/lib/mock_custom_loader.js +0 -37
- package/dist/commonjs/lib/mock_http_server.d.ts +0 -2
- package/dist/commonjs/lib/mock_http_server.js +0 -24
- package/dist/commonjs/lib/mock_httpclient.d.ts +0 -36
- package/dist/commonjs/lib/mock_httpclient.js +0 -147
- package/dist/commonjs/lib/parallel/agent.d.ts +0 -20
- package/dist/commonjs/lib/parallel/agent.js +0 -125
- package/dist/commonjs/lib/parallel/app.d.ts +0 -20
- package/dist/commonjs/lib/parallel/app.js +0 -115
- package/dist/commonjs/lib/parallel/util.d.ts +0 -3
- package/dist/commonjs/lib/parallel/util.js +0 -77
- package/dist/commonjs/lib/prerequire.d.ts +0 -1
- package/dist/commonjs/lib/prerequire.js +0 -26
- package/dist/commonjs/lib/request_call_function.d.ts +0 -1
- package/dist/commonjs/lib/request_call_function.js +0 -52
- package/dist/commonjs/lib/restore.d.ts +0 -1
- package/dist/commonjs/lib/restore.js +0 -16
- package/dist/commonjs/lib/start-cluster.d.ts +0 -2
- package/dist/commonjs/lib/start-cluster.js +0 -23
- package/dist/commonjs/lib/supertest.d.ts +0 -11
- package/dist/commonjs/lib/supertest.js +0 -48
- package/dist/commonjs/lib/tmp/empty.d.ts +0 -1
- package/dist/commonjs/lib/tmp/empty.js +0 -3
- package/dist/commonjs/lib/types.d.ts +0 -68
- package/dist/commonjs/lib/types.js +0 -3
- package/dist/commonjs/lib/utils.d.ts +0 -9
- package/dist/commonjs/lib/utils.js +0 -80
- package/dist/commonjs/package.json +0 -3
- package/dist/commonjs/register.d.ts +0 -8
- package/dist/commonjs/register.js +0 -80
- package/dist/esm/app/extend/agent.d.ts +0 -34
- package/dist/esm/app/extend/agent.js +0 -46
- package/dist/esm/app/extend/application.d.ts +0 -171
- package/dist/esm/app/extend/application.js +0 -444
- package/dist/esm/app/middleware/cluster_app_mock.d.ts +0 -3
- package/dist/esm/app/middleware/cluster_app_mock.js +0 -99
- package/dist/esm/app.d.ts +0 -6
- package/dist/esm/app.js +0 -17
- package/dist/esm/bootstrap.d.ts +0 -5
- package/dist/esm/bootstrap.js +0 -15
- package/dist/esm/index.d.ts +0 -77
- package/dist/esm/index.js +0 -91
- package/dist/esm/lib/agent_handler.d.ts +0 -3
- package/dist/esm/lib/agent_handler.js +0 -24
- package/dist/esm/lib/app.d.ts +0 -3
- package/dist/esm/lib/app.js +0 -295
- package/dist/esm/lib/app_handler.d.ts +0 -5
- package/dist/esm/lib/app_handler.js +0 -65
- package/dist/esm/lib/cluster.d.ts +0 -114
- package/dist/esm/lib/cluster.js +0 -328
- package/dist/esm/lib/context.d.ts +0 -1
- package/dist/esm/lib/context.js +0 -13
- package/dist/esm/lib/format_options.d.ts +0 -5
- package/dist/esm/lib/format_options.js +0 -94
- package/dist/esm/lib/inject_context.d.ts +0 -6
- package/dist/esm/lib/inject_context.js +0 -126
- package/dist/esm/lib/mock_agent.d.ts +0 -5
- package/dist/esm/lib/mock_agent.js +0 -45
- package/dist/esm/lib/mock_custom_loader.d.ts +0 -1
- package/dist/esm/lib/mock_custom_loader.js +0 -34
- package/dist/esm/lib/mock_http_server.d.ts +0 -2
- package/dist/esm/lib/mock_http_server.js +0 -18
- package/dist/esm/lib/mock_httpclient.d.ts +0 -36
- package/dist/esm/lib/mock_httpclient.js +0 -144
- package/dist/esm/lib/parallel/agent.d.ts +0 -20
- package/dist/esm/lib/parallel/agent.js +0 -117
- package/dist/esm/lib/parallel/app.d.ts +0 -20
- package/dist/esm/lib/parallel/app.js +0 -110
- package/dist/esm/lib/parallel/util.d.ts +0 -3
- package/dist/esm/lib/parallel/util.js +0 -73
- package/dist/esm/lib/prerequire.d.ts +0 -1
- package/dist/esm/lib/prerequire.js +0 -25
- package/dist/esm/lib/request_call_function.d.ts +0 -1
- package/dist/esm/lib/request_call_function.js +0 -47
- package/dist/esm/lib/restore.d.ts +0 -1
- package/dist/esm/lib/restore.js +0 -13
- package/dist/esm/lib/start-cluster.d.ts +0 -2
- package/dist/esm/lib/start-cluster.js +0 -18
- package/dist/esm/lib/supertest.d.ts +0 -11
- package/dist/esm/lib/supertest.js +0 -40
- package/dist/esm/lib/tmp/empty.d.ts +0 -1
- package/dist/esm/lib/tmp/empty.js +0 -2
- package/dist/esm/lib/types.d.ts +0 -68
- package/dist/esm/lib/types.js +0 -2
- package/dist/esm/lib/utils.d.ts +0 -9
- package/dist/esm/lib/utils.js +0 -69
- package/dist/esm/package.json +0 -3
- package/dist/esm/register.d.ts +0 -8
- package/dist/esm/register.js +0 -75
- package/dist/package.json +0 -4
- package/src/app/extend/agent.ts +0 -57
- package/src/app/extend/application.ts +0 -510
- package/src/app/middleware/cluster_app_mock.ts +0 -102
- package/src/app.ts +0 -18
- package/src/bootstrap.ts +0 -25
- package/src/index.ts +0 -112
- package/src/lib/agent_handler.ts +0 -28
- package/src/lib/app.ts +0 -314
- package/src/lib/app_handler.ts +0 -77
- package/src/lib/cluster.ts +0 -363
- package/src/lib/context.ts +0 -14
- package/src/lib/format_options.ts +0 -103
- package/src/lib/inject_context.ts +0 -134
- package/src/lib/mock_agent.ts +0 -57
- package/src/lib/mock_custom_loader.ts +0 -36
- package/src/lib/mock_http_server.ts +0 -19
- package/src/lib/mock_httpclient.ts +0 -183
- package/src/lib/parallel/agent.ts +0 -128
- package/src/lib/parallel/app.ts +0 -123
- package/src/lib/parallel/util.ts +0 -66
- package/src/lib/prerequire.ts +0 -25
- package/src/lib/request_call_function.ts +0 -49
- package/src/lib/restore.ts +0 -14
- package/src/lib/start-cluster.ts +0 -23
- package/src/lib/supertest.ts +0 -45
- package/src/lib/tmp/.gitkeep +0 -0
- package/src/lib/tmp/empty.ts +0 -0
- package/src/lib/utils.ts +0 -82
- package/src/register.ts +0 -80
- package/src/typings/index.d.ts +0 -4
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMockAgent = getMockAgent;
|
|
4
|
-
exports.restoreMockAgent = restoreMockAgent;
|
|
5
|
-
const node_util_1 = require("node:util");
|
|
6
|
-
const urllib_1 = require("urllib");
|
|
7
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/mock_agent');
|
|
8
|
-
globalThis.__mockAgent = null;
|
|
9
|
-
globalThis.__httpClientDispatchers = new Map();
|
|
10
|
-
function getMockAgent(app) {
|
|
11
|
-
debug('getMockAgent');
|
|
12
|
-
if (!globalThis.__globalDispatcher) {
|
|
13
|
-
globalThis.__globalDispatcher = (0, urllib_1.getGlobalDispatcher)();
|
|
14
|
-
debug('create global dispatcher');
|
|
15
|
-
}
|
|
16
|
-
if (app?.httpClient && !globalThis.__httpClientDispatchers.has(app.httpClient)) {
|
|
17
|
-
globalThis.__httpClientDispatchers.set(app.httpClient, app.httpClient.getDispatcher());
|
|
18
|
-
debug('add new httpClient, size: %d', globalThis.__httpClientDispatchers.size);
|
|
19
|
-
}
|
|
20
|
-
if (!globalThis.__mockAgent) {
|
|
21
|
-
globalThis.__mockAgent = new urllib_1.MockAgent();
|
|
22
|
-
(0, urllib_1.setGlobalDispatcher)(globalThis.__mockAgent);
|
|
23
|
-
if (typeof app?.httpClient?.setDispatcher === 'function') {
|
|
24
|
-
app.httpClient.setDispatcher(globalThis.__mockAgent);
|
|
25
|
-
}
|
|
26
|
-
debug('create new mockAgent');
|
|
27
|
-
}
|
|
28
|
-
return globalThis.__mockAgent;
|
|
29
|
-
}
|
|
30
|
-
async function restoreMockAgent() {
|
|
31
|
-
debug('restoreMockAgent start');
|
|
32
|
-
if (globalThis.__globalDispatcher) {
|
|
33
|
-
(0, urllib_1.setGlobalDispatcher)(globalThis.__globalDispatcher);
|
|
34
|
-
debug('restore global dispatcher');
|
|
35
|
-
}
|
|
36
|
-
debug('restore httpClient, size: %d', globalThis.__httpClientDispatchers.size);
|
|
37
|
-
for (const [httpClient, dispatcher] of globalThis.__httpClientDispatchers) {
|
|
38
|
-
httpClient.setDispatcher(dispatcher);
|
|
39
|
-
}
|
|
40
|
-
globalThis.__httpClientDispatchers.clear();
|
|
41
|
-
if (globalThis.__mockAgent) {
|
|
42
|
-
const agent = globalThis.__mockAgent;
|
|
43
|
-
globalThis.__mockAgent = null;
|
|
44
|
-
await agent.close();
|
|
45
|
-
debug('close mockAgent');
|
|
46
|
-
}
|
|
47
|
-
debug('restoreMockAgent end');
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9ja19hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxvQ0FtQkM7QUFFRCw0Q0FrQkM7QUF4REQseUNBQXFDO0FBQ3JDLG1DQUdnQjtBQUVoQixNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFRLEVBQUMsNEJBQTRCLENBQUMsQ0FBQztBQVFyRCxVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztBQUM5QixVQUFVLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7QUFFdkUsU0FBZ0IsWUFBWSxDQUFDLEdBQWlDO0lBQzVELEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLElBQUEsNEJBQW1CLEdBQUUsQ0FBQztRQUN0RCxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxHQUFHLEVBQUUsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUMvRSxVQUFVLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLGtCQUFTLEVBQUUsQ0FBQztRQUN6QyxJQUFBLDRCQUFtQixFQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxJQUFJLE9BQU8sR0FBRyxFQUFFLFVBQVUsRUFBRSxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDekQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ2hDLENBQUM7QUFFTSxLQUFLLFVBQVUsZ0JBQWdCO0lBQ3BDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hDLElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEMsSUFBQSw0QkFBbUIsRUFBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRSxLQUFLLE1BQU0sQ0FBRSxVQUFVLEVBQUUsVUFBVSxDQUFFLElBQUksVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDNUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDckMsVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function setCustomLoader(app: any): void;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setCustomLoader = setCustomLoader;
|
|
4
|
-
const node_util_1 = require("node:util");
|
|
5
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/mock_custom_loader');
|
|
6
|
-
function setCustomLoader(app) {
|
|
7
|
-
const customLoader = app.config.customLoader;
|
|
8
|
-
if (!customLoader)
|
|
9
|
-
return;
|
|
10
|
-
for (const field of Object.keys(customLoader)) {
|
|
11
|
-
const loaderConfig = Object.assign({}, customLoader[field]);
|
|
12
|
-
loaderConfig.field = field;
|
|
13
|
-
addMethod(loaderConfig);
|
|
14
|
-
}
|
|
15
|
-
function addMethod(loaderConfig) {
|
|
16
|
-
const field = loaderConfig.field;
|
|
17
|
-
const appMethodName = 'mock' + field.replace(/^[a-z]/i, s => s.toUpperCase());
|
|
18
|
-
if (app[appMethodName]) {
|
|
19
|
-
app.coreLogger.warn('Can\'t override app.%s', appMethodName);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
debug('[addMethod] %s => %j', appMethodName, loaderConfig);
|
|
23
|
-
app[appMethodName] = function (service, methodName, fn) {
|
|
24
|
-
if (typeof service === 'string') {
|
|
25
|
-
const arr = service.split('.');
|
|
26
|
-
service = loaderConfig.inject === 'ctx' ? this[field + 'Classes'] : this[field];
|
|
27
|
-
for (const key of arr) {
|
|
28
|
-
service = service[key];
|
|
29
|
-
}
|
|
30
|
-
service = service.prototype || service;
|
|
31
|
-
}
|
|
32
|
-
this._mockFn(service, methodName, fn);
|
|
33
|
-
return this;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19jdXN0b21fbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2NrX2N1c3RvbV9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSwwQ0ErQkM7QUFuQ0QseUNBQXFDO0FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyxvQ0FBb0MsQ0FBQyxDQUFDO0FBRTdELFNBQWdCLGVBQWUsQ0FBQyxHQUFRO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTztJQUUxQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RCxZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMzQixTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFlBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFlLENBQUM7UUFDM0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUNELEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0QsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFVBQVMsT0FBWSxFQUFFLFVBQWtCLEVBQUUsRUFBTztZQUNyRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEYsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQztnQkFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7WUFDekMsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createServer = createServer;
|
|
7
|
-
const node_http_1 = __importDefault(require("node:http"));
|
|
8
|
-
const SERVER = Symbol('http_server');
|
|
9
|
-
function createServer(app) {
|
|
10
|
-
let server = app[SERVER] || app.callback();
|
|
11
|
-
if (typeof server === 'function') {
|
|
12
|
-
server = node_http_1.default.createServer(server);
|
|
13
|
-
// cache server, avoid create many times
|
|
14
|
-
app[SERVER] = server;
|
|
15
|
-
if (!app.server) {
|
|
16
|
-
app.server = server;
|
|
17
|
-
}
|
|
18
|
-
// emit server event just like egg-cluster does
|
|
19
|
-
// https://github.com/eggjs/egg-cluster/blob/master/lib/app_worker.js#L52
|
|
20
|
-
app.emit('server', server);
|
|
21
|
-
}
|
|
22
|
-
return server;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19odHRwX3NlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbW9ja19odHRwX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLG9DQWNDO0FBbEJELDBEQUF5QztBQUV6QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFckMsU0FBZ0IsWUFBWSxDQUFDLEdBQVE7SUFDbkMsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxtQkFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyx3Q0FBd0M7UUFDeEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLENBQUM7UUFDRCwrQ0FBK0M7UUFDL0MseUVBQXlFO1FBQ3pFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Dispatcher, Headers, BodyInit } from 'urllib';
|
|
2
|
-
export interface MockResultOptions {
|
|
3
|
-
data: string | Buffer | Record<string, any>;
|
|
4
|
-
/**
|
|
5
|
-
* http status
|
|
6
|
-
*/
|
|
7
|
-
status?: number;
|
|
8
|
-
/**
|
|
9
|
-
* response header
|
|
10
|
-
*/
|
|
11
|
-
headers?: Record<string, string>;
|
|
12
|
-
/**
|
|
13
|
-
* delay the associated reply by a set amount in ms
|
|
14
|
-
*/
|
|
15
|
-
delay?: number;
|
|
16
|
-
/**
|
|
17
|
-
* any matching request will always reply with the defined response indefinitely
|
|
18
|
-
*/
|
|
19
|
-
persist?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* any matching request will reply with the defined response a fixed amount of times
|
|
22
|
-
*/
|
|
23
|
-
repeats?: number;
|
|
24
|
-
}
|
|
25
|
-
export type ResultObject = MockResultOptions;
|
|
26
|
-
export interface MockResponseCallbackOptions {
|
|
27
|
-
path: string;
|
|
28
|
-
method: string;
|
|
29
|
-
headers?: Headers | Record<string, string>;
|
|
30
|
-
origin?: string;
|
|
31
|
-
body?: BodyInit | Dispatcher.DispatchOptions['body'] | null;
|
|
32
|
-
maxRedirections?: number;
|
|
33
|
-
}
|
|
34
|
-
export type MockResultFunction = (url: string, options: MockResponseCallbackOptions) => MockResultOptions | string;
|
|
35
|
-
export declare function createMockHttpClient(app: any): (mockUrl: string | RegExp, mockMethod: string | string[] | MockResultOptions | MockResultFunction, mockResult?: MockResultOptions | MockResultFunction | string) => void;
|
|
36
|
-
export type MockHttpClientMethod = ReturnType<typeof createMockHttpClient>;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createMockHttpClient = createMockHttpClient;
|
|
4
|
-
const mm_1 = require("mm");
|
|
5
|
-
const extend2_1 = require("extend2");
|
|
6
|
-
const mock_agent_js_1 = require("./mock_agent.js");
|
|
7
|
-
function normalizeResult(result) {
|
|
8
|
-
if (typeof result === 'string') {
|
|
9
|
-
result = { data: result };
|
|
10
|
-
}
|
|
11
|
-
if (!result.status) {
|
|
12
|
-
result.status = 200;
|
|
13
|
-
}
|
|
14
|
-
result.data = result.data || '';
|
|
15
|
-
if (Buffer.isBuffer(result.data)) {
|
|
16
|
-
// do nothing
|
|
17
|
-
}
|
|
18
|
-
else if (typeof result.data === 'object') {
|
|
19
|
-
// json
|
|
20
|
-
result.data = Buffer.from(JSON.stringify(result.data));
|
|
21
|
-
}
|
|
22
|
-
else if (typeof result.data === 'string') {
|
|
23
|
-
// string
|
|
24
|
-
result.data = Buffer.from(result.data);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
throw new Error('`mockResult.data` must be buffer, string or json');
|
|
28
|
-
}
|
|
29
|
-
result.headers = result.headers ?? {};
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
const MOCK_CONFIGS = Symbol('MOCK_CONFIGS');
|
|
33
|
-
const MOCK_CONFIG_INDEX = Symbol('MOCK_CONFIG_INDEX');
|
|
34
|
-
function createMockHttpClient(app) {
|
|
35
|
-
/**
|
|
36
|
-
* mock httpclient
|
|
37
|
-
* @function mockHttpclient
|
|
38
|
-
* @param {String} mockUrl - url
|
|
39
|
-
* @param {String|Array} mockMethod - http method, default is '*'
|
|
40
|
-
* @param {Object|Function} mockResult - you data
|
|
41
|
-
* - data - buffer / string / json
|
|
42
|
-
* - status - http status
|
|
43
|
-
* - headers - response header
|
|
44
|
-
* - delay - delay the associated reply by a set amount in ms.
|
|
45
|
-
* - persist - any matching request will always reply with the defined response indefinitely, default is true
|
|
46
|
-
* - repeats - number, any matching request will reply with the defined response a fixed amount of times
|
|
47
|
-
*/
|
|
48
|
-
return function mockHttpClient(mockUrl, mockMethod, mockResult) {
|
|
49
|
-
let mockMethods = mockMethod;
|
|
50
|
-
if (!mockResult) {
|
|
51
|
-
// app.mockHttpclient(mockUrl, mockResult)
|
|
52
|
-
mockResult = mockMethod;
|
|
53
|
-
mockMethods = ['*'];
|
|
54
|
-
}
|
|
55
|
-
if (!Array.isArray(mockMethods)) {
|
|
56
|
-
mockMethods = [mockMethods];
|
|
57
|
-
}
|
|
58
|
-
mockMethods = mockMethods.map(method => (method || 'GET').toUpperCase());
|
|
59
|
-
// use MockAgent on undici
|
|
60
|
-
let mockConfigs = app[MOCK_CONFIGS];
|
|
61
|
-
if (!mockConfigs) {
|
|
62
|
-
mockConfigs = [];
|
|
63
|
-
(0, mm_1.mm)(app, MOCK_CONFIGS, mockConfigs);
|
|
64
|
-
}
|
|
65
|
-
let mockConfigIndex = -1;
|
|
66
|
-
let origin = mockUrl;
|
|
67
|
-
let originMethod;
|
|
68
|
-
const pathname = mockUrl;
|
|
69
|
-
let pathMethod;
|
|
70
|
-
if (typeof mockUrl === 'string') {
|
|
71
|
-
const urlObject = new URL(mockUrl);
|
|
72
|
-
origin = urlObject.origin;
|
|
73
|
-
const originalPathname = urlObject.pathname;
|
|
74
|
-
pathMethod = path => {
|
|
75
|
-
if (path === originalPathname)
|
|
76
|
-
return true;
|
|
77
|
-
// should match /foo?a=1 including query
|
|
78
|
-
if (path.includes('?'))
|
|
79
|
-
return path.startsWith(originalPathname);
|
|
80
|
-
return false;
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
else if (mockUrl instanceof RegExp) {
|
|
84
|
-
let requestOrigin = '';
|
|
85
|
-
originMethod = value => {
|
|
86
|
-
requestOrigin = value;
|
|
87
|
-
return true;
|
|
88
|
-
};
|
|
89
|
-
pathMethod = path => {
|
|
90
|
-
for (const config of mockConfigs) {
|
|
91
|
-
if (config.mockUrl.test(`${requestOrigin}${path}`)) {
|
|
92
|
-
(0, mm_1.mm)(app, MOCK_CONFIG_INDEX, config.mockConfigIndex);
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return false;
|
|
97
|
-
};
|
|
98
|
-
mockConfigIndex = mockConfigs.length;
|
|
99
|
-
mockConfigs.push({ mockUrl, mockResult, mockConfigIndex });
|
|
100
|
-
}
|
|
101
|
-
const mockPool = originMethod
|
|
102
|
-
? (0, mock_agent_js_1.getMockAgent)(app).get(originMethod)
|
|
103
|
-
: (0, mock_agent_js_1.getMockAgent)(app).get(originMethod ?? origin);
|
|
104
|
-
// persist default is true
|
|
105
|
-
let persist = true;
|
|
106
|
-
if (typeof mockResult === 'object' && typeof mockResult.persist === 'boolean') {
|
|
107
|
-
persist = mockResult.persist;
|
|
108
|
-
}
|
|
109
|
-
mockMethods.forEach(function (method) {
|
|
110
|
-
const mockScope = mockPool.intercept({
|
|
111
|
-
path: pathMethod ?? pathname,
|
|
112
|
-
method: method === '*' ? () => true : method,
|
|
113
|
-
}).reply(options => {
|
|
114
|
-
// not support mockResult as an async function
|
|
115
|
-
const requestUrl = `${options.origin}${options.path}`;
|
|
116
|
-
let mockRequestResult;
|
|
117
|
-
if (mockConfigIndex >= 0) {
|
|
118
|
-
mockResult = mockConfigs[app[MOCK_CONFIG_INDEX]].mockResult;
|
|
119
|
-
mockRequestResult = typeof mockResult === 'function' ? mockResult(requestUrl, options) : mockResult;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
mockRequestResult = typeof mockResult === 'function' ? mockResult(requestUrl, options) : mockResult;
|
|
123
|
-
}
|
|
124
|
-
const result = (0, extend2_1.extend)(true, {}, normalizeResult(mockRequestResult));
|
|
125
|
-
return {
|
|
126
|
-
statusCode: result.status,
|
|
127
|
-
data: result.data,
|
|
128
|
-
responseOptions: {
|
|
129
|
-
headers: result.headers,
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
});
|
|
133
|
-
if (typeof mockResult === 'object') {
|
|
134
|
-
if (mockResult.delay && mockResult.delay > 0) {
|
|
135
|
-
mockScope.delay(mockResult.delay);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (persist) {
|
|
139
|
-
mockScope.persist();
|
|
140
|
-
}
|
|
141
|
-
else if (typeof mockResult === 'object' && mockResult.repeats && mockResult.repeats > 0) {
|
|
142
|
-
mockScope.times(mockResult.repeats);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19odHRwY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tb2NrX2h0dHBjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1RUEsb0RBNkdDO0FBcExELDJCQUF3QjtBQUN4QixxQ0FBaUM7QUFFakMsbURBQStDO0FBd0MvQyxTQUFTLGVBQWUsQ0FBQyxNQUFrQztJQUN6RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakMsYUFBYTtJQUNmLENBQUM7U0FBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxPQUFPO1FBQ1AsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztTQUFNLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLFNBQVM7UUFDVCxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQ3RF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
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Base } from 'sdk-base';
|
|
2
|
-
import type { EggCore } from '@eggjs/core';
|
|
3
|
-
import { MockOptions, MockApplicationOptions } from '../types.js';
|
|
4
|
-
import { APP_INIT } from './util.js';
|
|
5
|
-
export declare class MockAgent extends Base {
|
|
6
|
-
#private;
|
|
7
|
-
options: MockApplicationOptions;
|
|
8
|
-
baseDir: string;
|
|
9
|
-
[APP_INIT]: boolean;
|
|
10
|
-
_instance: EggCore;
|
|
11
|
-
constructor(options: MockApplicationOptions);
|
|
12
|
-
_init(): Promise<void>;
|
|
13
|
-
on(...args: any[]): this;
|
|
14
|
-
once(...args: any[]): this;
|
|
15
|
-
/**
|
|
16
|
-
* close agent
|
|
17
|
-
*/
|
|
18
|
-
_close(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export declare function createAgent(options: MockOptions): MockAgent;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MockAgent = void 0;
|
|
7
|
-
exports.createAgent = createAgent;
|
|
8
|
-
const node_util_1 = require("node:util");
|
|
9
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
-
const sdk_base_1 = require("sdk-base");
|
|
11
|
-
const detect_port_1 = require("detect-port");
|
|
12
|
-
const utils_1 = require("@eggjs/utils");
|
|
13
|
-
const context_js_1 = require("../context.js");
|
|
14
|
-
const format_options_js_1 = require("../format_options.js");
|
|
15
|
-
const utils_js_1 = require("../utils.js");
|
|
16
|
-
const mock_custom_loader_js_1 = require("../mock_custom_loader.js");
|
|
17
|
-
const util_js_1 = require("./util.js");
|
|
18
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/parallel/agent');
|
|
19
|
-
class MockAgent extends sdk_base_1.Base {
|
|
20
|
-
baseDir;
|
|
21
|
-
[util_js_1.APP_INIT] = false;
|
|
22
|
-
#initOnListeners = new Set();
|
|
23
|
-
#initOnceListeners = new Set();
|
|
24
|
-
_instance;
|
|
25
|
-
constructor(options) {
|
|
26
|
-
super({ initMethod: '_init' });
|
|
27
|
-
this.options = options;
|
|
28
|
-
this.baseDir = this.options.baseDir;
|
|
29
|
-
}
|
|
30
|
-
async _init() {
|
|
31
|
-
if (this.options.beforeInit) {
|
|
32
|
-
await this.options.beforeInit(this);
|
|
33
|
-
delete this.options.beforeInit;
|
|
34
|
-
}
|
|
35
|
-
if (this.options.clean !== false) {
|
|
36
|
-
const logDir = node_path_1.default.join(this.options.baseDir, 'logs');
|
|
37
|
-
try {
|
|
38
|
-
await (0, utils_js_1.rimraf)(logDir);
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
console.error(`remove log dir ${logDir} failed: ${err.stack}`);
|
|
42
|
-
}
|
|
43
|
-
const runDir = node_path_1.default.join(this.options.baseDir, 'run');
|
|
44
|
-
try {
|
|
45
|
-
await (0, utils_js_1.rimraf)(runDir);
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
console.error(`remove run dir ${runDir} failed: ${err.stack}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
this.options.clusterPort = await (0, detect_port_1.detectPort)();
|
|
52
|
-
process.env.CLUSTER_PORT = String(this.options.clusterPort);
|
|
53
|
-
debug('get clusterPort %s', this.options.clusterPort);
|
|
54
|
-
const { Agent } = await (0, utils_1.importModule)(this.options.framework);
|
|
55
|
-
const agent = this._instance = new Agent({ ...this.options });
|
|
56
|
-
// egg-mock plugin need to override egg context
|
|
57
|
-
Object.assign(agent.context, context_js_1.context);
|
|
58
|
-
(0, mock_custom_loader_js_1.setCustomLoader)(agent);
|
|
59
|
-
debug('agent instantiate');
|
|
60
|
-
this[util_js_1.APP_INIT] = true;
|
|
61
|
-
debug('this[APP_INIT] = true');
|
|
62
|
-
this.#bindEvents();
|
|
63
|
-
await agent.ready();
|
|
64
|
-
const msg = {
|
|
65
|
-
action: 'egg-ready',
|
|
66
|
-
data: this.options,
|
|
67
|
-
};
|
|
68
|
-
agent.messenger.onMessage(msg);
|
|
69
|
-
debug('agent ready');
|
|
70
|
-
}
|
|
71
|
-
#bindEvents() {
|
|
72
|
-
debug('bind cache events to agent');
|
|
73
|
-
for (const args of this.#initOnListeners) {
|
|
74
|
-
debug('on(%s), use cache and pass to agent', args);
|
|
75
|
-
this._instance.on(args[0], args[1]);
|
|
76
|
-
this.removeListener(args[0], args[1]);
|
|
77
|
-
}
|
|
78
|
-
for (const args of this.#initOnceListeners) {
|
|
79
|
-
debug('once(%s), use cache and pass to agent', args);
|
|
80
|
-
this._instance.once(args[0], args[1]);
|
|
81
|
-
this.removeListener(args[0], args[1]);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
on(...args) {
|
|
85
|
-
if (this[util_js_1.APP_INIT]) {
|
|
86
|
-
debug('on(%s), pass to agent', args);
|
|
87
|
-
this._instance.on(args[0], args[1]);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
debug('on(%s), cache it because agent has not init', args);
|
|
91
|
-
this.#initOnListeners.add(args);
|
|
92
|
-
super.on(args[0], args[1]);
|
|
93
|
-
}
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
once(...args) {
|
|
97
|
-
if (this[util_js_1.APP_INIT]) {
|
|
98
|
-
debug('once(%s), pass to agent', args);
|
|
99
|
-
this._instance.once(args[0], args[1]);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
debug('once(%s), cache it because agent has not init', args);
|
|
103
|
-
this.#initOnceListeners.add(args);
|
|
104
|
-
super.on(args[0], args[1]);
|
|
105
|
-
}
|
|
106
|
-
return this;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* close agent
|
|
110
|
-
*/
|
|
111
|
-
async _close() {
|
|
112
|
-
if (this._instance) {
|
|
113
|
-
await this._instance.close();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
// when agent init throws an exception, must wait for agent quit gracefully
|
|
117
|
-
await (0, utils_js_1.sleep)(200);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
exports.MockAgent = MockAgent;
|
|
122
|
-
function createAgent(options) {
|
|
123
|
-
return new MockAgent((0, format_options_js_1.formatOptions)(options));
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BhcmFsbGVsL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTZIQSxrQ0FFQztBQS9IRCx5Q0FBcUM7QUFDckMsMERBQTZCO0FBQzdCLHVDQUFnQztBQUNoQyw2Q0FBeUM7QUFDekMsd0NBQTRDO0FBRTVDLDhDQUF3QztBQUN4Qyw0REFBcUQ7QUFFckQsMENBQTRDO0FBQzVDLG9FQUEyRDtBQUMzRCx1Q0FBcUM7QUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFekQsTUFBYSxTQUFVLFNBQVEsZUFBSTtJQUVqQyxPQUFPLENBQVM7SUFDaEIsQ0FBQyxrQkFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFTLENBQUM7SUFDcEMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVMsQ0FBQztJQUN0QyxTQUFTLENBQVU7SUFFbkIsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDakMs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
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Base } from 'sdk-base';
|
|
2
|
-
import type { EggCore } from '@eggjs/core';
|
|
3
|
-
import { MockOptions, MockApplicationOptions } from '../types.js';
|
|
4
|
-
import { APP_INIT } from './util.js';
|
|
5
|
-
export declare class MockParallelApplication extends Base {
|
|
6
|
-
#private;
|
|
7
|
-
options: MockApplicationOptions;
|
|
8
|
-
baseDir: string;
|
|
9
|
-
[APP_INIT]: boolean;
|
|
10
|
-
_instance: EggCore;
|
|
11
|
-
constructor(options: MockApplicationOptions);
|
|
12
|
-
_init(): Promise<void>;
|
|
13
|
-
on(...args: any[]): this;
|
|
14
|
-
once(...args: any[]): this;
|
|
15
|
-
/**
|
|
16
|
-
* close app
|
|
17
|
-
*/
|
|
18
|
-
_close(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export declare function createApp(initOptions: MockOptions): any;
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockParallelApplication = void 0;
|
|
4
|
-
exports.createApp = createApp;
|
|
5
|
-
const node_util_1 = require("node:util");
|
|
6
|
-
const sdk_base_1 = require("sdk-base");
|
|
7
|
-
const utils_1 = require("@eggjs/utils");
|
|
8
|
-
const context_js_1 = require("../context.js");
|
|
9
|
-
const format_options_js_1 = require("../format_options.js");
|
|
10
|
-
const utils_js_1 = require("../utils.js");
|
|
11
|
-
const mock_custom_loader_js_1 = require("../mock_custom_loader.js");
|
|
12
|
-
const mock_http_server_js_1 = require("../mock_http_server.js");
|
|
13
|
-
const util_js_1 = require("./util.js");
|
|
14
|
-
const debug = (0, node_util_1.debuglog)('@eggjs/mock/lib/parallel/app');
|
|
15
|
-
class MockParallelApplication extends sdk_base_1.Base {
|
|
16
|
-
baseDir;
|
|
17
|
-
[util_js_1.APP_INIT] = false;
|
|
18
|
-
#initOnListeners = new Set();
|
|
19
|
-
#initOnceListeners = new Set();
|
|
20
|
-
_instance;
|
|
21
|
-
constructor(options) {
|
|
22
|
-
super({ initMethod: '_init' });
|
|
23
|
-
this.options = options;
|
|
24
|
-
this.baseDir = options.baseDir;
|
|
25
|
-
}
|
|
26
|
-
async _init() {
|
|
27
|
-
if (this.options.beforeInit) {
|
|
28
|
-
await this.options.beforeInit(this);
|
|
29
|
-
delete this.options.beforeInit;
|
|
30
|
-
}
|
|
31
|
-
if (!this.options.clusterPort) {
|
|
32
|
-
this.options.clusterPort = parseInt(process.env.CLUSTER_PORT);
|
|
33
|
-
}
|
|
34
|
-
if (!this.options.clusterPort) {
|
|
35
|
-
throw new Error('cannot get env.CLUSTER_PORT, parallel run fail');
|
|
36
|
-
}
|
|
37
|
-
debug('get clusterPort %s', this.options.clusterPort);
|
|
38
|
-
const { Application } = await (0, utils_1.importModule)(this.options.framework);
|
|
39
|
-
const app = this._instance = new Application({ ...this.options });
|
|
40
|
-
// egg-mock plugin need to override egg context
|
|
41
|
-
Object.assign(app.context, context_js_1.context);
|
|
42
|
-
(0, mock_custom_loader_js_1.setCustomLoader)(app);
|
|
43
|
-
debug('app instantiate');
|
|
44
|
-
this[util_js_1.APP_INIT] = true;
|
|
45
|
-
debug('this[APP_INIT] = true');
|
|
46
|
-
this.#bindEvents();
|
|
47
|
-
debug('http server instantiate');
|
|
48
|
-
(0, mock_http_server_js_1.createServer)(app);
|
|
49
|
-
await app.ready();
|
|
50
|
-
const msg = {
|
|
51
|
-
action: 'egg-ready',
|
|
52
|
-
data: this.options,
|
|
53
|
-
};
|
|
54
|
-
app.messenger.onMessage(msg);
|
|
55
|
-
debug('app ready');
|
|
56
|
-
}
|
|
57
|
-
#bindEvents() {
|
|
58
|
-
for (const args of this.#initOnListeners) {
|
|
59
|
-
debug('on(%s), use cache and pass to app', args);
|
|
60
|
-
this._instance.on(args[0], args[1]);
|
|
61
|
-
this.removeListener(args[0], args[1]);
|
|
62
|
-
}
|
|
63
|
-
for (const args of this.#initOnceListeners) {
|
|
64
|
-
debug('once(%s), use cache and pass to app', args);
|
|
65
|
-
this._instance.once(args[0], args[1]);
|
|
66
|
-
this.removeListener(args[0], args[1]);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
on(...args) {
|
|
70
|
-
if (this[util_js_1.APP_INIT]) {
|
|
71
|
-
debug('on(%s), pass to app', args);
|
|
72
|
-
this._instance.on(args[0], args[1]);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
debug('on(%s), cache it because app has not init', args);
|
|
76
|
-
if (this.#initOnListeners) {
|
|
77
|
-
this.#initOnListeners.add(args);
|
|
78
|
-
}
|
|
79
|
-
super.on(args[0], args[1]);
|
|
80
|
-
}
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
once(...args) {
|
|
84
|
-
if (this[util_js_1.APP_INIT]) {
|
|
85
|
-
debug('once(%s), pass to app', args);
|
|
86
|
-
this._instance.once(args[0], args[1]);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
debug('once(%s), cache it because app has not init', args);
|
|
90
|
-
if (this.#initOnceListeners) {
|
|
91
|
-
this.#initOnceListeners.add(args);
|
|
92
|
-
}
|
|
93
|
-
super.on(args[0], args[1]);
|
|
94
|
-
}
|
|
95
|
-
return this;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* close app
|
|
99
|
-
*/
|
|
100
|
-
async _close() {
|
|
101
|
-
if (this._instance) {
|
|
102
|
-
await this._instance.close();
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
// when app init throws an exception, must wait for app quit gracefully
|
|
106
|
-
await (0, utils_js_1.sleep)(200);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.MockParallelApplication = MockParallelApplication;
|
|
111
|
-
function createApp(initOptions) {
|
|
112
|
-
const app = new MockParallelApplication((0, format_options_js_1.formatOptions)(initOptions));
|
|
113
|
-
return (0, util_js_1.proxyApp)(app);
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wYXJhbGxlbC9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUhBLDhCQUdDO0FBMUhELHlDQUFxQztBQUNyQyx1Q0FBZ0M7QUFDaEMsd0NBQTRDO0FBRTVDLDhDQUF3QztBQUN4Qyw0REFBcUQ7QUFFckQsMENBQW9DO0FBQ3BDLG9FQUEyRDtBQUMzRCxnRUFBc0Q7QUFDdEQsdUNBQStDO0FBRS9DLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBRXZELE1BQWEsdUJBQXdCLFNBQVEsZUFBSTtJQUUvQyxPQUFPLENBQVM7SUFDaEIsQ0FBQyxrQkFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFTLENBQUM7SUFDcEMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVMsQ0FBQztJQUN0QyxTQUFTLENBQVU7SUFFbkIsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsUUFB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
|