getBuilder static method
Implementation
static UpdateVerbBuilder? getBuilder(String command) {
if (command != command.trim()) {
throw IllegalArgumentException(
'Commands may not have leading or trailing whitespace');
}
var builder = UpdateVerbBuilder();
HashMap<String, String?>? verbParams;
if (command.contains(AtConstants.updateMeta)) {
verbParams = VerbUtil.getVerbParam(VerbSyntax.update_meta, command);
builder.operation = AtConstants.updateMeta;
} else {
verbParams = VerbUtil.getVerbParam(VerbSyntax.update, command);
}
if (verbParams == null) {
return null;
}
builder.isPublic = verbParams[AtConstants.publicScopeParam] == 'public';
builder.sharedWith =
VerbUtil.formatAtSign(verbParams[AtConstants.forAtSign]);
builder.sharedBy = VerbUtil.formatAtSign(verbParams[AtConstants.atSign]);
builder.atKey = verbParams[AtConstants.atKey];
builder.value = verbParams[AtConstants.atValue];
if (builder.value is String) {
builder.value = VerbUtil.replaceNewline(builder.value);
}
if (verbParams[AtConstants.ttl] != null) {
builder.ttl = int.parse(verbParams[AtConstants.ttl]!);
}
if (verbParams[AtConstants.ttb] != null) {
builder.ttb = int.parse(verbParams[AtConstants.ttb]!);
}
if (verbParams[AtConstants.ttr] != null) {
builder.ttr = int.parse(verbParams[AtConstants.ttr]!);
}
if (verbParams[AtConstants.ccd] != null) {
builder.ccd = _getBoolVerbParams(verbParams[AtConstants.ccd]!);
}
builder.dataSignature = verbParams[AtConstants.publicDataSignature];
if (verbParams[AtConstants.isBinary] != null) {
builder.isBinary = _getBoolVerbParams(verbParams[AtConstants.isBinary]!);
}
if (verbParams[AtConstants.isEncrypted] != null) {
builder.isEncrypted =
_getBoolVerbParams(verbParams[AtConstants.isEncrypted]!);
}
builder.sharedKeyEncrypted = verbParams[AtConstants.sharedKeyEncrypted];
builder.pubKeyChecksum =
verbParams[AtConstants.sharedWithPublicKeyCheckSum];
builder.sharedKeyStatus = verbParams[AtConstants.sharedKeyStatus];
builder.encoding = verbParams[AtConstants.encoding];
builder.encKeyName = verbParams[AtConstants.encryptingKeyName];
builder.encAlgo = verbParams[AtConstants.encryptingAlgo];
builder.ivNonce = verbParams[AtConstants.ivOrNonce];
builder.skeEncKeyName =
verbParams[AtConstants.sharedKeyEncryptedEncryptingKeyName];
builder.skeEncAlgo =
verbParams[AtConstants.sharedKeyEncryptedEncryptingAlgo];
builder.value = verbParams[AtConstants.value];
return builder;
}