hardhat 2.15.0 → 2.16.0
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/builtin-tasks/compile.js +25 -29
- package/builtin-tasks/compile.js.map +1 -1
- package/builtin-tasks/node.js +1 -2
- package/builtin-tasks/node.js.map +1 -1
- package/console.sol +3 -4
- package/internal/cli/analytics.d.ts +6 -6
- package/internal/cli/analytics.d.ts.map +1 -1
- package/internal/cli/analytics.js +43 -115
- package/internal/cli/analytics.js.map +1 -1
- package/internal/cli/cli.js +6 -4
- package/internal/cli/cli.js.map +1 -1
- package/internal/cli/project-creation.d.ts.map +1 -1
- package/internal/cli/project-creation.js +2 -1
- package/internal/cli/project-creation.js.map +1 -1
- package/internal/context.d.ts +3 -3
- package/internal/context.d.ts.map +1 -1
- package/internal/context.js +2 -2
- package/internal/context.js.map +1 -1
- package/internal/core/config/config-env.d.ts +16 -1
- package/internal/core/config/config-env.d.ts.map +1 -1
- package/internal/core/config/config-env.js +21 -3
- package/internal/core/config/config-env.js.map +1 -1
- package/internal/core/errors-list.d.ts +7 -0
- package/internal/core/errors-list.d.ts.map +1 -1
- package/internal/core/errors-list.js +8 -0
- package/internal/core/errors-list.js.map +1 -1
- package/internal/core/providers/construction.d.ts +3 -3
- package/internal/core/providers/construction.d.ts.map +1 -1
- package/internal/core/providers/construction.js +13 -5
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/lazy-initialization.d.ts +44 -0
- package/internal/core/providers/lazy-initialization.d.ts.map +1 -0
- package/internal/core/providers/lazy-initialization.js +137 -0
- package/internal/core/providers/lazy-initialization.js.map +1 -0
- package/internal/core/providers/wrapper.d.ts +10 -0
- package/internal/core/providers/wrapper.d.ts.map +1 -1
- package/internal/core/providers/wrapper.js +10 -0
- package/internal/core/providers/wrapper.js.map +1 -1
- package/internal/core/runtime-environment.d.ts +5 -4
- package/internal/core/runtime-environment.d.ts.map +1 -1
- package/internal/core/runtime-environment.js +9 -8
- package/internal/core/runtime-environment.js.map +1 -1
- package/internal/lib/hardhat-lib.d.ts.map +1 -1
- package/internal/lib/hardhat-lib.js +1 -1
- package/internal/lib/hardhat-lib.js.map +1 -1
- package/package.json +1 -3
- package/plugins.d.ts +1 -0
- package/plugins.d.ts.map +1 -1
- package/plugins.js +3 -1
- package/plugins.js.map +1 -1
- package/register.js +1 -1
- package/register.js.map +1 -1
- package/src/builtin-tasks/compile.ts +53 -53
- package/src/builtin-tasks/node.ts +2 -5
- package/src/internal/cli/analytics.ts +82 -134
- package/src/internal/cli/cli.ts +7 -4
- package/src/internal/cli/project-creation.ts +4 -1
- package/src/internal/context.ts +5 -2
- package/src/internal/core/config/config-env.ts +21 -2
- package/src/internal/core/errors-list.ts +9 -0
- package/src/internal/core/providers/construction.ts +26 -10
- package/src/internal/core/providers/lazy-initialization.ts +178 -0
- package/src/internal/core/providers/wrapper.ts +10 -0
- package/src/internal/core/runtime-environment.ts +15 -12
- package/src/internal/lib/hardhat-lib.ts +3 -2
- package/src/plugins.ts +1 -0
- package/src/register.ts +3 -2
- package/src/types/runtime.ts +11 -1
- package/types/runtime.d.ts +6 -1
- package/types/runtime.d.ts.map +1 -1
- package/internal/core/config/extenders.d.ts +0 -7
- package/internal/core/config/extenders.d.ts.map +0 -1
- package/internal/core/config/extenders.js +0 -16
- package/internal/core/config/extenders.js.map +0 -1
- package/src/internal/core/config/extenders.ts +0 -13
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
|
+
import {
|
|
3
|
+
EthereumProvider,
|
|
4
|
+
JsonRpcRequest,
|
|
5
|
+
JsonRpcResponse,
|
|
6
|
+
RequestArguments,
|
|
7
|
+
} from "../../../types";
|
|
8
|
+
import { HardhatError } from "../errors";
|
|
9
|
+
import { ERRORS } from "../errors-list";
|
|
10
|
+
|
|
11
|
+
export type ProviderFactory = () => Promise<EthereumProvider>;
|
|
12
|
+
export type Listener = (...args: any[]) => void;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A class that delays the (async) creation of its internal provider until the first call
|
|
16
|
+
* to a JSON RPC method via request/send/sendAsync or the init method is called.
|
|
17
|
+
*/
|
|
18
|
+
export class LazyInitializationProviderAdapter implements EthereumProvider {
|
|
19
|
+
protected provider: EthereumProvider | undefined;
|
|
20
|
+
private _emitter: EventEmitter = new EventEmitter();
|
|
21
|
+
private _initializingPromise: Promise<EthereumProvider> | undefined;
|
|
22
|
+
|
|
23
|
+
constructor(private _providerFactory: ProviderFactory) {}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Gets the internal wrapped provider.
|
|
27
|
+
* Using it directly is discouraged and should be done with care,
|
|
28
|
+
* use the public methods from the class like `request` and all event emitter methods instead
|
|
29
|
+
*/
|
|
30
|
+
public get _wrapped(): EventEmitter {
|
|
31
|
+
if (this.provider === undefined) {
|
|
32
|
+
throw new HardhatError(ERRORS.GENERAL.UNINITIALIZED_PROVIDER);
|
|
33
|
+
}
|
|
34
|
+
return this.provider;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public async init(): Promise<EthereumProvider> {
|
|
38
|
+
if (this.provider === undefined) {
|
|
39
|
+
if (this._initializingPromise === undefined) {
|
|
40
|
+
this._initializingPromise = this._providerFactory();
|
|
41
|
+
}
|
|
42
|
+
this.provider = await this._initializingPromise;
|
|
43
|
+
}
|
|
44
|
+
return this.provider;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Provider methods
|
|
48
|
+
|
|
49
|
+
public async request(args: RequestArguments): Promise<unknown> {
|
|
50
|
+
const provider = await this._getOrInitProvider();
|
|
51
|
+
return provider.request(args);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public async send(method: string, params?: any[]): Promise<any> {
|
|
55
|
+
const provider = await this._getOrInitProvider();
|
|
56
|
+
return provider.send(method, params);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public sendAsync(
|
|
60
|
+
payload: JsonRpcRequest,
|
|
61
|
+
callback: (error: any, response: JsonRpcResponse) => void
|
|
62
|
+
): void {
|
|
63
|
+
this._getOrInitProvider().then(
|
|
64
|
+
(provider) => {
|
|
65
|
+
provider.sendAsync(payload, callback);
|
|
66
|
+
},
|
|
67
|
+
(e) => {
|
|
68
|
+
callback(e, null as any);
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// EventEmitter methods
|
|
74
|
+
|
|
75
|
+
public addListener(event: string | symbol, listener: EventListener): this {
|
|
76
|
+
this._getEmitter().addListener(event, listener);
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public on(event: string | symbol, listener: EventListener): this {
|
|
81
|
+
this._getEmitter().on(event, listener);
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public once(event: string | symbol, listener: Listener): this {
|
|
86
|
+
this._getEmitter().once(event, listener);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
public prependListener(event: string | symbol, listener: Listener): this {
|
|
91
|
+
this._getEmitter().prependListener(event, listener);
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public prependOnceListener(event: string | symbol, listener: Listener): this {
|
|
96
|
+
this._getEmitter().prependOnceListener(event, listener);
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
public removeListener(event: string | symbol, listener: Listener): this {
|
|
101
|
+
this._getEmitter().removeListener(event, listener);
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public off(event: string | symbol, listener: Listener): this {
|
|
106
|
+
this._getEmitter().off(event, listener);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
public removeAllListeners(event?: string | symbol | undefined): this {
|
|
111
|
+
this._getEmitter().removeAllListeners(event);
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
public setMaxListeners(n: number): this {
|
|
116
|
+
this._getEmitter().setMaxListeners(n);
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public getMaxListeners(): number {
|
|
121
|
+
return this._getEmitter().getMaxListeners();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// disable ban-types to satisfy the EventEmitter interface
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
126
|
+
public listeners(event: string | symbol): Function[] {
|
|
127
|
+
return this._getEmitter().listeners(event);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// disable ban-types to satisfy the EventEmitter interface
|
|
131
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
132
|
+
public rawListeners(event: string | symbol): Function[] {
|
|
133
|
+
return this._getEmitter().rawListeners(event);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
public emit(event: string | symbol, ...args: any[]): boolean {
|
|
137
|
+
return this._getEmitter().emit(event, ...args);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public eventNames(): Array<string | symbol> {
|
|
141
|
+
return this._getEmitter().eventNames();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public listenerCount(type: string | symbol): number {
|
|
145
|
+
return this._getEmitter().listenerCount(type);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
private _getEmitter(): EventEmitter {
|
|
149
|
+
return this.provider === undefined ? this._emitter : this.provider;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
private async _getOrInitProvider(): Promise<EthereumProvider> {
|
|
153
|
+
// This is here to avoid multiple calls to send async stacking and re-creating the provider
|
|
154
|
+
// over and over again. It shouldn't run for request or send
|
|
155
|
+
if (this._initializingPromise !== undefined) {
|
|
156
|
+
await this._initializingPromise;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (this.provider === undefined) {
|
|
160
|
+
this.provider = await this.init();
|
|
161
|
+
|
|
162
|
+
// Copy any event emitter events before initialization over to the provider
|
|
163
|
+
const recordedEvents = this._emitter.eventNames();
|
|
164
|
+
|
|
165
|
+
for (const event of recordedEvents) {
|
|
166
|
+
const listeners = this._emitter.rawListeners(event) as Listener[];
|
|
167
|
+
for (const listener of listeners) {
|
|
168
|
+
this.provider.on(event, listener);
|
|
169
|
+
this._emitter.removeListener(event, listener);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
this.provider.setMaxListeners(this._emitter.getMaxListeners());
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return this.provider;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -3,6 +3,12 @@ import { EventEmitterWrapper } from "../../util/event-emitter";
|
|
|
3
3
|
|
|
4
4
|
import { InvalidInputError } from "./errors";
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* A wrapper class that makes it easy to implement the EIP1193 (Javascript Ethereum Provider) standard.
|
|
8
|
+
* It comes baked in with all EventEmitter methods needed,
|
|
9
|
+
* which will be added to the provider supplied in the constructor.
|
|
10
|
+
* It also provides the interface for the standard .request() method as an abstract method.
|
|
11
|
+
*/
|
|
6
12
|
export abstract class ProviderWrapper
|
|
7
13
|
extends EventEmitterWrapper
|
|
8
14
|
implements EIP1193Provider
|
|
@@ -13,6 +19,10 @@ export abstract class ProviderWrapper
|
|
|
13
19
|
|
|
14
20
|
public abstract request(args: RequestArguments): Promise<unknown>;
|
|
15
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Extract the params from RequestArguments and optionally type them.
|
|
24
|
+
* It defaults to an empty array if no params are found.
|
|
25
|
+
*/
|
|
16
26
|
protected _getParams<ParamsT extends any[] = any[]>(
|
|
17
27
|
args: RequestArguments
|
|
18
28
|
): ParamsT | [] {
|
|
@@ -16,16 +16,17 @@ import {
|
|
|
16
16
|
TaskArguments,
|
|
17
17
|
TaskDefinition,
|
|
18
18
|
TasksMap,
|
|
19
|
+
ProviderExtender,
|
|
19
20
|
} from "../../types";
|
|
20
21
|
import { Artifacts } from "../artifacts";
|
|
21
22
|
import { MessageTrace } from "../hardhat-network/stack-traces/message-trace";
|
|
22
|
-
import { lazyObject } from "../util/lazy";
|
|
23
23
|
|
|
24
24
|
import { getHardhatVersion } from "../util/packageInfo";
|
|
25
25
|
import { analyzeModuleNotFoundError } from "./config/config-loading";
|
|
26
26
|
import { HardhatError } from "./errors";
|
|
27
27
|
import { ERRORS } from "./errors-list";
|
|
28
28
|
import { createProvider } from "./providers/construction";
|
|
29
|
+
import { LazyInitializationProviderAdapter } from "./providers/lazy-initialization";
|
|
29
30
|
import { OverriddenTaskDefinition } from "./tasks/task-definitions";
|
|
30
31
|
import {
|
|
31
32
|
completeTaskProfile,
|
|
@@ -48,7 +49,7 @@ export class Environment implements HardhatRuntimeEnvironment {
|
|
|
48
49
|
|
|
49
50
|
public artifacts: IArtifacts;
|
|
50
51
|
|
|
51
|
-
private readonly
|
|
52
|
+
private readonly _environmentExtenders: EnvironmentExtender[];
|
|
52
53
|
|
|
53
54
|
public entryTaskProfile?: TaskProfile;
|
|
54
55
|
|
|
@@ -64,15 +65,17 @@ export class Environment implements HardhatRuntimeEnvironment {
|
|
|
64
65
|
* @param config The hardhat's config object.
|
|
65
66
|
* @param hardhatArguments The parsed hardhat's arguments.
|
|
66
67
|
* @param tasks A map of tasks.
|
|
67
|
-
* @param
|
|
68
|
+
* @param environmentExtenders A list of environment extenders.
|
|
69
|
+
* @param providerExtenders A list of provider extenders.
|
|
68
70
|
*/
|
|
69
71
|
constructor(
|
|
70
72
|
public readonly config: HardhatConfig,
|
|
71
73
|
public readonly hardhatArguments: HardhatArguments,
|
|
72
74
|
public readonly tasks: TasksMap,
|
|
73
|
-
|
|
75
|
+
environmentExtenders: EnvironmentExtender[] = [],
|
|
74
76
|
experimentalHardhatNetworkMessageTraceHooks: ExperimentalHardhatNetworkMessageTraceHook[] = [],
|
|
75
|
-
public readonly userConfig: HardhatUserConfig = {}
|
|
77
|
+
public readonly userConfig: HardhatUserConfig = {},
|
|
78
|
+
providerExtenders: ProviderExtender[] = []
|
|
76
79
|
) {
|
|
77
80
|
log("Creating HardhatRuntimeEnvironment");
|
|
78
81
|
|
|
@@ -91,29 +94,29 @@ export class Environment implements HardhatRuntimeEnvironment {
|
|
|
91
94
|
|
|
92
95
|
this.artifacts = new Artifacts(config.paths.artifacts);
|
|
93
96
|
|
|
94
|
-
const provider =
|
|
97
|
+
const provider = new LazyInitializationProviderAdapter(async () => {
|
|
95
98
|
log(`Creating provider for network ${networkName}`);
|
|
96
99
|
return createProvider(
|
|
100
|
+
config,
|
|
97
101
|
networkName,
|
|
98
|
-
networkConfig,
|
|
99
|
-
this.config.paths,
|
|
100
102
|
this.artifacts,
|
|
101
103
|
experimentalHardhatNetworkMessageTraceHooks.map(
|
|
102
104
|
(hook) => (trace: MessageTrace, isCallMessageTrace: boolean) =>
|
|
103
105
|
hook(this, trace, isCallMessageTrace)
|
|
104
|
-
)
|
|
106
|
+
),
|
|
107
|
+
providerExtenders
|
|
105
108
|
);
|
|
106
109
|
});
|
|
107
110
|
|
|
108
111
|
this.network = {
|
|
109
112
|
name: networkName,
|
|
110
|
-
config:
|
|
113
|
+
config: networkConfig,
|
|
111
114
|
provider,
|
|
112
115
|
};
|
|
113
116
|
|
|
114
|
-
this.
|
|
117
|
+
this._environmentExtenders = environmentExtenders;
|
|
115
118
|
|
|
116
|
-
|
|
119
|
+
environmentExtenders.forEach((extender) => extender(this));
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
/**
|
|
@@ -40,9 +40,10 @@ if (HardhatContext.isCreated()) {
|
|
|
40
40
|
resolvedConfig,
|
|
41
41
|
hardhatArguments,
|
|
42
42
|
ctx.tasksDSL.getTaskDefinitions(),
|
|
43
|
-
ctx.
|
|
43
|
+
ctx.environmentExtenders,
|
|
44
44
|
ctx.experimentalHardhatNetworkMessageTraceHooks,
|
|
45
|
-
userConfig
|
|
45
|
+
userConfig,
|
|
46
|
+
ctx.providerExtenders
|
|
46
47
|
);
|
|
47
48
|
|
|
48
49
|
ctx.setHardhatRuntimeEnvironment(env);
|
package/src/plugins.ts
CHANGED
package/src/register.ts
CHANGED
|
@@ -42,9 +42,10 @@ if (!HardhatContext.isCreated()) {
|
|
|
42
42
|
resolvedConfig,
|
|
43
43
|
hardhatArguments,
|
|
44
44
|
ctx.tasksDSL.getTaskDefinitions(),
|
|
45
|
-
ctx.
|
|
45
|
+
ctx.environmentExtenders,
|
|
46
46
|
ctx.experimentalHardhatNetworkMessageTraceHooks,
|
|
47
|
-
userConfig
|
|
47
|
+
userConfig,
|
|
48
|
+
ctx.providerExtenders
|
|
48
49
|
);
|
|
49
50
|
|
|
50
51
|
ctx.setHardhatRuntimeEnvironment(env);
|
package/src/types/runtime.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Artifacts } from "./artifacts";
|
|
2
2
|
import { HardhatConfig, HardhatUserConfig, NetworkConfig } from "./config";
|
|
3
|
-
import { EthereumProvider } from "./provider";
|
|
3
|
+
import { EIP1193Provider, EthereumProvider } from "./provider";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* This class is used to dynamically validate task's argument types.
|
|
@@ -216,3 +216,13 @@ export interface Network {
|
|
|
216
216
|
* modify its properties or add new ones.
|
|
217
217
|
*/
|
|
218
218
|
export type EnvironmentExtender = (env: HardhatRuntimeEnvironment) => void;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* A function that receives a provider, crafts and returns a new one.
|
|
222
|
+
* Adding and modifying the current provider is preferred over ignoring it and returning a new instance.
|
|
223
|
+
*/
|
|
224
|
+
export type ProviderExtender = (
|
|
225
|
+
provider: EIP1193Provider,
|
|
226
|
+
config: HardhatConfig,
|
|
227
|
+
network: string
|
|
228
|
+
) => EIP1193Provider | Promise<EIP1193Provider>;
|
package/types/runtime.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Artifacts } from "./artifacts";
|
|
2
2
|
import { HardhatConfig, HardhatUserConfig, NetworkConfig } from "./config";
|
|
3
|
-
import { EthereumProvider } from "./provider";
|
|
3
|
+
import { EIP1193Provider, EthereumProvider } from "./provider";
|
|
4
4
|
/**
|
|
5
5
|
* This class is used to dynamically validate task's argument types.
|
|
6
6
|
*/
|
|
@@ -136,4 +136,9 @@ export interface Network {
|
|
|
136
136
|
* modify its properties or add new ones.
|
|
137
137
|
*/
|
|
138
138
|
export declare type EnvironmentExtender = (env: HardhatRuntimeEnvironment) => void;
|
|
139
|
+
/**
|
|
140
|
+
* A function that receives a provider, crafts and returns a new one.
|
|
141
|
+
* Adding and modifying the current provider is preferred over ignoring it and returning a new instance.
|
|
142
|
+
*/
|
|
143
|
+
export declare type ProviderExtender = (provider: EIP1193Provider, config: HardhatConfig, network: string) => EIP1193Provider | Promise<EIP1193Provider>;
|
|
139
144
|
//# sourceMappingURL=runtime.d.ts.map
|
package/types/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extenders.d.ts","sourceRoot":"","sources":["../../../src/internal/core/config/extenders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAEjD,GAAG,CAAC,QAAQ,EAAE,mBAAmB;IAIjC,YAAY,IAAI,mBAAmB,EAAE;CAG7C"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtenderManager = void 0;
|
|
4
|
-
class ExtenderManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._extenders = [];
|
|
7
|
-
}
|
|
8
|
-
add(extender) {
|
|
9
|
-
this._extenders.push(extender);
|
|
10
|
-
}
|
|
11
|
-
getExtenders() {
|
|
12
|
-
return this._extenders;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.ExtenderManager = ExtenderManager;
|
|
16
|
-
//# sourceMappingURL=extenders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extenders.js","sourceRoot":"","sources":["../../../src/internal/core/config/extenders.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAA5B;QACmB,eAAU,GAA0B,EAAE,CAAC;IAS1D,CAAC;IAPQ,GAAG,CAAC,QAA6B;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAVD,0CAUC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EnvironmentExtender } from "../../../types";
|
|
2
|
-
|
|
3
|
-
export class ExtenderManager {
|
|
4
|
-
private readonly _extenders: EnvironmentExtender[] = [];
|
|
5
|
-
|
|
6
|
-
public add(extender: EnvironmentExtender) {
|
|
7
|
-
this._extenders.push(extender);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
public getExtenders(): EnvironmentExtender[] {
|
|
11
|
-
return this._extenders;
|
|
12
|
-
}
|
|
13
|
-
}
|