Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / node_modules / @grpc / grpc-js / build / src / call-credentials.js
1 "use strict";
2 Object.defineProperty(exports, "__esModule", { value: true });
3 const metadata_1 = require("./metadata");
4 /**
5  * A class that represents a generic method of adding authentication-related
6  * metadata on a per-request basis.
7  */
8 class CallCredentials {
9     /**
10      * Creates a new CallCredentials object from a given function that generates
11      * Metadata objects.
12      * @param metadataGenerator A function that accepts a set of options, and
13      * generates a Metadata object based on these options, which is passed back
14      * to the caller via a supplied (err, metadata) callback.
15      */
16     static createFromMetadataGenerator(metadataGenerator) {
17         return new SingleCallCredentials(metadataGenerator);
18     }
19     static createEmpty() {
20         return new EmptyCallCredentials();
21     }
22 }
23 exports.CallCredentials = CallCredentials;
24 class ComposedCallCredentials extends CallCredentials {
25     constructor(creds) {
26         super();
27         this.creds = creds;
28     }
29     async generateMetadata(options) {
30         const base = new metadata_1.Metadata();
31         const generated = await Promise.all(this.creds.map((cred) => cred.generateMetadata(options)));
32         for (const gen of generated) {
33             base.merge(gen);
34         }
35         return base;
36     }
37     compose(other) {
38         return new ComposedCallCredentials(this.creds.concat([other]));
39     }
40 }
41 class SingleCallCredentials extends CallCredentials {
42     constructor(metadataGenerator) {
43         super();
44         this.metadataGenerator = metadataGenerator;
45     }
46     generateMetadata(options) {
47         return new Promise((resolve, reject) => {
48             this.metadataGenerator(options, (err, metadata) => {
49                 if (metadata !== undefined) {
50                     resolve(metadata);
51                 }
52                 else {
53                     reject(err);
54                 }
55             });
56         });
57     }
58     compose(other) {
59         return new ComposedCallCredentials([this, other]);
60     }
61 }
62 class EmptyCallCredentials extends CallCredentials {
63     generateMetadata(options) {
64         return Promise.resolve(new metadata_1.Metadata());
65     }
66     compose(other) {
67         return other;
68     }
69 }
70 //# sourceMappingURL=call-credentials.js.map