@contract-case/case-core
Version:
Core functionality for the ContractCase contract testing suite
26 lines • 991 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.state = void 0;
const case_entities_internal_1 = require("@contract-case/case-entities-internal");
const types_1 = require("./types");
const state = (name, variables) => variables
? {
'_case:state:type': types_1.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': case_entities_internal_1.CASCADING_CONTEXT_MATCHER_TYPE,
'_case:matcher:child': value,
'_case:context:matchBy': 'type',
},
}))
.reduce((acc, curr) => ({ ...acc, ...curr }), {}),
}
: {
'_case:state:type': types_1.SETUP_NAMED_STATE,
stateName: name,
};
exports.state = state;
//# sourceMappingURL=states.js.map