I can't believe its not an integer parser
(now with more integer parsing) on a serious note: - adds integer to string parsing (because thats not dangerous at all) - adds a container spec generator for OCI containers using a custom template Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
		| @@ -56,5 +56,32 @@ | |||||||
|     # type: |     # type: | ||||||
|     # fileList :: Path -> String -> [Path] |     # fileList :: Path -> String -> [Path] | ||||||
|     fileList = dir: map (file: dir + "/${file}") (ls dir); |     fileList = dir: map (file: dir + "/${file}") (ls dir); | ||||||
|  |     createContainers = | ||||||
|  |       containers: container-spec: | ||||||
|  |       builtins.listToAttrs ( | ||||||
|  |         lib.flatten ( | ||||||
|  |           lib.mapAttrsToList ( | ||||||
|  |             name: value: | ||||||
|  |             (map (num: { | ||||||
|  |               name = "${name}-${parseInt num}"; | ||||||
|  |               value = container-spec value.image; | ||||||
|  |             }) (lib.lists.range 1 value.scale)) | ||||||
|  |           ) containers | ||||||
|  |         ) | ||||||
|  |       ); | ||||||
|  |  | ||||||
|  |     parseInt = | ||||||
|  |       num: | ||||||
|  |       let | ||||||
|  |         digits = "0123456789"; | ||||||
|  |         mod = num: (lib.trivial.mod num 10); | ||||||
|  |       in | ||||||
|  |       if num > 9 then | ||||||
|  |         ((parseInt (builtins.div num 10)) + (lib.substring (mod num) 1 digits)) | ||||||
|  |       else if num < 0 then | ||||||
|  |         "-" + (parseInt (builtins.mul num (-1))) | ||||||
|  |       else | ||||||
|  |         lib.substring (mod num) 1 digits; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user