DataConnectorConfig
is a versatile class designed to manage generic data connector configurations in JavaScript/TypeScript applications. It provides a flexible way to define, manipulate, validate, and serialize configurations for various data connectors.
You can install @data-master/data-connector-config
via npm or yarn:
npm install @data-master/data-connector-config
Here's how you can use DataConnectorConfig
in your project:
import { DataConnectorConfig } from '@data-master/data-connector-config';
// Create a new DataConnectorConfig instance
const config = new DataConnectorConfig({
endpoint: 'https://example.com/api',
timeout: 5000,
nestedConfig: new DataConnectorConfig({
nestedOption: 'value'
})
});
// Validate the configuration
if (config.validate(['endpoint'])) {
console.log('Configuration is valid');
} else {
console.error('Configuration is invalid');
}
// Convert configuration to JSON
const jsonConfig = config.toJSON();
console.log(jsonConfig);
// Get configuration values
console.log(config.getConfig('endpoint'));
// Set configuration values
config.setConfig('newOption', 'newValue');
-
config
: An optional object representing initial configuration values. -
options
: An optional array of strings representing available configuration options. -
validate
: An optional boolean indicating whether to validate configuration options.
Set available options for configuration.
-
options
: An array of strings representing available options for configuration.
Set configuration options.
-
config
: An object representing the configuration. -
validate
: An optional boolean indicating whether to validate configuration options.
Set a configuration option.
-
key
: The configuration option key. -
value
: The configuration option value. -
validate
: An optional boolean indicating whether to validate configuration options.
Get the configuration for the specified key.
-
key
: The configuration option key.
Get all configurations.
Convert the configuration to JSON.
Validate the configuration.
-
requiredFields
: An optional array of strings representing required fields. -
ignoreExtra
: An optional boolean indicating whether to ignore extra fields.
The MongoDBConfig
class represents configuration for a MongoDB data connector. It extends DataConnectorConfig
and provides specific getters and setters for MongoDB-related options.
import { MongoDBConfig } from '@data-master/data-connector-config';
const mongoConfig = new MongoDBConfig({
username: 'user',
password: 'pass',
host: 'localhost',
port: 27017
});
The MySQLConfig
class represents configuration for a MySQL data connector. It extends DataConnectorConfig
and provides specific getters and setters for MySQL-related options.
import { MySQLConfig } from '@data-master/data-connector-config';
const mysqlConfig = new MySQLConfig({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydb'
});
The SnowflakeConfig
class represents configuration for a Snowflake data connector. It extends DataConnectorConfig
and provides specific getters and setters for Snowflake-related options.
import { SnowflakeConfig } from '@data-master/data-connector-config';
const snowflakeConfig = new SnowflakeConfig({
username: 'user',
password: 'pass',
account: 'account-name',
host: 'hostname.snowflakecomputing.com',
database: 'mydb',
schema: 'public'
});
This project is licensed under the GNU Affero General Public License v3.