@featurevisor/core
Advanced tools
Comparing version 0.1.0 to 0.2.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [0.2.0](https://github.com/fahad19/featurevisor/compare/v0.1.0...v0.2.0) (2023-03-16) | ||
### Features | ||
* NOT operator ([#16](https://github.com/fahad19/featurevisor/issues/16)) ([9c7b239](https://github.com/fahad19/featurevisor/commit/9c7b23944a37c327308f441f4afd2731aaf97889)) | ||
# [0.1.0](https://github.com/fahad19/featurevisor/compare/v0.0.4...v0.1.0) (2023-03-05) | ||
@@ -8,0 +19,0 @@ |
@@ -69,10 +69,13 @@ "use strict"; | ||
}); | ||
var andOrConditionJoiSchema = Joi.alternatives() | ||
var andOrNotConditionJoiSchema = Joi.alternatives() | ||
.try(Joi.object({ | ||
and: Joi.array().items(Joi.link("#andOrCondition"), plainConditionJoiSchema), | ||
and: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
}), Joi.object({ | ||
or: Joi.array().items(Joi.link("#andOrCondition"), plainConditionJoiSchema), | ||
or: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
}), Joi.object({ | ||
// @TODO: allow plainConditionJoiSchema as well? | ||
not: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
})) | ||
.id("andOrCondition"); | ||
var conditionJoiSchema = Joi.alternatives().try(andOrConditionJoiSchema, plainConditionJoiSchema); | ||
.id("andOrNotCondition"); | ||
var conditionJoiSchema = Joi.alternatives().try(andOrNotConditionJoiSchema, plainConditionJoiSchema); | ||
var conditionsJoiSchema = Joi.alternatives().try(conditionJoiSchema, Joi.array().items(conditionJoiSchema)); | ||
@@ -97,10 +100,13 @@ return conditionsJoiSchema; | ||
var plainGroupSegment = Joi.string(); | ||
var andOrGroupSegment = Joi.alternatives() | ||
var andOrNotGroupSegment = Joi.alternatives() | ||
.try(Joi.object({ | ||
and: Joi.array().items(Joi.link("#andOrGroupSegment"), plainGroupSegment), | ||
and: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
}), Joi.object({ | ||
or: Joi.array().items(Joi.link("#andOrGroupSegment"), plainGroupSegment), | ||
or: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
}), Joi.object({ | ||
// @TODO: allow plainGroupSegment as well? | ||
not: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
})) | ||
.id("andOrGroupSegment"); | ||
var groupSegment = Joi.alternatives().try(andOrGroupSegment, plainGroupSegment); | ||
.id("andOrNotGroupSegment"); | ||
var groupSegment = Joi.alternatives().try(andOrNotGroupSegment, plainGroupSegment); | ||
var groupSegmentsJoiSchema = Joi.alternatives().try(Joi.array().items(groupSegment), groupSegment); | ||
@@ -107,0 +113,0 @@ var environmentJoiSchema = Joi.object({ |
{ | ||
"name": "@featurevisor/core", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"description": "Core package of Featurevisor for Node.js usage", | ||
@@ -44,4 +44,4 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"@featurevisor/sdk": "^0.1.0", | ||
"@featurevisor/types": "^0.1.0", | ||
"@featurevisor/sdk": "^0.2.0", | ||
"@featurevisor/types": "^0.2.0", | ||
"axios": "^1.3.4", | ||
@@ -57,3 +57,3 @@ "joi": "^17.8.3", | ||
}, | ||
"gitHead": "e184134717a604dcc170d1c6ff1456a0eb3de56f" | ||
"gitHead": "ead531c0af029bedf3ea6fcba64162e44af0f4ea" | ||
} |
@@ -53,15 +53,19 @@ // for use in node only | ||
const andOrConditionJoiSchema = Joi.alternatives() | ||
const andOrNotConditionJoiSchema = Joi.alternatives() | ||
.try( | ||
Joi.object({ | ||
and: Joi.array().items(Joi.link("#andOrCondition"), plainConditionJoiSchema), | ||
and: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
}), | ||
Joi.object({ | ||
or: Joi.array().items(Joi.link("#andOrCondition"), plainConditionJoiSchema), | ||
or: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
}), | ||
Joi.object({ | ||
// @TODO: allow plainConditionJoiSchema as well? | ||
not: Joi.array().items(Joi.link("#andOrNotCondition"), plainConditionJoiSchema), | ||
}), | ||
) | ||
.id("andOrCondition"); | ||
.id("andOrNotCondition"); | ||
const conditionJoiSchema = Joi.alternatives().try( | ||
andOrConditionJoiSchema, | ||
andOrNotConditionJoiSchema, | ||
plainConditionJoiSchema, | ||
@@ -96,14 +100,18 @@ ); | ||
const andOrGroupSegment = Joi.alternatives() | ||
const andOrNotGroupSegment = Joi.alternatives() | ||
.try( | ||
Joi.object({ | ||
and: Joi.array().items(Joi.link("#andOrGroupSegment"), plainGroupSegment), | ||
and: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
}), | ||
Joi.object({ | ||
or: Joi.array().items(Joi.link("#andOrGroupSegment"), plainGroupSegment), | ||
or: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
}), | ||
Joi.object({ | ||
// @TODO: allow plainGroupSegment as well? | ||
not: Joi.array().items(Joi.link("#andOrNotGroupSegment"), plainGroupSegment), | ||
}), | ||
) | ||
.id("andOrGroupSegment"); | ||
.id("andOrNotGroupSegment"); | ||
const groupSegment = Joi.alternatives().try(andOrGroupSegment, plainGroupSegment); | ||
const groupSegment = Joi.alternatives().try(andOrNotGroupSegment, plainGroupSegment); | ||
@@ -110,0 +118,0 @@ const groupSegmentsJoiSchema = Joi.alternatives().try( |
Sorry, the diff of this file is not supported yet
159959
3294
+ Added@featurevisor/sdk@0.2.0(transitive)
+ Added@featurevisor/types@0.2.0(transitive)
- Removed@featurevisor/sdk@0.1.0(transitive)
- Removed@featurevisor/types@0.1.0(transitive)
Updated@featurevisor/sdk@^0.2.0
Updated@featurevisor/types@^0.2.0