mirror of https://github.com/grpc/grpc-node.git
Added comments
This commit is contained in:
parent
ac1bb50f7e
commit
72f4bf4795
|
|
@ -81,15 +81,32 @@ function validate(key: string, value?: MetadataValue): void {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A class for storing metadata. Keys are normalized to lowercase ASCII.
|
||||
*/
|
||||
export class Metadata {
|
||||
constructor(private readonly internalRepr: MetadataObject = {}) {}
|
||||
|
||||
/**
|
||||
* Sets the given value for the given key by replacing any other values
|
||||
* associated with that key. Normalizes the key.
|
||||
* @param key The key to whose value should be set.
|
||||
* @param value The value to set. Must be a buffer if and only
|
||||
* if the normalized key ends with '-bin'.
|
||||
*/
|
||||
set(key: string, value: MetadataValue): void {
|
||||
key = normalizeKey(key);
|
||||
validate(key, value);
|
||||
this.internalRepr[key] = [value];
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the given value for the given key by appending to a list of previous
|
||||
* values associated with that key. Normalizes the key.
|
||||
* @param key The key for which a new value should be appended.
|
||||
* @param value The value to add. Must be a buffer if and only
|
||||
* if the normalized key ends with '-bin'.
|
||||
*/
|
||||
add(key: string, value: MetadataValue): void {
|
||||
key = normalizeKey(key);
|
||||
validate(key, value);
|
||||
|
|
@ -100,6 +117,10 @@ export class Metadata {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the given key and any associated values. Normalizes the key.
|
||||
* @param key The key whose values should be removed.
|
||||
*/
|
||||
remove(key: string): void {
|
||||
key = normalizeKey(key);
|
||||
validate(key);
|
||||
|
|
@ -108,6 +129,11 @@ export class Metadata {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of all values associated with the key. Normalizes the key.
|
||||
* @param key The key whose value should be retrieved.
|
||||
* @return A list of values associated with the given key.
|
||||
*/
|
||||
get(key: string): Array<MetadataValue> {
|
||||
key = normalizeKey(key);
|
||||
validate(key);
|
||||
|
|
@ -118,6 +144,11 @@ export class Metadata {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a plain object mapping each key to the first value associated with it.
|
||||
* This reflects the most common way that people will want to see metadata.
|
||||
* @return A key/value mapping of the metadata.
|
||||
*/
|
||||
getMap(): { [key: string]: MetadataValue } {
|
||||
const result: { [key: string]: MetadataValue } = {};
|
||||
forOwn(this.internalRepr, function(values, key) {
|
||||
|
|
@ -129,6 +160,10 @@ export class Metadata {
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clones the metadata object.
|
||||
* @return The newly cloned object.
|
||||
*/
|
||||
clone(): Metadata {
|
||||
return new Metadata(cloneMetadataObject(this.internalRepr));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue