diff --git a/.changeset/add-does-not-contain-operator.md b/.changeset/add-does-not-contain-operator.md new file mode 100644 index 00000000..6ce69a11 --- /dev/null +++ b/.changeset/add-does-not-contain-operator.md @@ -0,0 +1,7 @@ +--- +"@transcend-io/privacy-types": patch +"@transcend-io/sdk": patch +"@transcend-io/cli": patch +--- + +Add `DOES_NOT_CONTAIN` attribute to `ComparisonOperator` for assessment rules, and regenerate `transcend.yml` JSON schema. diff --git a/packages/cli/schema/transcend-yml-schema-latest.json b/packages/cli/schema/transcend-yml-schema-latest.json index e6540df9..f443c72c 100644 --- a/packages/cli/schema/transcend-yml-schema-latest.json +++ b/packages/cli/schema/transcend-yml-schema-latest.json @@ -42162,7 +42162,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42211,7 +42212,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42610,7 +42612,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42659,7 +42662,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } diff --git a/packages/cli/schema/transcend-yml-schema-v10.json b/packages/cli/schema/transcend-yml-schema-v10.json index 7e9fe3e6..cc795ed3 100644 --- a/packages/cli/schema/transcend-yml-schema-v10.json +++ b/packages/cli/schema/transcend-yml-schema-v10.json @@ -42162,7 +42162,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42211,7 +42212,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42610,7 +42612,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } @@ -42659,7 +42662,8 @@ "IS_NOT_ONE_OF", "CONTAINS", "IS_SHOWN", - "IS_NOT_SHOWN" + "IS_NOT_SHOWN", + "DOES_NOT_CONTAIN" ] } } diff --git a/packages/privacy-types/src/assessmentForm.ts b/packages/privacy-types/src/assessmentForm.ts index 55db5d3d..5ed450b4 100644 --- a/packages/privacy-types/src/assessmentForm.ts +++ b/packages/privacy-types/src/assessmentForm.ts @@ -163,6 +163,8 @@ export const ComparisonOperator = makeEnum({ IsShown: 'IS_SHOWN', /** is not shown */ IsNotShown: 'IS_NOT_SHOWN', + /** does not contain */ + DoesNotContain: 'DOES_NOT_CONTAIN', }); /** diff --git a/packages/sdk/src/assessments/parseAssessmentDisplayLogic.ts b/packages/sdk/src/assessments/parseAssessmentDisplayLogic.ts index 83300169..7223cc6d 100644 --- a/packages/sdk/src/assessments/parseAssessmentDisplayLogic.ts +++ b/packages/sdk/src/assessments/parseAssessmentDisplayLogic.ts @@ -15,6 +15,7 @@ export const AssessmentRuleWithOperands = t.type({ t.literal(ComparisonOperator.IsOneOf), t.literal(ComparisonOperator.IsNotOneOf), t.literal(ComparisonOperator.Contains), + t.literal(ComparisonOperator.DoesNotContain), ]), comparisonOperands: t.array(t.string), });