TypeScript:编写单行帮助函数的优雅方式

kiz8lqtg  于 2022-11-26  发布在  TypeScript
关注(0)|答案(1)|浏览(99)

我有一个简单的helper / util类,其中有一些一个/两个liner实用程序,我计划在代码中使用。
我正在将嵌套J/节点J与TypeScript一起使用。
我只是在想如何更好地、优雅地编写这些辅助方法,最好是用一行程序的形式。
目前为止我的尝试

import { Injectable } from '@nestjs/common';

@Injectable()
export class HelperOperations {
    static zones(region: string): string[] {
        return region.split(',', 2);
    }

    static instanceNames(name: string): string[] {
        return [`${name}-vm1`, `${name}-vm2`];
    }

    static mediatorName(name): string {
        return `${name}-mediator`;
    }

    static mediatorZone(region: string): string {
        return region.split(",").pop();
    }

    static zoneNamePair(name, region): [string, string][] {
        const zoneNamePair: [string, string][] = [];
        const zones = HelperOperations.zones(region);
        HelperOperations.instanceNames(name).map((instName, i) => zoneNamePair.push([instName, zones[i]]));
        return zoneNamePair;
    }
}

预期结果:

  • 更好的,优雅的方式来重写这个类,当然是强类型的。
nbysray5

nbysray51#

一般来说(不知道Nest),这是通过导出或名称空间完成的

export const zones = (region: string) => region.split(',', 2);

export namespace z1 {
  export const zones = (region: string) => region.split(',', 2);
}
////////////
import {zones} from './z'
import * az z0 from './z'
import {z1} from './z'

zones('a')
z0.zones('a')
z1.zones('a')

相关问题