@contract-case/case-plugin-dsl-types
Advanced tools
Comparing version 0.17.1 to 0.18.0
@@ -13,3 +13,13 @@ import { HasTypeForMockDescriptor } from './nodes.types'; | ||
*/ | ||
variables: Record<string, VariableValue>; | ||
stateVariables: Record<string, VariableValue>; | ||
/** | ||
* Setup returned by the mock executor (eg, urls, function names, etc) | ||
*/ | ||
mock: Record<string, VariableValue>; | ||
/** | ||
* Arbitrary map of invokeable functions. For most purposes, this can be | ||
* empty. Useful for allowing plugins to invoke functions - the intention is | ||
* that arguments and return values are JSON encoded strings. | ||
*/ | ||
functions: Record<string, (...args: string[]) => string>; | ||
}; | ||
@@ -16,0 +26,0 @@ /** |
import { AnyCaseMatcherOrData } from '../matchers/types'; | ||
/** | ||
* Type identifier constant for the built-in {@link NameOnlyState} type. | ||
* @public | ||
*/ | ||
export declare const SETUP_NAMED_STATE: "_case:NamedState"; | ||
/** | ||
* Type identifier constant for the built-in {@link StateWithVariables} type. | ||
* @public | ||
*/ | ||
export declare const SETUP_VARIABLE_STATE: "_case:StateWithVariables"; | ||
/** | ||
* Helper type for extracting state types by their constant | ||
* @public | ||
*/ | ||
export type HasTypeForState<T extends AnyStateType> = { | ||
'_case:state:type': T; | ||
}; | ||
/** | ||
* Describes a state that only has a name and no other information | ||
* @public | ||
*/ | ||
export type NameOnlyState = HasTypeForState<typeof SETUP_NAMED_STATE> & { | ||
/** | ||
* The human readable state name, for identifying state handlers. | ||
* Any string is acceptable, though we recommend keeping state names short. | ||
* | ||
* In a future release, some specific state names may be reserved. | ||
*/ | ||
readonly stateName: string; | ||
}; | ||
/** | ||
* Describes a named state that also contains some variables. These variables can be | ||
* returned by state handlers later. | ||
* @public | ||
*/ | ||
export type StateWithVariables = HasTypeForState<typeof SETUP_VARIABLE_STATE> & { | ||
/** | ||
* The human readable state name, for identifying state handlers. | ||
* Any string is acceptable, though we recommend keeping state names short. | ||
* | ||
* In a future release, some specific state names may be reserved. | ||
*/ | ||
readonly stateName: string; | ||
/** | ||
* Default values and matchers for the variables. The state handler must return | ||
* a value for each of these named variables. We recommend keeping variables | ||
* human readable and short. Since the state handler needs to return these, we | ||
* recommend using similar naming conventions to variables in your chosen | ||
* language. | ||
*/ | ||
readonly variables: Record<string, AnyCaseMatcherOrData>; | ||
}; | ||
/** | ||
* Union type of all currently known State identifier strings. | ||
* @public | ||
*/ | ||
export type AnyStateType = typeof SETUP_NAMED_STATE | typeof SETUP_VARIABLE_STATE; | ||
/** | ||
* Union type of all currently known State types. | ||
* @public | ||
*/ | ||
export type AnyState = NameOnlyState | StateWithVariables; | ||
//# sourceMappingURL=states.types.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SETUP_VARIABLE_STATE = exports.SETUP_NAMED_STATE = void 0; | ||
/** | ||
* Type identifier constant for the built-in {@link NameOnlyState} type. | ||
* @public | ||
*/ | ||
exports.SETUP_NAMED_STATE = '_case:NamedState'; | ||
/** | ||
* Type identifier constant for the built-in {@link StateWithVariables} type. | ||
* @public | ||
*/ | ||
exports.SETUP_VARIABLE_STATE = '_case:StateWithVariables'; | ||
//# sourceMappingURL=states.types.js.map |
{ | ||
"name": "@contract-case/case-plugin-dsl-types", | ||
"version": "0.17.1", | ||
"version": "0.18.0", | ||
"description": "Types for writing the definition DSL for plugins for the ContractCase test framework", | ||
@@ -66,3 +66,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "0fdf25453a567bc6433834374725954e3d2ff206" | ||
"gitHead": "9d63acd9233bdfcf1d0933517547faedaa6dc860" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
75759
406