helpers.ts 765 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Time in seconds
  2. export type TimestampInSec = number;
  3. export type DurationInSec = number;
  4. export type DurationInMs = number;
  5. export function sleep(ms: number) {
  6. return new Promise((resolve) => setTimeout(resolve, ms));
  7. }
  8. // Shorthand for optional/mandatory envs
  9. export function envOrErr(env: string): string {
  10. const val = process.env[env];
  11. if (!val) {
  12. throw new Error(`environment variable "${env}" must be set`);
  13. }
  14. return String(process.env[env]);
  15. }
  16. export function parseToOptionalNumber(
  17. s: string | undefined
  18. ): number | undefined {
  19. if (s === undefined) {
  20. return undefined;
  21. }
  22. return parseInt(s, 10);
  23. }
  24. export function removeLeading0x(s: string): string {
  25. if (s.startsWith("0x")) {
  26. return s.substring(2);
  27. }
  28. return s;
  29. }