@case-contract-testing/case
Version:
Next-generation contract testing suite
26 lines (25 loc) • 901 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.state = void 0;
const types_1 = require("../../entities/types");
const types_2 = require("./types");
const state = (name, variables) => variables
? {
'case:state:type': types_2.SETUP_VARIABLE_STATE,
stateName: name,
variables: Object.entries(variables)
.map(([key, value]) => ({
[key]: {
// TODO: Move this somethingLike from hard coded to a function that is DRYed
'case:matcher:type': types_1.CASCADING_CONTEXT_MATCHER_TYPE,
'case:matcher:child': value,
'case:context:matchBy': 'type',
},
}))
.reduce((acc, curr) => ({ ...acc, ...curr }), {}),
}
: {
'case:state:type': types_2.SETUP_NAMED_STATE,
stateName: name,
};
exports.state = state;