1.0.5 • Published 2 years ago

@eonix/configloader v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

ConfigLoader

ConfigLoader is a react component built to load a config file as JSON to have one build for multiple environments

Installation

Just run the command npm install @eonix/configloader

And use it with a simple import

import ConfigLoader from "@eonix/configloader"

Using the component

Look at the main.tsx file. It blocks the render of the app while configs are not loaded

<ConfigLoader<GenericType>>
    {/* children here */}
</ConfigLoader>

If a generic type is used, the loadedConfigs object will of this type. If no type provided, then the loadedConfigs will be of type object.

import {useConfigs} from "./hooks";

function Component() {
    const configs = useConfigs<GenericType>();
}

If you use the provided hook with a generic type, the returned object will be of the generic type. If no type are provided, then it will be of type object

Props

  • onConfigLoaded
(loadedConfigs: object) => Promise<void> | void

a callback function that take the loaded configs as a parameter. If it returns a promise, it will be awaited

  • loader React.Node
    The component showed when the request is pending
  • error
(err: TypeError) => React.Node

a callback function if the config loading return an error. Gets the error thrown.

  • url string The url used to load the configs json file

Using the configs

There is 3 ways of using the loaded configs built in the component but you can use some other by using the onLoadedConfigs callback

  • Using the context ConfigsContext that contain the loaded configs object
  • Using the hook useConfigs that allow you to pass a generic type
  • using the config object exported from the component

Auteurs

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.0

2 years ago