]> Dogcows Code - chaz/p5-File-KDBX/blobdiff - lib/File/KDBX/Constants.pm
Move iteration code into Group
[chaz/p5-File-KDBX] / lib / File / KDBX / Constants.pm
index 6eea0ef01cfb2f80bc877cc3a4ba5aa329bb3fac..a099ec8517f75909ac4ff700ec943a33aaffbaea 100644 (file)
@@ -129,6 +129,11 @@ BEGIN {
             DEFAULT_MAX_ITEMS   => 10,
             DEFAULT_MAX_SIZE    => 6_291_456, # 6 M
         },
+        iteration   => {
+            ITERATION_BFS   => dualvar(1, 'bfs'),
+            ITERATION_DFS   => dualvar(2, 'dfs'),
+            ITERATION_IDS   => dualvar(3, 'ids'),
+        },
         icon        => {
             __prefix            => 'ICON',
             PASSWORD            => dualvar(  0, 'Password'),
@@ -291,13 +296,13 @@ for my $header (
 ) {
     $HEADER{$header} = $HEADER{0+$header} = $header;
 }
-sub to_header_constant { $HEADER{$_[0]} }
+sub to_header_constant { $HEADER{$_[0] // ''} }
 
 my %COMPRESSION;
 for my $compression (COMPRESSION_NONE, COMPRESSION_GZIP) {
     $COMPRESSION{$compression} = $COMPRESSION{0+$compression} = $compression;
 }
-sub to_compression_constant { $COMPRESSION{$_[0]} }
+sub to_compression_constant { $COMPRESSION{$_[0] // ''} }
 
 my %INNER_HEADER;
 for my $inner_header (
@@ -306,7 +311,7 @@ for my $inner_header (
 ) {
     $INNER_HEADER{$inner_header} = $INNER_HEADER{0+$inner_header} = $inner_header;
 }
-sub to_inner_header_constant { $INNER_HEADER{$_[0]} }
+sub to_inner_header_constant { $INNER_HEADER{$_[0] // ''} }
 
 my %ICON;
 for my $icon (
@@ -529,6 +534,15 @@ Constants for history-related default values:
 = C<HISTORY_DEFAULT_MAX_ITEMS>
 = C<HISTORY_DEFAULT_MAX_SIZE>
 
+=head2 :iteration
+
+Constants for searching algorithms.
+
+=for :list
+= C<ITERATION_IDS> - Iterative deepening search
+= C<ITERATION_BFS> - Breadth-first search
+= C<ITERATION_DFS> - Depth-first search
+
 =head2 :icon
 
 Constants for default icons used by KeePass password safe implementations:
This page took 0.0222 seconds and 4 git commands to generate.