# Function program

- program(settings: Partial<Components> & Configuration): Promise<Program>

- Build a webnative program.

  This will give you a `Program` object which has the following properties:

  - `session`, a `Session` object if a session was created before.
  - `auth`, a means to control the various auth strategies you configured. Use this to create sessions. Read more about auth components in the toplevel `auth` object documention.
  - `capabilities`, a means to control capabilities. Use this to collect & request capabilities, and to create a session based on them. Read more about capabilities in the toplevel `capabilities` object documentation.
  - `components`, your full set of `Components`.

  This object also has a few other functions, for example to load a filesystem. These are called "shorthands" because they're the same functions available through other places in webnative, but you don't have to pass in the components.

  See `assemble` for more information.

  #### Parameters

  - ##### settings: Partial<Components> & Configuration

  #### Returns Promise<Program>

  - Defined in index.ts:151

Generated using TypeDoc