@@ -57,14 +57,25 @@ public IEnumerable<string> AllKeys
5757 /// </summary>
5858 /// <param name="keyPath"></param>
5959 /// <returns></returns>
60- public async Task < bool > AddStaticKeyPathAsync ( string keyPath )
60+ public Task < bool > AddStaticKeyPathAsync ( string keyPath ) => AddStaticKeyPathAsync ( keyPath , singleKey : false ) ;
61+
62+ public async Task < bool > AddStaticKeyPathAsync ( string keyPath , bool singleKey )
6163 {
62- keyPath = _source . FormValidKey ( keyPath ) ;
63- return ( await AddInitialKeyPathAsync ( keyPath ) ) > - 1 ;
64+ keyPath = _source . FormValidKey ( keyPath , dontPreifxStart : singleKey ) ;
65+ return ( await AddInitialKeyPathAsync ( keyPath , singleKey ) ) > - 1 ;
6466 }
6567
66- private async Task < int > AddInitialKeyPathAsync ( string keyPath )
68+ private async Task < int > AddInitialKeyPathAsync ( string keyPath , bool singleKey )
6769 {
70+ if ( singleKey )
71+ {
72+ var key = await _source . GetKeyAsync ( keyPath ) ;
73+ var keyNameSplit = keyPath . Split ( '/' ) ;
74+ var keyName = keyNameSplit [ keyNameSplit . Length - 1 ] ;
75+ var keyValue = System . Text . Encoding . UTF8 . GetString ( Convert . FromBase64String ( key . value ) ) ;
76+ AddNewDictionaryToList ( new Dictionary < string , string > ( ) { [ keyName ] = keyValue } ) ;
77+ }
78+
6879 var response = await _source . GetKeysAsync ( keyPath ) ;
6980
7081 if ( ! response . Success )
@@ -83,7 +94,7 @@ private async Task<int> AddInitialKeyPathAsync(string keyPath)
8394 public async Task AddUpdatingPathAsync ( string keyPath )
8495 {
8596 keyPath = _source . FormValidKey ( keyPath ) ;
86- var initialDictionary = await AddInitialKeyPathAsync ( keyPath ) ;
97+ var initialDictionary = await AddInitialKeyPathAsync ( keyPath , singleKey : false ) ;
8798 if ( initialDictionary == - 1 )
8899 {
89100 var newDictionary = new Dictionary < string , string > ( ) ;
0 commit comments