Цепные константы машинописи с отрицательной функцией - PullRequest
0 голосов
/ 12 мая 2018

Я работаю в Typescript 2.8.1 и хочу сгруппировать мои константы в общий файл, похожий на файл включения на других языках.Хотя это прямо, я пытаюсь объединить некоторые методы для работы со значениями и не могу заставить его работать.

РЕДАКТИРОВАТЬ: Нужен возврат по умолчанию для простоты и исправьте мою первоначальную проблему не возврата объекта.

Например, у меня есть числа от 1 до 10 в качестве определенных констант:

export enum CONSTANTS {
    ONE = 1, TWO, ... TEN
}

Я хочу иметь возможность использовать их в коде, например CONSTANTS.FIVE для числа 5, но также и иметь возможность, возможно, сделать CONSTANTS.NEGATIVE.FIVE, чтобы получить -5.

Япытаюсь использовать цепочечные методы, но мне кажется, что мне нужно определить исходные перечисления как отдельные методы, которые возвращают значение.

export class CONSTANTS {
    private Value_:number;

    public constructor() {
        this.Value_ = 0;
    }
    public ONE() {
        this.Value_ = 1;
        return this;
    }
    public TWO() {
        this.Value_ = 2;
        return this;
    }
    public NEGATIVE() {
        this.Value_ = this.Value_ * -1;
        return this;
    }
    public GetValue() {
        return this.Value_;    // This is the function I want to default to at the end
}

value = new CONSTANTS().ONE().NEGATIVE();        // Trying for -1

Оставляя GetValue ();возвращает объект.

1 Ответ

0 голосов
/ 12 мая 2018

В качестве альтернативы и для упрощения вашего кода вы можете использовать отрицательный унарный оператор:

export enum CONSTANTS {
    ONE = 1, TWO = 2, ... TEN
}

//**//

console.log(-CONSTANTS.TWO)
...