@avanio/variable-util
    Preparing search index...

    Class ConfigMap<Data>

    ConfigMap

    type ConfigEnv = {
    PORT: number;
    HOST: string;
    DEBUG: boolean;
    URL: URL;
    };
    const config = new ConfigMap<ConfigEnv>({
    DEBUG: {loaders: [env()], parser: booleanParser, defaultValue: false},
    HOST: {loaders: [env()], parser: stringParser, defaultValue: 'localhost'},
    PORT: {loaders: [env()], parser: integerParser, defaultValue: 3000},
    URL: {loaders: [env()], parser: new UrlParser({urlSanitize: true}), defaultValue: new URL('http://localhost:3000')},
    });
    console.log('port', await config.get('PORT'));

    v1.1.0

    Type Parameters

    • Data extends Record<string, unknown>

      type of config map

    Implements

    • ISetOptionalLogger
    Index

    Constructors

    Methods

    • get env value from config map

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<Data[Key]>

      Promise of value or undefined

      const port: number = await config.get('PORT');
      
    • get all env value objects from config map

      Returns Promise<TypeValueRecords<Data>>

      Promise of all values

      const values: TypeValueRecords<Data> = await config.getAll();
      console.log(values.PORT.type, values.PORT.value); // 'env', 3000
    • get all env values from config map as string

      Parameters

      Returns Promise<Record<keyof Data, string>>

      Promise of all values as string

      const values: Record<keyof Data, string> = await config.getAllStringValues();
      console.log('PORT', values.PORT); // '3000' (string)
    • get all env values from config map

      Returns Promise<Data>

      Promise of all values

      const values: Data = await config.getAllValues();
      console.log('PORT', values.PORT); // 3000 (number)
    • get env object from config map

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<LoaderTypeValueStrict<Data[Key]>>

      Promise of env object or undefined

      const valueObject: LoaderTypeValue<number> = await config.getObject('PORT');
      console.log(valueObject.type, valueObject.value); // 'env', 3000
    • get env object from config map as Result

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<IResult<LoaderTypeValueStrict<Data[Key]>>>

      Result Promise of env object or undefined

      const valueObject: Result<LoaderTypeValue<number>> = await config.getObjectResult('PORT');
      if (valueObject.isOk()) {
      const {type, value} = valueObject.ok();
      console.log(type, value); // 'env', 3000
      }
    • get env value from config map as Result

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<IResult<Data[Key]>>

      Result Promise of value or undefined

      const port: Result<number> = await config.getResult('PORT');
      if (port.isOk()) {
      console.log('port', port.ok());
      }
    • get env value as string from config map

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<undefined extends Data[Key] ? string | undefined : string>

      Promise of string value or undefined

      const port: string = await config.getString('PORT');
      
    • get env value as string from config map as Result

      Type Parameters

      • Key extends string | number | symbol = keyof Data

      Parameters

      • key: Key

        key of config map

      • OptionalencodeOptions: EncodeOptions

        optional encode options

      Returns Promise<IResult<undefined extends Data[Key] ? string | undefined : string>>

      Result Promise of string value or undefined

      const port: Result<string> = await config.getStringResult('PORT');
      if (port.isOk()) {
      console.log('port', port.ok());
      }
    • Set logger value

      Parameters

      • logger: undefined | ILoggerLike

        logger like object

      Returns void

    • Validate all env values from config map, expect to throw error if error exists

      Parameters

      • callback: (data: Data) => void

        callback function

      Returns Promise<void>