11import type { ConstructiveOptions } from '@constructive-io/graphql-types' ;
2+ import { parseEnvNumber } from '@pgpmjs/env' ;
23
34/**
45 * Parse GraphQL-related environment variables.
@@ -9,19 +10,6 @@ const parseEnvBoolean = (val?: string): boolean | undefined => {
910 return [ 'true' , '1' , 'yes' ] . includes ( val . toLowerCase ( ) ) ;
1011} ;
1112
12- const parseEnvInteger = ( name : string , val ?: string ) : number | undefined => {
13- if ( val === undefined ) return undefined ;
14- const trimmed = val . trim ( ) ;
15- if ( ! / ^ \d + $ / . test ( trimmed ) ) {
16- throw new Error ( `${ name } must be an integer` ) ;
17- }
18- const parsed = Number . parseInt ( trimmed , 10 ) ;
19- if ( ! Number . isSafeInteger ( parsed ) || parsed <= 0 ) {
20- throw new Error ( `${ name } must be a positive safe integer` ) ;
21- }
22- return parsed ;
23- } ;
24-
2513/**
2614 * @param env - Environment object to read from (defaults to process.env for backwards compatibility)
2715 */
@@ -100,7 +88,7 @@ export const getGraphQLEnvVars = (env: NodeJS.ProcessEnv = process.env): Partial
10088 ...( SMS_PROVIDER && { provider : SMS_PROVIDER } ) ,
10189 ...( SMS_SENDER_ID && { senderId : SMS_SENDER_ID } ) ,
10290 ...( SMS_REQUEST_TIMEOUT_MS && {
103- requestTimeoutMs : parseEnvInteger ( 'SMS_REQUEST_TIMEOUT_MS' , SMS_REQUEST_TIMEOUT_MS )
91+ requestTimeoutMs : parseEnvNumber ( SMS_REQUEST_TIMEOUT_MS )
10492 } ) ,
10593 ...( SEND_SMS_DRY_RUN && { dryRun : parseEnvBoolean ( SEND_SMS_DRY_RUN ) } ) ,
10694 ...( DEVSMS_BASE_URL && {
0 commit comments