@haibun/core 1.44.4 → 1.45.1

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.
Files changed (141) hide show
  1. package/package.json +1 -1
  2. package/build/applyEffectFeatures.d.ts +0 -3
  3. package/build/applyEffectFeatures.d.ts.map +0 -1
  4. package/build/applyEffectFeatures.js +0 -32
  5. package/build/applyEffectFeatures.js.map +0 -1
  6. package/build/currentVersion.d.ts +0 -2
  7. package/build/currentVersion.d.ts.map +0 -1
  8. package/build/currentVersion.js +0 -2
  9. package/build/currentVersion.js.map +0 -1
  10. package/build/index.d.ts +0 -2
  11. package/build/index.d.ts.map +0 -1
  12. package/build/index.js +0 -2
  13. package/build/index.js.map +0 -1
  14. package/build/lib/ConnectedLogger.d.ts +0 -13
  15. package/build/lib/ConnectedLogger.d.ts.map +0 -1
  16. package/build/lib/ConnectedLogger.js +0 -22
  17. package/build/lib/ConnectedLogger.js.map +0 -1
  18. package/build/lib/LogHistory.d.ts +0 -24
  19. package/build/lib/LogHistory.d.ts.map +0 -1
  20. package/build/lib/LogHistory.js +0 -46
  21. package/build/lib/LogHistory.js.map +0 -1
  22. package/build/lib/Logger.d.ts +0 -47
  23. package/build/lib/Logger.d.ts.map +0 -1
  24. package/build/lib/Logger.js +0 -79
  25. package/build/lib/Logger.js.map +0 -1
  26. package/build/lib/TestLogger.d.ts +0 -11
  27. package/build/lib/TestLogger.d.ts.map +0 -1
  28. package/build/lib/TestLogger.js +0 -11
  29. package/build/lib/TestLogger.js.map +0 -1
  30. package/build/lib/Timer.d.ts +0 -8
  31. package/build/lib/Timer.d.ts.map +0 -1
  32. package/build/lib/Timer.js +0 -12
  33. package/build/lib/Timer.js.map +0 -1
  34. package/build/lib/contexts.d.ts +0 -22
  35. package/build/lib/contexts.d.ts.map +0 -1
  36. package/build/lib/contexts.js +0 -36
  37. package/build/lib/contexts.js.map +0 -1
  38. package/build/lib/defs.d.ts +0 -258
  39. package/build/lib/defs.d.ts.map +0 -1
  40. package/build/lib/defs.js +0 -49
  41. package/build/lib/defs.js.map +0 -1
  42. package/build/lib/domain-types.d.ts +0 -13
  43. package/build/lib/domain-types.d.ts.map +0 -1
  44. package/build/lib/domain-types.js +0 -7
  45. package/build/lib/domain-types.js.map +0 -1
  46. package/build/lib/features.d.ts +0 -23
  47. package/build/lib/features.d.ts.map +0 -1
  48. package/build/lib/features.js +0 -100
  49. package/build/lib/features.js.map +0 -1
  50. package/build/lib/interfaces/TArtifactRequestStepTopic.d.ts +0 -53
  51. package/build/lib/interfaces/TArtifactRequestStepTopic.d.ts.map +0 -1
  52. package/build/lib/interfaces/TArtifactRequestStepTopic.js +0 -2
  53. package/build/lib/interfaces/TArtifactRequestStepTopic.js.map +0 -1
  54. package/build/lib/interfaces/TMessageContext.d.ts +0 -22
  55. package/build/lib/interfaces/TMessageContext.d.ts.map +0 -1
  56. package/build/lib/interfaces/TMessageContext.js +0 -2
  57. package/build/lib/interfaces/TMessageContext.js.map +0 -1
  58. package/build/lib/interfaces/artifacts.d.ts +0 -43
  59. package/build/lib/interfaces/artifacts.d.ts.map +0 -1
  60. package/build/lib/interfaces/artifacts.js +0 -2
  61. package/build/lib/interfaces/artifacts.js.map +0 -1
  62. package/build/lib/interfaces/logger.d.ts +0 -55
  63. package/build/lib/interfaces/logger.d.ts.map +0 -1
  64. package/build/lib/interfaces/logger.js +0 -17
  65. package/build/lib/interfaces/logger.js.map +0 -1
  66. package/build/lib/interfaces/messageContexts.d.ts +0 -10
  67. package/build/lib/interfaces/messageContexts.d.ts.map +0 -1
  68. package/build/lib/interfaces/messageContexts.js +0 -2
  69. package/build/lib/interfaces/messageContexts.js.map +0 -1
  70. package/build/lib/namedVars.d.ts +0 -20
  71. package/build/lib/namedVars.d.ts.map +0 -1
  72. package/build/lib/namedVars.js +0 -138
  73. package/build/lib/namedVars.js.map +0 -1
  74. package/build/lib/resolver-features.d.ts +0 -18
  75. package/build/lib/resolver-features.d.ts.map +0 -1
  76. package/build/lib/resolver-features.js +0 -12
  77. package/build/lib/resolver-features.js.map +0 -1
  78. package/build/lib/test/SetTimeStepper.d.ts +0 -10
  79. package/build/lib/test/SetTimeStepper.d.ts.map +0 -1
  80. package/build/lib/test/SetTimeStepper.js +0 -20
  81. package/build/lib/test/SetTimeStepper.js.map +0 -1
  82. package/build/lib/test/TestSteps.d.ts +0 -33
  83. package/build/lib/test/TestSteps.d.ts.map +0 -1
  84. package/build/lib/test/TestSteps.js +0 -32
  85. package/build/lib/test/TestSteps.js.map +0 -1
  86. package/build/lib/test/TestStepsWithOptions.d.ts +0 -25
  87. package/build/lib/test/TestStepsWithOptions.d.ts.map +0 -1
  88. package/build/lib/test/TestStepsWithOptions.js +0 -22
  89. package/build/lib/test/TestStepsWithOptions.js.map +0 -1
  90. package/build/lib/test/lib.d.ts +0 -26
  91. package/build/lib/test/lib.d.ts.map +0 -1
  92. package/build/lib/test/lib.js +0 -68
  93. package/build/lib/test/lib.js.map +0 -1
  94. package/build/lib/util/index.d.ts +0 -77
  95. package/build/lib/util/index.d.ts.map +0 -1
  96. package/build/lib/util/index.js +0 -252
  97. package/build/lib/util/index.js.map +0 -1
  98. package/build/lib/util/workspace-lib.d.ts +0 -15
  99. package/build/lib/util/workspace-lib.d.ts.map +0 -1
  100. package/build/lib/util/workspace-lib.js +0 -47
  101. package/build/lib/util/workspace-lib.js.map +0 -1
  102. package/build/phases/Executor.d.ts +0 -20
  103. package/build/phases/Executor.d.ts.map +0 -1
  104. package/build/phases/Executor.js +0 -144
  105. package/build/phases/Executor.js.map +0 -1
  106. package/build/phases/Resolver.d.ts +0 -15
  107. package/build/phases/Resolver.d.ts.map +0 -1
  108. package/build/phases/Resolver.js +0 -93
  109. package/build/phases/Resolver.js.map +0 -1
  110. package/build/phases/collector.d.ts +0 -15
  111. package/build/phases/collector.d.ts.map +0 -1
  112. package/build/phases/collector.js +0 -49
  113. package/build/phases/collector.js.map +0 -1
  114. package/build/runner.d.ts +0 -12
  115. package/build/runner.d.ts.map +0 -1
  116. package/build/runner.js +0 -61
  117. package/build/runner.js.map +0 -1
  118. package/build/steps/conformance.d.ts +0 -17
  119. package/build/steps/conformance.d.ts.map +0 -1
  120. package/build/steps/conformance.js +0 -12
  121. package/build/steps/conformance.js.map +0 -1
  122. package/build/steps/credentials.d.ts +0 -25
  123. package/build/steps/credentials.d.ts.map +0 -1
  124. package/build/steps/credentials.js +0 -38
  125. package/build/steps/credentials.js.map +0 -1
  126. package/build/steps/haibun.d.ts +0 -60
  127. package/build/steps/haibun.d.ts.map +0 -1
  128. package/build/steps/haibun.js +0 -106
  129. package/build/steps/haibun.js.map +0 -1
  130. package/build/steps/lib/parse.d.ts +0 -4
  131. package/build/steps/lib/parse.d.ts.map +0 -1
  132. package/build/steps/lib/parse.js +0 -42
  133. package/build/steps/lib/parse.js.map +0 -1
  134. package/build/steps/parse.d.ts +0 -25
  135. package/build/steps/parse.d.ts.map +0 -1
  136. package/build/steps/parse.js +0 -30
  137. package/build/steps/parse.js.map +0 -1
  138. package/build/steps/vars.d.ts +0 -113
  139. package/build/steps/vars.d.ts.map +0 -1
  140. package/build/steps/vars.js +0 -125
  141. package/build/steps/vars.js.map +0 -1
@@ -1,55 +0,0 @@
1
- import { TAnyFixme, TTag } from '../defs.js';
2
- import { TMessageContext } from './messageContexts.js';
3
- export type * from './messageContexts.js';
4
- export type * from './artifacts.js';
5
- export type TLogLevel = 'none' | 'debug' | 'log' | 'info' | 'warn' | 'error';
6
- export type TLogArgs = string;
7
- export type TLogHistory = {
8
- message: TLogArgs;
9
- level: TLogLevel;
10
- caller: string;
11
- messageContext: TMessageContext;
12
- };
13
- export declare enum EExecutionMessageType {
14
- INIT = "INIT",
15
- EXECUTION_START = "EXECUTION_START",
16
- FEATURE_START = "FEATURE_START",
17
- SCENARIO_START = "SCENARIO_START",
18
- STEP_START = "STEP_START",
19
- STEP_NEXT = "STEP_NEXT",
20
- ACTION = "ACTION",
21
- TRACE = "TRACE",
22
- STEP_END = "STEP_END",
23
- SCENARIO_END = "SCENARIO_END",
24
- FEATURE_END = "FEATURE_END",
25
- EXECUTION_END = "EXECUTION_END",
26
- ON_FAILURE = "ON_FAILURE"
27
- }
28
- export interface ILogger {
29
- debug: (what: TLogArgs, ctx?: TMessageContext) => void;
30
- log: (what: TLogArgs, ctx?: TMessageContext) => void;
31
- info: (what: TLogArgs, ctx?: TMessageContext) => void;
32
- warn: (what: TLogArgs, ctx?: TMessageContext) => void;
33
- error: (what: TLogArgs, ctx?: TMessageContext) => void;
34
- addSubscriber: (subscriber: ILogOutput) => void;
35
- removeSubscriber: (subscriber: ILogOutput) => void;
36
- }
37
- export interface IConnect {
38
- connect: () => Promise<void>;
39
- disconnect: () => Promise<void>;
40
- addKeepalive?: (keepalive: TAnyFixme) => void;
41
- }
42
- export interface IConnectedLogger extends ILogger, IConnect {
43
- }
44
- export interface ILoggerKeepAlive {
45
- start: () => Promise<void>;
46
- stop: () => Promise<void>;
47
- }
48
- export interface ILogOutput {
49
- out: (level: TLogLevel, args: TLogArgs, ctx?: TMessageContext) => void;
50
- }
51
- export type TOutputEnv = {
52
- output: ILogOutput;
53
- tag: TTag;
54
- };
55
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,gBAAgB,CAAA;AAEnC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,eAAe,CAAA;CAC/B,CAAC;AAGF,oBAAY,qBAAqB;IAChC,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CACzB;AAED,MAAM,WAAW,OAAO;IACvB,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO,EAAE,QAAQ;CAAI;AAE/D,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -1,17 +0,0 @@
1
- export var EExecutionMessageType;
2
- (function (EExecutionMessageType) {
3
- EExecutionMessageType["INIT"] = "INIT";
4
- EExecutionMessageType["EXECUTION_START"] = "EXECUTION_START";
5
- EExecutionMessageType["FEATURE_START"] = "FEATURE_START";
6
- EExecutionMessageType["SCENARIO_START"] = "SCENARIO_START";
7
- EExecutionMessageType["STEP_START"] = "STEP_START";
8
- EExecutionMessageType["STEP_NEXT"] = "STEP_NEXT";
9
- EExecutionMessageType["ACTION"] = "ACTION";
10
- EExecutionMessageType["TRACE"] = "TRACE";
11
- EExecutionMessageType["STEP_END"] = "STEP_END";
12
- EExecutionMessageType["SCENARIO_END"] = "SCENARIO_END";
13
- EExecutionMessageType["FEATURE_END"] = "FEATURE_END";
14
- EExecutionMessageType["EXECUTION_END"] = "EXECUTION_END";
15
- EExecutionMessageType["ON_FAILURE"] = "ON_FAILURE";
16
- })(EExecutionMessageType || (EExecutionMessageType = {}));
17
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAN,IAAY,qBAcX;AAdD,WAAY,qBAAqB;IAChC,sCAAa,CAAA;IACb,4DAAmC,CAAA;IACnC,wDAA+B,CAAA;IAC/B,0DAAiC,CAAA;IACjC,kDAAyB,CAAA;IACzB,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;IACf,8CAAqB,CAAA;IACrB,sDAA6B,CAAA;IAC7B,oDAA2B,CAAA;IAC3B,wDAA+B,CAAA;IAC/B,kDAAyB,CAAA;AAC1B,CAAC,EAdW,qBAAqB,KAArB,qBAAqB,QAchC"}
@@ -1,10 +0,0 @@
1
- import { TAnyFixme, TTag } from '../defs.js';
2
- import { TArtifact } from './artifacts.js';
3
- import { EExecutionMessageType } from './logger.js';
4
- export type TMessageContext = {
5
- incident: EExecutionMessageType;
6
- artifact?: TArtifact;
7
- incidentDetails?: TAnyFixme;
8
- tag?: TTag;
9
- };
10
- //# sourceMappingURL=messageContexts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageContexts.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/messageContexts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,IAAI,CAAC;CACX,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=messageContexts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageContexts.js","sourceRoot":"","sources":["../../../src/lib/interfaces/messageContexts.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import { TStepperStep, TNamedVar, TStepAction, TNamed, TWorld, TFeatureStep } from './defs.js';
2
- export declare const matchGroups: (num?: number) => string;
3
- export declare const namedInterpolation: (inp: string, types?: string[]) => {
4
- str: string;
5
- vars?: TNamedVar[];
6
- };
7
- export declare function getNamedMatches(regexp: RegExp, what: string): {
8
- [key: string]: string;
9
- };
10
- export declare const getMatch: (actionable: string, r: RegExp, actionName: string, stepperName: string, step: TStepperStep, vars?: TNamedVar[]) => {
11
- actionName: string;
12
- stepperName: string;
13
- step: TStepperStep;
14
- named: {
15
- [key: string]: string;
16
- };
17
- vars: TNamedVar[];
18
- };
19
- export declare function getNamedToVars(found: TStepAction, world: TWorld, featureStep: TFeatureStep): TNamed;
20
- //# sourceMappingURL=namedVars.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namedVars.d.ts","sourceRoot":"","sources":["../../src/lib/namedVars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAU,MAAM,WAAW,CAAC;AAYvG,eAAO,MAAM,WAAW,GAAI,YAAO,WASlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,QAAO,MAAM,EAAe,KAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;CAyB/G,CAAC;AAaF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;EAG3D;AAED,eAAO,MAAM,QAAQ,GACpB,YAAY,MAAM,EAClB,GAAG,MAAM,EACT,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,MAAM,YAAY,EAClB,OAAO,SAAS,EAAE;;;;;;;;CAOlB,CAAC;AAIF,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,UAuE1F"}
@@ -1,138 +0,0 @@
1
- import { cred } from '../steps/credentials.js';
2
- import { HAIBUN } from './defs.js';
3
- import { BASE_TYPES } from './domain-types.js';
4
- import { getSerialTime } from './util/index.js';
5
- const TYPE_QUOTED = 'q_';
6
- const TYPE_CREDENTIAL = 'c_';
7
- const TYPE_SPECIAL = 's_';
8
- const TYPE_ENV = 'e_';
9
- const TYPE_VAR = 'b_';
10
- // from source or literal
11
- const TYPE_ENV_OR_VAR_OR_LITERAL = 't_';
12
- export const matchGroups = (num = 0) => {
13
- const b = `\`(?<${TYPE_VAR}${num}>.+)\``; // var
14
- const e = `{(?<${TYPE_ENV}${num}>.+)}`; // env var
15
- // FIXME this is being assigned as t_
16
- const s = `\\[(?<${TYPE_SPECIAL}${num}>.+)\\]`; // special
17
- const c = `<(?<${TYPE_CREDENTIAL}${num}>.+)>`; // credential
18
- const q = `"(?<${TYPE_QUOTED}${num}>.+)"`; // quoted string
19
- const t = `(?<${TYPE_ENV_OR_VAR_OR_LITERAL}${num}>.+)`; // var or enve or literal
20
- return `(${b}|${e}|${s}|${c}|${q}|${t})`;
21
- };
22
- export const namedInterpolation = (inp, types = BASE_TYPES) => {
23
- if (!inp.includes('{')) {
24
- return { str: inp };
25
- }
26
- const vars = [];
27
- let last = 0;
28
- let str = '';
29
- let bs = inp.indexOf('{');
30
- let be = 401;
31
- let bail = 0;
32
- let matches = 0;
33
- while (bs > -1 && bail++ < 400) {
34
- str += inp.substring(last, bs);
35
- be = inp.indexOf('}', bs);
36
- if (be < 0) {
37
- throw Error(`missing end bracket in ${inp}`);
38
- }
39
- vars.push(pairToVar(inp.substring(bs + 1, be), types));
40
- bs = inp.indexOf('{', be);
41
- last = be + 1;
42
- str += matchGroups(matches++);
43
- }
44
- str += inp.substring(be + 1);
45
- return { vars, str };
46
- };
47
- function pairToVar(pair, types) {
48
- // eslint-disable-next-line prefer-const
49
- let [name, type] = pair.split(':').map((i) => i.trim());
50
- if (!type)
51
- type = 'string';
52
- if (!types.includes(type)) {
53
- throw Error(`unknown type ${type}`);
54
- }
55
- return { name, type };
56
- }
57
- export function getNamedMatches(regexp, what) {
58
- const named = regexp.exec(what);
59
- return named?.groups;
60
- }
61
- export const getMatch = (actionable, r, actionName, stepperName, step, vars) => {
62
- if (!r.test(actionable)) {
63
- return;
64
- }
65
- const named = getNamedMatches(r, actionable);
66
- return { actionName, stepperName, step, named, vars };
67
- };
68
- // returns named values, assigning variable values as appropriate
69
- // retrieves from world.shared if a base domain, otherwise world.domains[type].shared
70
- export function getNamedToVars(found, world, featureStep) {
71
- const { named, vars } = found;
72
- if (!named) {
73
- return { _nb: 'no named' };
74
- }
75
- if (!vars || vars.length < 1) {
76
- return named;
77
- }
78
- const namedFromVars = {};
79
- vars.forEach((v, i) => {
80
- const { name, type } = v;
81
- const { shared } = world;
82
- const namedKey = Object.keys(named).find((c) => c.endsWith(`_${i}`) && named[c] !== undefined);
83
- if (!namedKey) {
84
- throw Error(`no namedKey from ${named} for ${i}`);
85
- }
86
- const namedValue = named[namedKey];
87
- if (namedKey.startsWith(TYPE_ENV_OR_VAR_OR_LITERAL)) {
88
- // For TYPE_ENV_OR_VAR_OR_LITERAL, check env first if exists
89
- if (world.options.envVariables && world.options.envVariables[namedValue] !== undefined) {
90
- namedFromVars[name] = world.options.envVariables[namedValue];
91
- }
92
- else {
93
- namedFromVars[name] = shared?.get(namedValue) || (named && named[namedKey]);
94
- }
95
- }
96
- else if (namedKey.startsWith(TYPE_VAR)) {
97
- // must be from source
98
- if (!shared.get(namedValue)) {
99
- throw Error(`no value for "${namedValue}" from ${JSON.stringify({ keys: Object.keys(shared.values), type })} in ${featureStep.path}`);
100
- }
101
- namedFromVars[name] = shared.get(namedValue);
102
- }
103
- else if (namedKey.startsWith(TYPE_SPECIAL)) {
104
- let toSet;
105
- if (namedValue === 'SERIALTIME') {
106
- toSet = '' + getSerialTime();
107
- }
108
- else {
109
- throw Error(`unknown special "${namedValue}" in ${JSON.stringify(found)}`);
110
- }
111
- namedFromVars[name] = toSet;
112
- }
113
- else if (namedKey.startsWith(TYPE_CREDENTIAL)) {
114
- // must be from source
115
- if (!shared.get(cred(namedValue))) {
116
- throw Error(`no value for credential "${namedValue}" from ${JSON.stringify({ keys: Object.keys(shared), type })}`);
117
- }
118
- namedFromVars[name] = shared.get(cred(namedValue));
119
- }
120
- else if (namedKey.startsWith(TYPE_ENV)) {
121
- // FIXME add test
122
- const val = world.options?.envVariables[namedValue];
123
- if (val === undefined) {
124
- throw Error(`no env value for "${namedValue}" from ${JSON.stringify(world.options?.envVariables)}.\nenv values are passed via ${HAIBUN}_ENV and ${HAIBUN}_ENVC.`);
125
- }
126
- namedFromVars[name] = val;
127
- }
128
- else if (namedKey.startsWith(TYPE_QUOTED)) {
129
- // quoted
130
- namedFromVars[name] = named[namedKey];
131
- }
132
- else {
133
- throw Error(`unknown assignment ${namedKey}`);
134
- }
135
- });
136
- return namedFromVars;
137
- }
138
- //# sourceMappingURL=namedVars.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namedVars.js","sourceRoot":"","sources":["../../src/lib/namedVars.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { TExpandedFeature } from './defs.js';
2
- export declare const asFeatures: (w: {
3
- base?: string;
4
- path: string;
5
- content: string;
6
- }[]) => {
7
- path: string;
8
- base: any;
9
- name: string;
10
- type: string;
11
- content: string;
12
- }[];
13
- export declare const asExpandedFeatures: (w: {
14
- base?: string;
15
- path: string;
16
- content: string;
17
- }[]) => TExpandedFeature[];
18
- //# sourceMappingURL=resolver-features.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver-features.d.ts","sourceRoot":"","sources":["../../src/lib/resolver-features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAa,MAAM,WAAW,CAAC;AAIvE,eAAO,MAAM,UAAU,GAAI,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE,EAAE;;;;;;GAAuE,CAAC;AAGzJ,eAAO,MAAM,kBAAkB,GAAI,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE,EAAE,KAAG,gBAAgB,EAM1G,CAAC"}
@@ -1,12 +0,0 @@
1
- import { featureSplit, withNameType } from './features.js';
2
- import { TEST_BASE } from './test/lib.js';
3
- export const asFeatures = (w) => w.map((i) => withNameType(i.base || TEST_BASE, i.path, i.content));
4
- // FIXME can't really do this without reproducing resolve
5
- export const asExpandedFeatures = (w) => asFeatures(w).map((i) => {
6
- const expanded = featureSplit(i.content).map((a) => ({ line: a, feature: i }));
7
- const a = { ...i, expanded };
8
- delete a.content;
9
- // a.featureLine = asFeatureLine()
10
- return a;
11
- });
12
- //# sourceMappingURL=resolver-features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver-features.js","sourceRoot":"","sources":["../../src/lib/resolver-features.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAsD,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAEzJ,yDAAyD;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAsD,EAAsB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACxI,MAAM,QAAQ,GAAoB,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,MAAM,CAAC,GAAc,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjB,kCAAkC;IAClC,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { TNamed, AStepper } from '../defs.js';
2
- export default class SetTimeStepper extends AStepper {
3
- steps: {
4
- setTime: {
5
- gwta: string;
6
- action: ({ y, m, d, h, min, s }: TNamed) => Promise<import("../defs.js").TOKActionResult>;
7
- };
8
- };
9
- }
10
- //# sourceMappingURL=SetTimeStepper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetTimeStepper.d.ts","sourceRoot":"","sources":["../../../src/lib/test/SetTimeStepper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAM,MAAM,YAAY,CAAC;AAMlD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ;IAClD,KAAK;;;6CAGgC,MAAM;;MAMzC;CACH"}
@@ -1,20 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { AStepper, OK } from '../defs.js';
3
- const checkedInt = (p, v) => {
4
- if (v === undefined)
5
- throw Error(`undefined value "${v}" for ${p}`);
6
- return parseInt(v, 10);
7
- };
8
- export default class SetTimeStepper extends AStepper {
9
- steps = {
10
- setTime: {
11
- gwta: 'change date to {y}-{m}-{d} {h}:{min}:{s}',
12
- action: ({ y, m, d, h, min, s }) => {
13
- const date = new Date(checkedInt('year', y), checkedInt('month', m) - 1, checkedInt('day', d), checkedInt('hour', h), checkedInt('minute', min), checkedInt('second', s));
14
- vi.setSystemTime(date);
15
- return Promise.resolve(OK);
16
- }
17
- },
18
- };
19
- }
20
- //# sourceMappingURL=SetTimeStepper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SetTimeStepper.js","sourceRoot":"","sources":["../../../src/lib/test/SetTimeStepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAU,QAAQ,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC1C,IAAI,CAAC,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACpE,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC,CAAA;AACD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAQ;IAClD,KAAK,GAAG;QACN,OAAO,EAAE;YACP,IAAI,EAAE,0CAA0C;YAChD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1K,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;SACF;KACF,CAAC;CACH"}
@@ -1,33 +0,0 @@
1
- import { TNamed, AStepper } from '../defs.js';
2
- declare const TestSteps: {
3
- new (): {
4
- steps: {
5
- fails: {
6
- gwta: string;
7
- action: () => Promise<import("../defs.js").TNotOKActionResult>;
8
- };
9
- test: {
10
- exact: string;
11
- action: () => Promise<import("../defs.js").TOKActionResult>;
12
- };
13
- passes: {
14
- exact: string;
15
- action: () => Promise<import("../defs.js").TOKActionResult>;
16
- };
17
- named: {
18
- match: RegExp;
19
- action: ({ param }: TNamed) => Promise<import("../defs.js").TNotOKActionResult | import("../defs.js").TOKActionResult>;
20
- };
21
- throws: {
22
- gwta: string;
23
- action: () => never;
24
- };
25
- };
26
- world?: import("../defs.js").TWorld;
27
- cycles?: import("../defs.js").IStepperCycles;
28
- setWorld(world: import("../defs.js").TWorld, steppers: AStepper[]): Promise<void>;
29
- getWorld(): import("../defs.js").TWorld;
30
- };
31
- };
32
- export default TestSteps;
33
- //# sourceMappingURL=TestSteps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestSteps.d.ts","sourceRoot":"","sources":["../../../src/lib/test/TestSteps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG9C,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;oCAgBc,MAAM;;;;;;;;;;;;CAWlC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,32 +0,0 @@
1
- import { AStepper } from '../defs.js';
2
- import { actionNotOK, actionOK } from '../util/index.js';
3
- const TestSteps = class TestSteps extends AStepper {
4
- steps = {
5
- fails: {
6
- gwta: 'fails',
7
- action: async () => Promise.resolve(actionNotOK('test fail')),
8
- },
9
- test: {
10
- exact: 'have a test',
11
- action: async () => Promise.resolve(actionOK()),
12
- },
13
- passes: {
14
- exact: 'passes',
15
- action: async () => Promise.resolve(actionOK()),
16
- },
17
- named: {
18
- match: /^parameter (?<param>.+) is accepted$/,
19
- action: async ({ param }) => {
20
- return Promise.resolve(param === 'x' ? actionOK() : actionNotOK('test'));
21
- },
22
- },
23
- throws: {
24
- gwta: 'throw an exception',
25
- action: () => {
26
- throw Error(`<Thrown for test case>`);
27
- },
28
- },
29
- };
30
- };
31
- export default TestSteps;
32
- //# sourceMappingURL=TestSteps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestSteps.js","sourceRoot":"","sources":["../../../src/lib/test/TestSteps.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,SAAS,GAAG,MAAM,SAAU,SAAQ,QAAQ;IACjD,KAAK,GAAG;QACP,KAAK,EAAE;YACN,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC7D;QACD,IAAI,EAAE;YACL,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC/C;QACD,MAAM,EAAE;YACP,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC/C;QACD,KAAK,EAAE;YACN,KAAK,EAAE,sCAAsC;YAC7C,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAU,EAAE,EAAE;gBACnC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1E,CAAC;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,GAAG,EAAE;gBACZ,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvC,CAAC;SACD;KACD,CAAC;CACF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,25 +0,0 @@
1
- import { AStepper } from '../defs.js';
2
- export declare const TestStepsWithOptions: {
3
- new (): {
4
- options: {
5
- EXISTS: {
6
- desc: string;
7
- parse: () => {
8
- result: number;
9
- };
10
- };
11
- };
12
- steps: {
13
- test: {
14
- exact: string;
15
- action: () => Promise<import("../defs.js").TOKActionResult>;
16
- };
17
- };
18
- world?: import("../defs.js").TWorld;
19
- cycles?: import("../defs.js").IStepperCycles;
20
- setWorld(world: import("../defs.js").TWorld, steppers: AStepper[]): Promise<void>;
21
- getWorld(): import("../defs.js").TWorld;
22
- };
23
- };
24
- export default TestStepsWithOptions;
25
- //# sourceMappingURL=TestStepsWithOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestStepsWithOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/test/TestStepsWithOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AAInD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAgBhC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,22 +0,0 @@
1
- import { AStepper } from '../defs.js';
2
- import { EExecutionMessageType } from '../interfaces/logger.js';
3
- import { actionOK, getStepperOption } from '../util/index.js';
4
- export const TestStepsWithOptions = class TestStepsWithOptions extends AStepper {
5
- options = {
6
- EXISTS: {
7
- desc: 'option exists',
8
- parse: () => ({ result: 42 }),
9
- },
10
- };
11
- steps = {
12
- test: {
13
- exact: 'have a stepper option',
14
- action: async () => {
15
- const res = getStepperOption(this, 'EXISTS', this.getWorld().moduleOptions);
16
- return Promise.resolve(actionOK({ incident: EExecutionMessageType.ACTION, incidentDetails: { summary: 'options', details: res } }));
17
- },
18
- },
19
- };
20
- };
21
- export default TestStepsWithOptions;
22
- //# sourceMappingURL=TestStepsWithOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestStepsWithOptions.js","sourceRoot":"","sources":["../../../src/lib/test/TestStepsWithOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,oBAAqB,SAAQ,QAAQ;IAC9E,OAAO,GAAG;QACT,MAAM,EAAE;YACP,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;SAC7B;KACD,CAAC;IACF,KAAK,GAAG;QACP,IAAI,EAAE;YACL,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;gBAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YACrI,CAAC;SACD;KACD,CAAC;CACF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,26 +0,0 @@
1
- import { TWorld, TFeatureStep, TProtoOptions, CStepper, TExecutorResult } from '../defs.js';
2
- export declare const HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS = "HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS";
3
- export declare const TEST_BASE = "test_base";
4
- export declare function getCreateSteppers(steppers: string[], addSteppers?: CStepper[]): Promise<import("../defs.js").AStepper[]>;
5
- export declare const testFeatureStep: (name: string, action: any) => TFeatureStep;
6
- export declare function getTestEnv(useSteppers: string[], test: string, world: TWorld): Promise<{
7
- world: TWorld;
8
- featureStep: TFeatureStep;
9
- csteppers: CStepper[];
10
- steppers: import("../defs.js").AStepper[];
11
- }>;
12
- type TTestFeatures = {
13
- path: string;
14
- content: string;
15
- base?: string;
16
- }[];
17
- export declare function testWithDefaults(featuresIn: TTestFeatures | string, useSteppers: CStepper[], protoOptions?: TProtoOptions, backgroundsIn?: TTestFeatures): Promise<TExecutorResult & {
18
- world: TWorld;
19
- }>;
20
- export declare function getTestWorldWithOptions(protoOptions: TProtoOptions, env?: {
21
- HAIBUN_LOG_LEVEL: string;
22
- }): TWorld;
23
- export declare function getDefaultWorld(sequence: number, env?: NodeJS.ProcessEnv): TWorld;
24
- export declare function getDefaultTag(sequence: number, desc?: string | undefined): import("../defs.js").TTag;
25
- export {};
26
- //# sourceMappingURL=lib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/lib/test/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAgB,eAAe,EAAE,MAAM,YAAY,CAAC;AAa1G,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAC3F,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,4CAGnF;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,WAAM,KAAG,YAKrD,CAAC;AAEH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;;GAWlF;AACD,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC;AAExE,wBAAsB,gBAAgB,CACrC,UAAU,EAAE,aAAa,GAAG,MAAM,EAClC,WAAW,EAAE,QAAQ,EAAE,EACvB,YAAY,GAAE,aAAiC,EAC/C,aAAa,GAAE,aAAkB,GAC/B,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAa9C;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG;;CAA+B,UAOtG;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,oBAAc,GAAG,MAAM,CAW3E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,SAAqB,6BAEnF"}
@@ -1,68 +0,0 @@
1
- import { DEFAULT_DEST } from '../defs.js';
2
- import { Resolver } from '../../phases/Resolver.js';
3
- import { getRunTag, verifyExtraOptions, createSteppers } from './../util/index.js';
4
- import { getSteppers } from '../util/workspace-lib.js';
5
- import { WorldContext } from '../contexts.js';
6
- import Logger, { LOGGER_LOG } from '../Logger.js';
7
- import { Timer } from '../Timer.js';
8
- import { asFeatures } from '../resolver-features.js';
9
- import { Runner } from '../../runner.js';
10
- const DEF_PROTO_DEFAULT_OPTIONS = { DEST: DEFAULT_DEST };
11
- const DEF_PROTO_OPTIONS = { options: DEF_PROTO_DEFAULT_OPTIONS, moduleOptions: {} };
12
- export const HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS = 'HAIBUN_O_TESTSTEPSWITHOPTIONS_EXISTS';
13
- export const TEST_BASE = 'test_base';
14
- export async function getCreateSteppers(steppers, addSteppers) {
15
- const csteppers = await getSteppers(steppers);
16
- return await createSteppers(csteppers.concat(addSteppers || []));
17
- }
18
- export const testFeatureStep = (name, action) => ({
19
- path: '/features/test',
20
- in: name,
21
- seq: 0,
22
- action,
23
- });
24
- export async function getTestEnv(useSteppers, test, world) {
25
- const csteppers = await getSteppers(useSteppers);
26
- const steppers = await createSteppers(csteppers);
27
- await verifyExtraOptions({}, csteppers);
28
- const resolver = new Resolver(steppers);
29
- const actions = resolver.findActionableSteps(test);
30
- const featureStep = testFeatureStep('test', actions[0]);
31
- return { world, featureStep, csteppers, steppers };
32
- }
33
- export async function testWithDefaults(featuresIn, useSteppers, protoOptions = DEF_PROTO_OPTIONS, backgroundsIn = []) {
34
- if (useSteppers.length < 1) {
35
- throw Error('useSteppers must have at least one stepper');
36
- }
37
- const inFeatures = typeof featuresIn == 'string' ? [{ path: '/features/test', content: featuresIn }] : featuresIn;
38
- const world = getTestWorldWithOptions(protoOptions);
39
- const withBases = (i) => (i.base ? i : { ...i, base: TEST_BASE });
40
- const features = asFeatures(inFeatures.map(withBases));
41
- const backgrounds = asFeatures(backgroundsIn.map(withBases));
42
- const ran = await new Runner(world).runFeaturesAndBackgrounds(useSteppers, { features, backgrounds });
43
- return { ...ran, world };
44
- }
45
- export function getTestWorldWithOptions(protoOptions, env = { HAIBUN_LOG_LEVEL: 'none' }) {
46
- const world = getDefaultWorld(0, env);
47
- if (protoOptions) {
48
- world.options = protoOptions.options;
49
- world.moduleOptions = protoOptions.moduleOptions;
50
- }
51
- return world;
52
- }
53
- export function getDefaultWorld(sequence, env = process.env) {
54
- return {
55
- timer: new Timer(),
56
- tag: getRunTag(sequence, 0),
57
- shared: new WorldContext(getDefaultTag(sequence)),
58
- logger: new Logger(env.HAIBUN_LOG_LEVEL ? { level: env.HAIBUN_LOG_LEVEL } : LOGGER_LOG),
59
- runtime: {},
60
- options: { DEST: DEFAULT_DEST },
61
- moduleOptions: {},
62
- bases: ['/features/'],
63
- };
64
- }
65
- export function getDefaultTag(sequence, desc = undefined) {
66
- return getRunTag(sequence, -1, desc ? { desc } : undefined, false);
67
- }
68
- //# sourceMappingURL=lib.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib/test/lib.ts"],"names":[],"mappings":"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"}