private JToken ScrubTokenValue()

in CosmosClone/CosmosCloneCommon/Utility/ObjectScrubber.cs [277:311]


        private JToken ScrubTokenValue(RuleType? ruleType, JToken tokenToBeScrubbed, string overwriteValue)
        {
            if (ruleType.HasValue)
            {
                var oldValue = tokenToBeScrubbed.ToString();
                if (ruleType == RuleType.PartialMaskFromLeft)
                {
                    if (overwriteValue.Length >= oldValue.Length)
                    {
                        tokenToBeScrubbed = overwriteValue;
                    }
                    else
                    {
                        tokenToBeScrubbed = string.Concat(overwriteValue, oldValue.Remove(0, overwriteValue.Length));
                    }
                }
                else if (ruleType == RuleType.PartialMaskFromRight)
                {
                    if (overwriteValue.Length >= oldValue.Length)
                    {
                        tokenToBeScrubbed = overwriteValue;
                    }
                    else
                    {
                        tokenToBeScrubbed = string.Concat(oldValue.Remove(oldValue.Length - overwriteValue.Length, overwriteValue.Length), overwriteValue);
                    }
                }
                else
                {
                    tokenToBeScrubbed = overwriteValue;
                }
            }

            return tokenToBeScrubbed;
        }