Skip to content

Commit

Permalink
feat(sequences): add ignoreOutOfOrder step attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
mbehr1 committed Jan 1, 2025
1 parent 25f81b0 commit bdef8ad
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 13 deletions.
7 changes: 4 additions & 3 deletions docs/fishbone/docs/sequences.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,12 @@ attribute | description
--------- | -----------
`name` | Optional: Name of this step. If not provided name of the filter or name of the contained sequence will be used.
`card` | Optional: Cardinality of this step. Defaults to "exactly once/mandatory step" if not provided. Can be any of:<br/>`?`:zero or once, so an optional step,<br/>`*`:any number of times = 0.., so an optional step that can occur not at all or any number of times<br/>`+`:once or multiple times, so a mandatory step that can occur multiple times but at least once
`canCreateNew`| Optional: Determines whether this step can create a new sequence occurrence. Defaults to `true`. Must not be `false` for the first step in a sequence. Set to `false` if this step shall only be checked for a created occurrence from an earlier step. So the `filter`, `sequence`, `alt` or `par` will be ignored then.
`canCreateNew` | Optional: Determines whether this step can create a new sequence occurrence. Defaults to `true`. Must not be `false` for the first step in a sequence. Set to `false` if this step shall only be checked for a created occurrence from an earlier step. So the `filter`, `sequence`, `alt` or `par` will be ignored then.
`ignoreOutOfOrder` | Optional: if true, any matches/occurrences of this step that are out of order/sequence are ignored. Can only be used if the step before this step is mandatory. Defaults to `false`. This can be used if some messages occur often but you expect it exactly after one step and you do ignore any other occurrences.
`filter` | [DLT filter](https://mbehr1.github.io/dlt-logs/docs/filterReference#details) definition. If this filter matches a msg the step is seen as "matching". Either `filter`, `sequence`, `alt` or `par` must be provided.
`sequence` | A definition of a `sub-sequence`. For this step a full sequence is used. This is useful to either break down a bigger sequence into smaller parts of if this step can be executed multiple times (e.g. with `card:*`) but consists of multiple events/steps. See [example](#example).
`alt`| A definition for a list of alternative steps. The `alt` attribute is an array/list of step definitions. Any `card` or `canCreateNew` attribute will automatically be applied to the alternative steps. For this step to be `ok` exactly one step needs to be `ok`. See [example alt](#example-alternative-steps).
`par`| A definition for a list of parallel steps. The `par` attribute is an array/list of step definitions. Single steps can have their own `card` or `canCreateNew` attribute and the step with `par` as well. For this step to be `ok` all mandatory steps ( `card` not `?,*` ) need to be `ok`. The order in which the parallel steps are fulfilled doesn't matter.
`alt` | A definition for a list of alternative steps. The `alt` attribute is an array/list of step definitions. Any `card` or `canCreateNew` attribute will automatically be applied to the alternative steps. For this step to be `ok` exactly one step needs to be `ok`. See [example alt](#example-alternative-steps).
`par` | A definition for a list of parallel steps. The `par` attribute is an array/list of step definitions. Single steps can have their own `card` or `canCreateNew` attribute and the step with `par` as well. For this step to be `ok` all mandatory steps ( `card` not `?,*` ) need to be `ok`. The order in which the parallel steps are fulfilled doesn't matter.
:::important
A step must contain either a filter or a sub-sequence or an alt-list but not more than one!
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
},
"dependencies": {
"@vscode/extension-telemetry": "^0.8.4",
"dlt-logs-utils": "0.9.1",
"dlt-logs-utils": "0.10.0",
"jju": "github:mbehr1/jju#3aa4169df926e99083fdd511d7c20b5bd9ba789f",
"js-yaml": "^4.1.0",
"json5": "2.2.3",
Expand Down
2 changes: 1 addition & 1 deletion src/webview/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.4.3",
"dlt-logs-utils": "0.9.1",
"dlt-logs-utils": "0.10.0",
"dompurify": "^2.4.0",
"jju": "github:mbehr1/jju#3aa4169df926e99083fdd511d7c20b5bd9ba789f",
"js-yaml": "^4.1.0",
Expand Down
8 changes: 4 additions & 4 deletions src/webview/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4259,10 +4259,10 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"

dlt-logs-utils@0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/dlt-logs-utils/-/dlt-logs-utils-0.9.1.tgz#0f34ba9aec4d9518aacb8e4ed1a39514c6cce0bd"
integrity sha512-fmvuj3jZYv2Y5vYP1xOMu0OgsZJalkEVQi65avEvdWWNCocsQnxwTMlOvpemDuGBO3p2fswHjsDt9+e8i0BWFA==
dlt-logs-utils@0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/dlt-logs-utils/-/dlt-logs-utils-0.10.0.tgz#e8651aaf053497efc45d0e6fb93f08026c4bd819"
integrity sha512-YWDWyzlwKM2Lsp4F/+o+feFwNaKxj4SngT6XpJqcW5CIIyQgnFza1HxiFh3Kp8V0d5O1gBJJw7fUYFzyTRremQ==

dlv@^1.1.3:
version "1.1.3"
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2453,10 +2453,10 @@ dir-glob@^3.0.0, dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"

dlt-logs-utils@0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/dlt-logs-utils/-/dlt-logs-utils-0.9.1.tgz#0f34ba9aec4d9518aacb8e4ed1a39514c6cce0bd"
integrity sha512-fmvuj3jZYv2Y5vYP1xOMu0OgsZJalkEVQi65avEvdWWNCocsQnxwTMlOvpemDuGBO3p2fswHjsDt9+e8i0BWFA==
dlt-logs-utils@0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/dlt-logs-utils/-/dlt-logs-utils-0.10.0.tgz#e8651aaf053497efc45d0e6fb93f08026c4bd819"
integrity sha512-YWDWyzlwKM2Lsp4F/+o+feFwNaKxj4SngT6XpJqcW5CIIyQgnFza1HxiFh3Kp8V0d5O1gBJJw7fUYFzyTRremQ==

doctrine@^3.0.0:
version "3.0.0"
Expand Down

0 comments on commit bdef8ad

Please sign in to comment.