diff --git a/src/env.ts b/src/env.ts index 6edc9e0..2d0485c 100644 --- a/src/env.ts +++ b/src/env.ts @@ -16,7 +16,7 @@ async function from_file(path: string): Promise> { log.debug('Read a key from a file') log.trace('Path :', path) - let content = await get_file_content(path) + const content = await get_file_content(path) if (!content.ok) return content content.data = content.data.trim() diff --git a/src/parsing.ts b/src/parsing.ts index 7ddb57f..cae62e4 100644 --- a/src/parsing.ts +++ b/src/parsing.ts @@ -19,12 +19,12 @@ export async function object>( for (const key in schema.fields) { const sub_key = base_name + key.toUpperCase() - const sub_scheme = schema.fields[key] + const sub_scheme = schema.fields[key] as yup.AnySchema let value: Ok - // TODO : If array, add a transform - if (sub_scheme.describe().type === 'object') { - value = await object(sub_scheme, sub_key) + const type = sub_scheme.describe().type + if (type === 'object') { + value = await object(sub_scheme as yup.ObjectSchema>, sub_key) } else { value = await generic(sub_scheme, sub_key) } diff --git a/test/all.test.ts b/test/all.test.ts index 6f23c85..f19cb95 100644 --- a/test/all.test.ts +++ b/test/all.test.ts @@ -8,7 +8,7 @@ import {parse} from '../src' beforeEach(() => process.env = {}) -async function testing(value: string | undefined, scheme: yup.AnySchema, should_be_successful: boolean, data?: any) { +async function testing(value: string | undefined, scheme: yup.AnySchema, should_be_successful: boolean, data?: unknown) { const key = 'DB_PORT' if (value !== undefined) process.env[key] = value @@ -126,7 +126,7 @@ describe('from_file', () => { file = undefined }) - async function testing(value: string | undefined, scheme: yup.AnySchema, should_be_successful: boolean, data?: any) { + async function testing(value: string | undefined, scheme: yup.AnySchema, should_be_successful: boolean, data?: unknown) { file = fileSync() const name = file.name @@ -182,7 +182,7 @@ describe('boolean', () => { // Read specific types describe('Date', () => { - async function testing(value: string | undefined, scheme: yup.DateSchema, should_be_successful: boolean, data?: any) { + async function testing(value: string | undefined, scheme: yup.DateSchema, should_be_successful: boolean, data?: unknown) { const key = 'DB_PORT' if (value !== undefined) process.env[key] = value