Как экспортировать ENUM из NPM модуля - PullRequest
0 голосов
/ 25 марта 2020

Я строю модуль NPM для импорта в мои проекты. Для тестирования я использую ссылку npm для связи с разрабатываемым модулем.

Я пытаюсь экспортировать ENUM.

enums.ts

export const enum PlayActions {
startGame = "START_GAME",
displayQuestion = "DISPLAY_QUESTION",
clearQuestion = "CLEAR_QUESTION",
displayFollowUp = "DISPLAY_FOLLOWUP",
endGame = "END_GAME",
addPlayer = "ADD_PLAYER",
removePlayer = "REMOVE_PLAYER",
disconnected = "DISCONNECTED",
resetGame = "RESET_GAME"
}

index.ts -

import Plearnit, { ConnectionTypes } from './Plearnit';
import { PlayActions } from './enums';
import ActionDTO from './dto/ActionDTO';
import AnswerDTO from './dto/AnswerDTO';
import GameDTO from './dto/GameDTO';
import LibraryDTO from './dto/LibraryDTO';
import PlayLoginDTO from './dto/PlayLoginDTO';
import QuestionDTO from './dto/QuestionDTO';


export { Plearnit, PlayActions, ConnectionTypes, ActionDTO, AnswerDTO, GameDTO, LibraryDTO, 
PlayLoginDTO, QuestionDTO }

После трассировки я получаю следующие файлы:

index. js -

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Plearnit_1 = __importDefault(require("./Plearnit"));
exports.Plearnit = Plearnit_1.default;
const ActionDTO_1 = __importDefault(require("./dto/ActionDTO"));
exports.ActionDTO = ActionDTO_1.default;
const AnswerDTO_1 = __importDefault(require("./dto/AnswerDTO"));
exports.AnswerDTO = AnswerDTO_1.default;
const GameDTO_1 = __importDefault(require("./dto/GameDTO"));
exports.GameDTO = GameDTO_1.default;
const LibraryDTO_1 = __importDefault(require("./dto/LibraryDTO"));
exports.LibraryDTO = LibraryDTO_1.default;
const PlayLoginDTO_1 = __importDefault(require("./dto/PlayLoginDTO"));
exports.PlayLoginDTO = PlayLoginDTO_1.default;
const QuestionDTO_1 = __importDefault(require("./dto/QuestionDTO"));
exports.QuestionDTO = QuestionDTO_1.default;

index.d.ts -

import Plearnit, { ConnectionTypes } from './Plearnit';
import { PlayActions } from './enums';
import ActionDTO from './dto/ActionDTO';
import AnswerDTO from './dto/AnswerDTO';
import GameDTO from './dto/GameDTO';
import LibraryDTO from './dto/LibraryDTO';
import PlayLoginDTO from './dto/PlayLoginDTO';
import QuestionDTO from './dto/QuestionDTO';
export { Plearnit, PlayActions, ConnectionTypes, ActionDTO, AnswerDTO, GameDTO, LibraryDTO, 
PlayLoginDTO, QuestionDTO };

enums.d.ts -

export declare const enum PlayActions {
startGame = "START_GAME",
displayQuestion = "DISPLAY_QUESTION",
clearQuestion = "CLEAR_QUESTION",
displayFollowUp = "DISPLAY_FOLLOWUP",
endGame = "END_GAME",
addPlayer = "ADD_PLAYER",
removePlayer = "REMOVE_PLAYER",
disconnected = "DISCONNECTED",
resetGame = "RESET_GAME"
}

Когда я пытаюсь импортировать его в свой проект, все операции импорта работают правильно, кроме перечисления:

import Plearnit, { QuestionDTO, GameDTO, PlayActions } from 'plearnit-connector';

Я пытался использовать и не использовать «const». Когда я не использую CONST, PlayActions отображается в индексе. js, но все равно не может быть импортирован. Я прочитал, что вы должны сделать их CONST при экспорте, но все равно не повезло.

Как я могу экспортировать мои ENUMS, чтобы они могли импортироваться в мои проекты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...