{"version":3,"file":"comparisonTypeOptions.js","sources":["../../../../Framework/Core/Reporting/comparisonTypeOptions.ts"],"sourcesContent":["// Copyright by the Spark Development Network\n//\n// Licensed under the Rock Community License (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.rockrms.com/license\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// \n//\n\nimport { toNumber } from \"@Obsidian/Utility/numberUtils\";\nimport { ListItemBag } from \"@Obsidian/ViewModels/Utility/listItemBag\";\nimport { getComparisonName } from \"./comparisonType\";\nimport { ComparisonType } from \"@Obsidian/Enums/Reporting/comparisonType\";\n\n/**\n * The full list of comparison type options that can be used in pickers.\n */\nexport const comparisonTypeOptions: ListItemBag[] = [\n {\n value: ComparisonType.EqualTo.toString(),\n text: getComparisonName(ComparisonType.EqualTo)\n },\n {\n value: ComparisonType.NotEqualTo.toString(),\n text: getComparisonName(ComparisonType.NotEqualTo)\n },\n {\n value: ComparisonType.Contains.toString(),\n text: getComparisonName(ComparisonType.Contains)\n },\n {\n value: ComparisonType.DoesNotContain.toString(),\n text: getComparisonName(ComparisonType.DoesNotContain)\n },\n {\n value: ComparisonType.IsBlank.toString(),\n text: getComparisonName(ComparisonType.IsBlank)\n },\n {\n value: ComparisonType.IsNotBlank.toString(),\n text: getComparisonName(ComparisonType.IsNotBlank)\n },\n {\n value: ComparisonType.GreaterThan.toString(),\n text: getComparisonName(ComparisonType.GreaterThan)\n },\n {\n value: ComparisonType.GreaterThanOrEqualTo.toString(),\n text: getComparisonName(ComparisonType.GreaterThanOrEqualTo)\n },\n {\n value: ComparisonType.LessThan.toString(),\n text: getComparisonName(ComparisonType.LessThan)\n },\n {\n value: ComparisonType.LessThanOrEqualTo.toString(),\n text: getComparisonName(ComparisonType.LessThanOrEqualTo)\n },\n {\n value: ComparisonType.StartsWith.toString(),\n text: getComparisonName(ComparisonType.StartsWith)\n },\n {\n value: ComparisonType.EndsWith.toString(),\n text: getComparisonName(ComparisonType.EndsWith)\n },\n {\n value: ComparisonType.Between.toString(),\n text: getComparisonName(ComparisonType.Between)\n },\n {\n value: ComparisonType.RegularExpression.toString(),\n text: getComparisonName(ComparisonType.RegularExpression)\n }\n];\n\n/**\n * Gets the comparison type options that match the provides comparison type values.\n *\n * @param comparisonTypes The comparison type values to include in the list of options.\n *\n * @returns A filtered collection of ListItem objects that contain only the comparison types specified.\n */\nexport function getFilteredComparisonTypeOptions(...comparisonTypes: ComparisonType[]): ListItemBag[] {\n let realComparisonTypes: ComparisonType = 0;\n\n for (const comparisonType of comparisonTypes) {\n realComparisonTypes |= comparisonType;\n }\n\n return comparisonTypeOptions.filter(c => {\n return (realComparisonTypes & toNumber(c.value)) !== 0;\n });\n}\n"],"names":["comparisonTypeOptions","value","ComparisonType","EqualTo","toString","text","getComparisonName","NotEqualTo","Contains","DoesNotContain","IsBlank","IsNotBlank","GreaterThan","GreaterThanOrEqualTo","LessThan","LessThanOrEqualTo","StartsWith","EndsWith","Between","RegularExpression","getFilteredComparisonTypeOptions","realComparisonTypes","_len","arguments","length","comparisonTypes","Array","_key","_i","_comparisonTypes","comparisonType","filter","c","toNumber"],"mappings":"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"}