Hyperlinkv0.8.0-beta.28

DynamicConfig

DynamicConfig.extendconstsrc/DynamicConfig.ts:440
<Base extends ConfigBag<FieldsInput>, const Extra extends FieldsInput>(
  base: Base,
  extra: Extra
): Omit<Base, keyof ConfigBag<Extra>> & ConfigBag<Extra>

Extend a config by cloning the base's fields and adding more — a pure value op, no dependency. Inherited fields keep their env keys, so swapping a shared key updates every extension that points at it.

constructorsmake
export const extend = <
  Base extends ConfigBag<FieldsInput>,
  const Extra extends FieldsInput,
>(
  base: Base,
  extra: Extra,
): Omit<Base, keyof ConfigBag<Extra>> & ConfigBag<Extra> => ({
  ...base,
  ...make(extra),
});