Future<String> get id async { if (!hasFile) { throw ILPConfigException(message: 'layer_no_file'); } if (!(await File(file!).exists())) { throw ILPConfigException(message: 'layer_file_not_exists'); } return fileSha1(File(file!)); }