File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import { App } from '@slack/bolt'
2+ import { requiredString } from '@utils/env.ts'
23
34export const app = new App ( {
4- token : process . env . SLACK_BOT_TOKEN ,
5- appToken : process . env . SLACK_APP_TOKEN ,
5+ token : requiredString ( ' SLACK_BOT_TOKEN' ) ,
6+ appToken : requiredString ( ' SLACK_APP_TOKEN' ) ,
67 socketMode : true ,
78} )
Original file line number Diff line number Diff line change 1+ type EnvVarName = keyof typeof process . env
2+
3+ export function requiredString ( name : EnvVarName ) : string {
4+ const value = process . env [ name ]
5+ if ( ! value ) {
6+ throw new Error ( `${ name } is required` )
7+ }
8+
9+ return value
10+ }
11+
12+ export function positiveInt ( name : EnvVarName , defaultValue : number ) : number {
13+ const raw = process . env [ name ]
14+ if ( ! raw ) {
15+ return defaultValue
16+ }
17+
18+ const value = Number ( raw )
19+ if ( ! Number . isInteger ( value ) || value < 1 ) {
20+ throw new Error ( `${ name } must be a positive integer` )
21+ }
22+
23+ return value
24+ }
You can’t perform that action at this time.
0 commit comments