@datastax/astra-db-ts
Version:
Data API TypeScript client
23 lines (22 loc) • 938 B
JavaScript
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
import { HeadersProvider, StaticHeadersProvider } from '../../../../lib/headers-providers/index.js';
import { isNullish } from '../../../../lib/utils.js';
import { mkWrongTypeError } from '../../../../documents/utils.js';
export class EmbeddingAPIKeyHeaderProvider extends StaticHeadersProvider {
constructor(apiKey) {
const headers = (!isNullish(apiKey))
? { 'x-embedding-api-key': apiKey }
: {};
super(headers);
}
static parse(provider, field) {
if (typeof provider === 'string' || isNullish(provider)) {
return new EmbeddingAPIKeyHeaderProvider(provider);
}
if (provider instanceof HeadersProvider) {
return provider;
}
throw mkWrongTypeError(field ?? 'embedding api key', 'string | HeadersProvider<\'embedding\'> | nullish', provider);
}
}