common-stuff
    Preparing search index...

    Function convertToNested

    • Parse one level object to nested structure based on key separator

      Type Parameters

      • T = Record<string, unknown>

      Parameters

      • array: Record<string, unknown>
      • Optionaloptions: {
            separator?: string;
            transformKey?: (value: string) => string;
            transformValue?: (value: unknown) => unknown;
        }
        • Optionalseparator?: string

          Key separator, default .

        • OptionaltransformKey?: (value: string) => string

          Key transform function, e.g. camelCase or pascalCase

        • OptionaltransformValue?: (value: unknown) => unknown

          Value transform function, by default JSON.parse is used.

      Returns T

      // ENV: config__host=0.0.0.0 config__port=3000
      convertToNested(process.env, { separator: '__' })
      // {config: { host: '0.0.0.0', port: 3000 } }

      // ENV: CONFIG__PRIVATE_KEY="my key"
      // ENV: CONFIG__PUBLIC_KEY="my key"
      // ENV: CONFIG__ALLOWED_IPS='["127.0.0.1", "localhost"]'
      convertToNested(process.env, {
      separator: '__',
      transformKey: camelCase
      }).config
      // { privateKey: 'my key', publicKey: 'my key', allowedIps: ['127.0.0.1', 'localhost'] }