@haibun/core 1.41.2 → 1.41.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/currentVersion.d.ts +1 -1
- package/build/currentVersion.js +2 -1
- package/build/lib/LogHistory.d.ts +1 -1
- package/build/lib/LogHistory.d.ts.map +1 -1
- package/build/lib/LogHistory.js +1 -1
- package/build/lib/LogHistory.js.map +1 -1
- package/build/lib/Logger.d.ts +7 -7
- package/build/lib/Logger.d.ts.map +1 -1
- package/build/lib/Logger.js.map +1 -1
- package/build/lib/contexts.d.ts +1 -1
- package/build/lib/contexts.d.ts.map +1 -1
- package/build/lib/contexts.js +1 -1
- package/build/lib/contexts.js.map +1 -1
- package/build/lib/defs.d.ts +24 -52
- package/build/lib/defs.d.ts.map +1 -1
- package/build/lib/defs.js +21 -0
- package/build/lib/defs.js.map +1 -1
- package/build/lib/interfaces/logger.d.ts +11 -11
- package/build/lib/interfaces/logger.d.ts.map +1 -1
- package/build/lib/interfaces/logger.js.map +1 -1
- package/build/lib/namedVars.d.ts +4 -4
- package/build/lib/namedVars.d.ts.map +1 -1
- package/build/lib/namedVars.js +2 -2
- package/build/lib/namedVars.js.map +1 -1
- package/build/lib/test/TestSteps.d.ts +2 -12
- package/build/lib/test/TestSteps.d.ts.map +1 -1
- package/build/lib/test/TestSteps.js +0 -12
- package/build/lib/test/TestSteps.js.map +1 -1
- package/build/lib/test/TestStepsWithOptions.d.ts +2 -2
- package/build/lib/test/lib.d.ts +4 -6
- package/build/lib/test/lib.d.ts.map +1 -1
- package/build/lib/test/lib.js +16 -18
- package/build/lib/test/lib.js.map +1 -1
- package/build/lib/util/index.d.ts.map +1 -1
- package/build/lib/util/index.js +3 -4
- package/build/lib/util/index.js.map +1 -1
- package/build/lib/util/workspace-lib.d.ts +1 -2
- package/build/lib/util/workspace-lib.d.ts.map +1 -1
- package/build/lib/util/workspace-lib.js +0 -22
- package/build/lib/util/workspace-lib.js.map +1 -1
- package/build/phases/Executor.d.ts +8 -8
- package/build/phases/Executor.d.ts.map +1 -1
- package/build/phases/Executor.js +53 -53
- package/build/phases/Executor.js.map +1 -1
- package/build/phases/Resolver.d.ts +7 -8
- package/build/phases/Resolver.d.ts.map +1 -1
- package/build/phases/Resolver.js +17 -31
- package/build/phases/Resolver.js.map +1 -1
- package/build/runner.d.ts +9 -4
- package/build/runner.d.ts.map +1 -1
- package/build/runner.js +39 -12
- package/build/runner.js.map +1 -1
- package/build/steps/conformance.d.ts +1 -1
- package/build/steps/credentials.d.ts +1 -1
- package/build/steps/haibun.d.ts +8 -4
- package/build/steps/haibun.d.ts.map +1 -1
- package/build/steps/haibun.js +25 -8
- package/build/steps/haibun.js.map +1 -1
- package/build/steps/parse.d.ts +2 -2
- package/build/steps/vars.d.ts +15 -15
- package/build/steps/vars.d.ts.map +1 -1
- package/build/steps/vars.js +16 -16
- package/build/steps/vars.js.map +1 -1
- package/package.json +1 -1
- package/build/lib/run-with-options.o.d.ts +0 -2
- package/build/lib/run-with-options.o.d.ts.map +0 -1
- package/build/lib/run-with-options.o.js +0 -113
- package/build/lib/run-with-options.o.js.map +0 -1
- package/build/lib/run.o.d.ts +0 -19
- package/build/lib/run.o.d.ts.map +0 -1
- package/build/lib/run.o.js +0 -62
- package/build/lib/run.o.js.map +0 -1
package/build/steps/vars.js
CHANGED
|
@@ -3,10 +3,10 @@ import { actionNotOK } from '../lib/util/index.js';
|
|
|
3
3
|
// FIXME see https://github.com/withhaibun/haibun/issues/18
|
|
4
4
|
const getOrCond = (fr) => fr.replace(/.* is set or /, '');
|
|
5
5
|
const vars = class Vars extends AStepper {
|
|
6
|
-
set = async (named,
|
|
6
|
+
set = async (named, featureStep) => {
|
|
7
7
|
// FIXME see https://github.com/withhaibun/haibun/issues/18
|
|
8
|
-
const emptyOnly = !!
|
|
9
|
-
const res = setShared(named,
|
|
8
|
+
const emptyOnly = !!featureStep.line.match(/set empty /);
|
|
9
|
+
const res = setShared(named, featureStep, this.getWorld(), emptyOnly);
|
|
10
10
|
return res;
|
|
11
11
|
};
|
|
12
12
|
isSet(what, orCond) {
|
|
@@ -25,30 +25,30 @@ const vars = class Vars extends AStepper {
|
|
|
25
25
|
steps = {
|
|
26
26
|
concat: {
|
|
27
27
|
gwta: 'concat {p1} and {p2} as {what}',
|
|
28
|
-
action: async ({ p1, p2, what },
|
|
28
|
+
action: async ({ p1, p2, what }, featureStep) => await this.set({ what, value: `${p1}${p2}` }, featureStep),
|
|
29
29
|
},
|
|
30
30
|
showEnv: {
|
|
31
31
|
gwta: 'show env',
|
|
32
|
-
action: async (n,
|
|
32
|
+
action: async (n, featureStep) => {
|
|
33
33
|
console.info('env', this.world.options.env);
|
|
34
|
-
return await this.set(n,
|
|
34
|
+
return await this.set(n, featureStep);
|
|
35
35
|
},
|
|
36
|
-
build: async (n,
|
|
36
|
+
build: async (n, featureStep) => await this.set(n, featureStep),
|
|
37
37
|
},
|
|
38
38
|
showVars: {
|
|
39
39
|
gwta: 'show vars',
|
|
40
|
-
action: async (n,
|
|
40
|
+
action: async (n, featureStep) => {
|
|
41
41
|
console.info('vars', this.world.shared);
|
|
42
|
-
return await this.set(n,
|
|
42
|
+
return await this.set(n, featureStep);
|
|
43
43
|
},
|
|
44
|
-
build: async (n,
|
|
44
|
+
build: async (n, featureStep) => await this.set(n, featureStep),
|
|
45
45
|
},
|
|
46
46
|
set: {
|
|
47
47
|
gwta: 'set( empty)? {what: string} to {value: string}',
|
|
48
|
-
action: async (n,
|
|
49
|
-
return await this.set(n,
|
|
48
|
+
action: async (n, featureStep) => {
|
|
49
|
+
return await this.set(n, featureStep);
|
|
50
50
|
},
|
|
51
|
-
build: async (n,
|
|
51
|
+
build: async (n, featureStep) => await this.set(n, featureStep),
|
|
52
52
|
},
|
|
53
53
|
is: {
|
|
54
54
|
gwta: '{what: string} is "{value}"',
|
|
@@ -59,8 +59,8 @@ const vars = class Vars extends AStepper {
|
|
|
59
59
|
},
|
|
60
60
|
isSet: {
|
|
61
61
|
gwta: '{what: string} is set( or .*)?',
|
|
62
|
-
action: async ({ what },
|
|
63
|
-
build: async ({ what },
|
|
62
|
+
action: async ({ what }, featureStep) => this.isSet(what, getOrCond(featureStep.line)),
|
|
63
|
+
build: async ({ what }, featureStep) => this.isSet(what, getOrCond(featureStep.line)),
|
|
64
64
|
},
|
|
65
65
|
background: {
|
|
66
66
|
match: /^Background: ?(?<background>.+)?$/,
|
|
@@ -96,7 +96,7 @@ export default vars;
|
|
|
96
96
|
export const didNotOverwrite = (what, present, value) => ({
|
|
97
97
|
overwrite: { summary: `did not overwrite ${what} value of "${present}" with "${value}"` },
|
|
98
98
|
});
|
|
99
|
-
export const setShared = ({ what, value },
|
|
99
|
+
export const setShared = ({ what, value }, featureStep, world, emptyOnly = false) => {
|
|
100
100
|
let { shared } = world;
|
|
101
101
|
if (!emptyOnly || shared.get(what) === undefined) {
|
|
102
102
|
shared.set(what, value);
|
package/build/steps/vars.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"vars.js","sourceRoot":"","sources":["../../src/steps/vars.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-with-options.o.d.ts","sourceRoot":"","sources":["../../src/lib/run-with-options.o.ts"],"names":[],"mappings":""}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
/*
|
|
3
|
-
import { TStartRunCallback, TProtoOptions, TSpecl, TWorld, TTag, TRunOptions, TRunResult, TTagValue, TEndFeatureCallback, TBase } from './defs.js';
|
|
4
|
-
import { WorldContext } from './contexts.js';
|
|
5
|
-
import Logger from './Logger.js';
|
|
6
|
-
|
|
7
|
-
import { run } from './run.o.js';
|
|
8
|
-
import { getRunTag } from './util/index.js';
|
|
9
|
-
import { getOutputResult } from './util/workspace-lib.js';
|
|
10
|
-
import { ILogOutput } from './interfaces/logger.js';
|
|
11
|
-
import { Timer } from './Timer.js';
|
|
12
|
-
|
|
13
|
-
export default async function runWithOptions(runOptions: TRunOptions) {
|
|
14
|
-
const { loops, members, trace, startRunCallback, endFeatureCallback, featureFilter, specl, bases, splits, protoOptions } = runOptions;
|
|
15
|
-
const { LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
|
|
16
|
-
|
|
17
|
-
const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
|
|
18
|
-
|
|
19
|
-
const timer = new Timer();
|
|
20
|
-
let totalRan = 0;
|
|
21
|
-
type TFailure = { sequence: TTagValue; runDuration: number; fromStart: number };
|
|
22
|
-
const allFailures: { [message: string]: TFailure[] } = {};
|
|
23
|
-
let allRunResults: PromiseSettledResult<TRunResult>[] = [];
|
|
24
|
-
|
|
25
|
-
for (let loop = 1; loop < loops + 1; loop++) {
|
|
26
|
-
loops > 1 && logger.log(`starting loop ${loop}/${loops}`);
|
|
27
|
-
let groupRuns: Promise<TRunResult>[] = [];
|
|
28
|
-
for (let member = 1; member < members + 1; member++) {
|
|
29
|
-
members > 1 && logger.log(`starting member ${member + 1}/${members}`);
|
|
30
|
-
const instances = splits.map(async (split) => {
|
|
31
|
-
splits.length > 1 && logger.log(`starting instance ${split}`);
|
|
32
|
-
const runtime = {};
|
|
33
|
-
const tag: TTag = getRunTag(totalRan, loop, member, 0, split, trace);
|
|
34
|
-
totalRan++;
|
|
35
|
-
|
|
36
|
-
const res = await doInstanceRun(bases, specl, runtime, featureFilter, new WorldContext(tag, split), protoOptions, logger, tag, timer, startRunCallback, endFeatureCallback);
|
|
37
|
-
return res;
|
|
38
|
-
});
|
|
39
|
-
groupRuns = groupRuns.concat(instances);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const theseValues = await Promise.allSettled(groupRuns);
|
|
43
|
-
allRunResults = allRunResults.concat(theseValues);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const ranResults = allRunResults
|
|
47
|
-
.filter((i) => i.status === 'fulfilled')
|
|
48
|
-
.map((i) => <PromiseFulfilledResult<TRunResult>>i)
|
|
49
|
-
.map((i) => i.value);
|
|
50
|
-
|
|
51
|
-
let passed = 0;
|
|
52
|
-
let failed = 0;
|
|
53
|
-
|
|
54
|
-
const output = [];
|
|
55
|
-
for (const r of ranResults) {
|
|
56
|
-
output.push(r.output);
|
|
57
|
-
if (r.result.ok) {
|
|
58
|
-
passed++;
|
|
59
|
-
} else {
|
|
60
|
-
try {
|
|
61
|
-
const errorMessage = r.result?.failure?.error?.message || JSON.stringify(r.result.failure);
|
|
62
|
-
allFailures[errorMessage] = (allFailures[errorMessage] || []).concat({
|
|
63
|
-
sequence: r.tag.sequence,
|
|
64
|
-
runDuration: r.runDuration,
|
|
65
|
-
fromStart: r.fromStart,
|
|
66
|
-
});
|
|
67
|
-
failed++;
|
|
68
|
-
} catch (e) {
|
|
69
|
-
console.error('fail message', e, '\nfrom:', r.result.failure, 'bailing');
|
|
70
|
-
throw (e);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const exceptionResults = allRunResults
|
|
76
|
-
.filter((i) => i.status === 'rejected')
|
|
77
|
-
.map((i) => <PromiseRejectedResult>i)
|
|
78
|
-
.map((i) => i.reason);
|
|
79
|
-
|
|
80
|
-
const ok = ranResults.every((a) => a.result.ok);
|
|
81
|
-
const runTime = timer.since();
|
|
82
|
-
return { ok, output, exceptionResults, ranResults, allFailures, logger, passed, failed, totalRan, runTime };
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
async function doInstanceRun(
|
|
86
|
-
bases: TBase,
|
|
87
|
-
specl: TSpecl,
|
|
88
|
-
runtime: object,
|
|
89
|
-
featureFilter: string[] | undefined,
|
|
90
|
-
shared: WorldContext,
|
|
91
|
-
protoOptions: TProtoOptions,
|
|
92
|
-
containerLogger: ILogOutput,
|
|
93
|
-
tag: TTag,
|
|
94
|
-
timer: Timer,
|
|
95
|
-
startRunCallback?: TStartRunCallback,
|
|
96
|
-
endFeatureCallback?: TEndFeatureCallback
|
|
97
|
-
) {
|
|
98
|
-
const runStart = process.hrtime();
|
|
99
|
-
const logger = new Logger({ output: containerLogger, tag });
|
|
100
|
-
|
|
101
|
-
const world: TWorld = { options: protoOptions.options, moduleOptions: protoOptions.moduleOptions, shared, logger, runtime, domains: [], tag, timer, bases };
|
|
102
|
-
if (startRunCallback) {
|
|
103
|
-
startRunCallback(world);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const runResult = await run({ specl, bases, world, featureFilter, endFeatureCallback });
|
|
107
|
-
const output = await getOutputResult(world.options.OUTPUT, runResult);
|
|
108
|
-
|
|
109
|
-
return { result: runResult, shared, output, tag, runStart: runStart[0], runDuration: process.hrtime(runStart)[0], fromStart: timer.since() };
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
*/
|
|
113
|
-
//# sourceMappingURL=run-with-options.o.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-with-options.o.js","sourceRoot":"","sources":["../../src/lib/run-with-options.o.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8GE"}
|
package/build/lib/run.o.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { TSpecl, TExecutorResult, TWorld, TFeature, TEndFeatureCallback, CStepper, TBase } from './defs.js';
|
|
2
|
-
type TBaseOptions = {
|
|
3
|
-
specl: TSpecl;
|
|
4
|
-
world: TWorld;
|
|
5
|
-
addSteppers?: CStepper[];
|
|
6
|
-
endFeatureCallback?: TEndFeatureCallback;
|
|
7
|
-
};
|
|
8
|
-
type TRunOptions = TBaseOptions & {
|
|
9
|
-
bases: TBase;
|
|
10
|
-
featureFilter: string[];
|
|
11
|
-
};
|
|
12
|
-
type TRunWithFeaturesBackgrounds = TBaseOptions & {
|
|
13
|
-
features: TFeature[];
|
|
14
|
-
backgrounds: TFeature[];
|
|
15
|
-
};
|
|
16
|
-
export declare function run({ specl, bases, world, addSteppers, featureFilter, endFeatureCallback }: TRunOptions): Promise<TExecutorResult>;
|
|
17
|
-
export declare function runWith({ specl, world, features, backgrounds, addSteppers, endFeatureCallback }: TRunWithFeaturesBackgrounds): Promise<TExecutorResult>;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=run.o.d.ts.map
|
package/build/lib/run.o.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run.o.d.ts","sourceRoot":"","sources":["../../src/lib/run.o.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAoB,mBAAmB,EAAE,QAAQ,EAAoC,KAAK,EAAa,MAAM,WAAW,CAAC;AAQ3K,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;CAAE,CAAC;AAE1H,KAAK,WAAW,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;CAAE,CAAC;AAE7E,KAAK,2BAA2B,GAAG,YAAY,GAAG;IAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;CAAE,CAAC;AAErG,wBAAsB,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAc7I;AAED,wBAAsB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAgB,EAAE,kBAAkB,EAAE,EAAE,2BAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CA+ClK"}
|
package/build/lib/run.o.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { expand } from './features.js';
|
|
2
|
-
import { Executor } from '../phases/Executor.js';
|
|
3
|
-
import { Resolver } from '../phases/Resolver.js';
|
|
4
|
-
import { verifyExtraOptions, getRunTag, verifyRequiredOptions, createSteppers, setStepperWorlds } from './util/index.js';
|
|
5
|
-
import { getSteppers } from './util/workspace-lib.js';
|
|
6
|
-
import { getFeaturesAndBackgrounds } from '../phases/collector.js';
|
|
7
|
-
export async function run({ specl, bases, world, addSteppers = [], featureFilter, endFeatureCallback }) {
|
|
8
|
-
if (!world.options || !world.moduleOptions) {
|
|
9
|
-
throw Error(`missing options ${world.options} moduleOptions ${world.moduleOptions}`);
|
|
10
|
-
}
|
|
11
|
-
let featuresBackgrounds;
|
|
12
|
-
try {
|
|
13
|
-
featuresBackgrounds = getFeaturesAndBackgrounds(bases, featureFilter);
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
return ({ ok: false, tag: getRunTag(-1, -1, {}, false), failure: { stage: 'Collect', error: { message: error.message, details: { stack: error.stack } } }, shared: world.shared });
|
|
17
|
-
}
|
|
18
|
-
const { features, backgrounds } = featuresBackgrounds;
|
|
19
|
-
const res = await runWith({ specl, world, features, backgrounds, addSteppers, endFeatureCallback });
|
|
20
|
-
return res;
|
|
21
|
-
}
|
|
22
|
-
export async function runWith({ specl, world, features, backgrounds, addSteppers = [], endFeatureCallback }) {
|
|
23
|
-
const { tag } = world;
|
|
24
|
-
let result = undefined;
|
|
25
|
-
const errorBail = (phase, error, details) => {
|
|
26
|
-
world.logger.error(`errorBail ${phase} ${error} ${details}`, error.stack);
|
|
27
|
-
result = { ok: false, shared: world.shared, tag, failure: { stage: phase, error: { message: error.message, details: { stack: error.stack, details } } } };
|
|
28
|
-
throw Error(error);
|
|
29
|
-
};
|
|
30
|
-
try {
|
|
31
|
-
const baseSteppers = await getSteppers(specl.steppers).catch((error) => errorBail('Steppers', error));
|
|
32
|
-
const csteppers = [...baseSteppers, ...addSteppers];
|
|
33
|
-
await verifyRequiredOptions(csteppers, world.moduleOptions).catch((error) => errorBail('RequiredOptions', error));
|
|
34
|
-
await verifyExtraOptions(world.moduleOptions, csteppers).catch((error) => errorBail('moduleOptions', error));
|
|
35
|
-
const expandedFeatures = await expand(backgrounds, features).catch((error) => errorBail('Expand', error));
|
|
36
|
-
const steppers = await createSteppers(csteppers);
|
|
37
|
-
await setStepperWorlds(steppers, world).catch((error) => errorBail('StepperOptions', error));
|
|
38
|
-
const resolver = new Resolver(steppers, world);
|
|
39
|
-
const mappedValidatedSteps = await resolver.resolveStepsFromFeatures(expandedFeatures).catch((error) => errorBail('Resolve', error));
|
|
40
|
-
// await builder.build(mappedValidatedSteps).catch((error) => errorBail('Build', error, { stack: error.stack, mappedValidatedSteps }));
|
|
41
|
-
world.logger.log(`features: ${expandedFeatures.length} backgrounds: ${backgrounds.length} steps: (${expandedFeatures.map((e) => e.path)}), ${mappedValidatedSteps.length}`);
|
|
42
|
-
result = await Executor.execute(csteppers, world, mappedValidatedSteps, endFeatureCallback)
|
|
43
|
-
.catch((error) => errorBail('Execute', error));
|
|
44
|
-
if (!result || !result.ok) {
|
|
45
|
-
let message;
|
|
46
|
-
try {
|
|
47
|
-
message = result.featureResults[0].stepResults.find((s) => !s.ok)?.actionResults[0]?.message || result.featureResults;
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
message = e;
|
|
51
|
-
}
|
|
52
|
-
result.failure = { stage: 'Execute', error: { message, details: { stack: [], errors: result.featureResults?.filter((r) => !r.ok).map((r) => r.path) } } };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
if (!result) {
|
|
57
|
-
errorBail('catch', error);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return result;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=run.o.js.map
|
package/build/lib/run.o.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run.o.js","sourceRoot":"","sources":["../../src/lib/run.o.ts"],"names":[],"mappings":"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"}
|