impress.me
Version:
Create impress.js presentations from markdown documents with style
25 lines (24 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PositionStrategyFactory = void 0;
const linear_position_strategy_1 = require("./linear-position.strategy");
const planet_position_strategy_1 = require("./planet-position.strategy");
const strategy_1 = require("../strategy");
const column_position_strategy_1 = require("./column-position.strategy");
const row_position_strategy_1 = require("./row-position.strategy");
class PositionStrategyFactory {
create(config) {
switch (config.strategy) {
case strategy_1.Strategy.Linear:
return new linear_position_strategy_1.LinearPositionStrategy(config);
case strategy_1.Strategy.Column:
return new column_position_strategy_1.ColumnPositionStrategy(config);
case strategy_1.Strategy.Row:
return new row_position_strategy_1.RowPositionStrategy(config);
case strategy_1.Strategy.Planet:
default:
return new planet_position_strategy_1.PlanetPositionStrategy(config);
}
}
}
exports.PositionStrategyFactory = PositionStrategyFactory;