Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ rustflags = ["-Ccontrol-flow-guard", "-Ctarget-feature=+crt-static", "-Clink-arg

# The following is only needed for release builds
[source.crates-io]
replace-with = "POWERSHELL"
# replace-with = "POWERSHELL"
2 changes: 1 addition & 1 deletion dsc/src/subcommand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@ fn list_functions(functions: &FunctionDispatcher, function_name: Option<&String>
};

table.add_row(vec![
function.category.to_string(),
function.category.iter().map(std::string::ToString::to_string).collect::<Vec<String>>().join(", "),
function.name,
function.min_args.to_string(),
max_args,
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/add.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Add {
FunctionMetadata {
name: "add".to_string(),
description: t!("functions.add.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/and.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for And {
FunctionMetadata {
name: "and".to_string(),
description: t!("functions.and.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 2,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Array {
FunctionMetadata {
name: "array".to_string(),
description: t!("functions.array.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::Array],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/base64.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ impl Function for Base64 {
FunctionMetadata {
name: "base64".to_string(),
description: t!("functions.base64.description").to_string(),
category: FunctionCategory::String,
category: vec![FunctionCategory::String],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Bool {
FunctionMetadata {
name: "bool".to_string(),
description: t!("functions.bool.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String, FunctionArgKind::Number]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/coalesce.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Coalesce {
FunctionMetadata {
name: "coalesce".to_string(),
description: t!("functions.coalesce.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Logical],
min_args: 1,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/concat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Concat {
FunctionMetadata {
name: "concat".to_string(),
description: t!("functions.concat.description").to_string(),
category: FunctionCategory::String,
category: vec![FunctionCategory::String, FunctionCategory::Array],
min_args: 2,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/contains.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Contains {
FunctionMetadata {
name: "contains".to_string(),
description: t!("functions.contains.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String, FunctionCategory::Array],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ impl Function for Context {
FunctionMetadata {
name: "context".to_string(),
description: t!("functions.context.description").to_string(),
category: FunctionCategory::System,
category: vec![FunctionCategory::Deployment],
min_args: 0,
max_args: 0,
accepted_arg_ordered_types: vec![],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/copy_index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for CopyIndex {
FunctionMetadata {
name: "copyIndex".to_string(),
description: t!("functions.copyIndex.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Deployment],
min_args: 0,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/create_array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for CreateArray {
FunctionMetadata {
name: "createArray".to_string(),
description: t!("functions.createArray.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::Array],
min_args: 0,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/create_object.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for CreateObject {
FunctionMetadata {
name: "createObject".to_string(),
description: t!("functions.createObject.description").to_string(),
category: FunctionCategory::Object,
category: vec![FunctionCategory::Object],
min_args: 0,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/div.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Div {
FunctionMetadata {
name: "div".to_string(),
description: t!("functions.div.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/empty.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Empty {
FunctionMetadata {
name: "empty".to_string(),
description: t!("functions.empty.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String, FunctionCategory::Array, FunctionCategory::Object],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Array, FunctionArgKind::Object, FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/ends_with.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ impl Function for EndsWith {
FunctionMetadata {
name: "endsWith".to_string(),
description: t!("functions.endsWith.description").to_string(),
category: FunctionCategory::String,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/envvar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ impl Function for Envvar {
FunctionMetadata {
name: "envvar".to_string(),
description: t!("functions.envvar.description").to_string(),
category: FunctionCategory::System,
category: vec![FunctionCategory::System],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/equals.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Equals {
FunctionMetadata {
name: "equals".to_string(),
description: t!("functions.equals.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Comparison],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/false.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for False {
FunctionMetadata {
name: "false".to_string(),
description: t!("functions.false.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 0,
max_args: 0,
accepted_arg_ordered_types: vec![],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/first.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for First {
FunctionMetadata {
name: "first".to_string(),
description: t!("functions.first.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String, FunctionCategory::Array],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Array, FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ impl Function for Format {
FunctionMetadata {
name: "format".to_string(),
description: t!("functions.format.description").to_string(),
category: FunctionCategory::String,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/greater.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Greater {
FunctionMetadata {
name: "greater".to_string(),
description: t!("functions.greater.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Comparison],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/greater_or_equals.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for GreaterOrEquals {
FunctionMetadata {
name: "greaterOrEquals".to_string(),
description: t!("functions.greaterOrEquals.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Comparison],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/if.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for If {
FunctionMetadata {
name: "if".to_string(),
description: t!("functions.if.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 3,
max_args: 3,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/index_of.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for IndexOf {
FunctionMetadata {
name: "indexOf".to_string(),
description: t!("functions.indexOf.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/int.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ impl Function for Int {
FunctionMetadata {
name: "int".to_string(),
description: t!("functions.int.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String, FunctionArgKind::Number]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/join.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ impl Function for Join {
FunctionMetadata {
name: "join".to_string(),
description: t!("functions.join.description").to_string(),
category: FunctionCategory::String,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/last_index_of.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for LastIndexOf {
FunctionMetadata {
name: "lastIndexOf".to_string(),
description: t!("functions.lastIndexOf.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/length.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Length {
FunctionMetadata {
name: "length".to_string(),
description: t!("functions.length.description").to_string(),
category: FunctionCategory::Array,
category: vec![FunctionCategory::String, FunctionCategory::Array, FunctionCategory::Object],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Array, FunctionArgKind::Object, FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/less.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Less {
FunctionMetadata {
name: "less".to_string(),
description: t!("functions.less.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Comparison],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/less_or_equals.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for LessOrEquals {
FunctionMetadata {
name: "lessOrEquals".to_string(),
description: t!("functions.lessOrEquals.description").to_string(),
category: FunctionCategory::Comparison,
category: vec![FunctionCategory::Comparison],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/max.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Max {
FunctionMetadata {
name: "max".to_string(),
description: t!("functions.max.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 1,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Number, FunctionArgKind::Array]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/min.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Min {
FunctionMetadata {
name: "min".to_string(),
description: t!("functions.min.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 1,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Number, FunctionArgKind::Array]],
Expand Down
6 changes: 3 additions & 3 deletions dsc_lib/src/functions/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ impl Display for FunctionArgKind {
pub struct FunctionMetadata {
pub name: String,
pub description: String,
pub category: FunctionCategory,
pub category: Vec<FunctionCategory>,
pub min_args: usize,
pub max_args: usize,
pub accepted_arg_ordered_types: Vec<Vec<FunctionArgKind>>,
Expand Down Expand Up @@ -267,7 +267,7 @@ impl FunctionDispatcher {
self.functions.iter().map(|(name, function)| {
let metadata = function.get_metadata();
FunctionDefinition {
category: metadata.category,
category: metadata.category.clone(),
name: name.clone(),
description: metadata.description,
min_args: metadata.min_args,
Expand All @@ -289,7 +289,7 @@ impl Default for FunctionDispatcher {
#[derive(Clone, Debug, Ord, PartialOrd, Eq, PartialEq, Serialize, JsonSchema)]
#[serde(deny_unknown_fields)]
pub struct FunctionDefinition {
pub category: FunctionCategory,
pub category: Vec<FunctionCategory>,
pub name: String,
pub description: String,
#[serde(rename = "minArgs")]
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/mod_function.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Mod {
FunctionMetadata {
name: "mod".to_string(),
description: t!("functions.mod.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/mul.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Mul {
FunctionMetadata {
name: "mul".to_string(),
description: t!("functions.mul.description").to_string(),
category: FunctionCategory::Numeric,
category: vec![FunctionCategory::Numeric],
min_args: 2,
max_args: 2,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/not.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Not {
FunctionMetadata {
name: "not".to_string(),
description: t!("functions.not.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::Boolean]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/null.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Null {
FunctionMetadata {
name: "null".to_string(),
description: t!("functions.null.description").to_string(),
category: FunctionCategory::Object,
category: vec![FunctionCategory::Logical],
min_args: 0,
max_args: 0,
accepted_arg_ordered_types: vec![],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/or.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ impl Function for Or {
FunctionMetadata {
name: "or".to_string(),
description: t!("functions.or.description").to_string(),
category: FunctionCategory::Logical,
category: vec![FunctionCategory::Logical],
min_args: 2,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/parameters.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ impl Function for Parameters {
FunctionMetadata {
name: "parameters".to_string(),
description: t!("functions.parameters.description").to_string(),
category: FunctionCategory::Deployment,
category: vec![FunctionCategory::Deployment],
min_args: 1,
max_args: 1,
accepted_arg_ordered_types: vec![vec![FunctionArgKind::String]],
Expand Down
2 changes: 1 addition & 1 deletion dsc_lib/src/functions/path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ impl Function for Path {
FunctionMetadata {
name: "path".to_string(),
description: t!("functions.path.description").to_string(),
category: FunctionCategory::System,
category: vec![FunctionCategory::String],
min_args: 2,
max_args: usize::MAX,
accepted_arg_ordered_types: vec![
Expand Down
Loading
Loading