summaryrefslogtreecommitdiffstats
path: root/lib/models/plugin.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-09-05 11:04:18 +0200
committerSamy Pessé <samypesse@gmail.com>2016-09-05 11:04:18 +0200
commita14ca3e268e95a7eab59fb205b41da7331d57631 (patch)
tree9c84b2cbd561345335fca3e26af961b2ea23d8ec /lib/models/plugin.js
parent9c071dade573aa6990878006f83c89b6065a1395 (diff)
downloadgitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.zip
gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.gz
gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.bz2
Switch to lerna
Diffstat (limited to 'lib/models/plugin.js')
-rw-r--r--lib/models/plugin.js169
1 files changed, 0 insertions, 169 deletions
diff --git a/lib/models/plugin.js b/lib/models/plugin.js
deleted file mode 100644
index acabba9..0000000
--- a/lib/models/plugin.js
+++ /dev/null
@@ -1,169 +0,0 @@
-var Immutable = require('immutable');
-
-var TemplateBlock = require('./templateBlock');
-var PluginDependency = require('./pluginDependency');
-var THEME_PREFIX = require('../constants/themePrefix');
-
-var DEFAULT_VERSION = '*';
-
-var Plugin = Immutable.Record({
- name: String(),
-
- // Requirement version (ex: ">1.0.0")
- version: String(DEFAULT_VERSION),
-
- // Path to load this plugin
- path: String(),
-
- // Depth of this plugin in the dependency tree
- depth: Number(0),
-
- // Parent depending on this plugin
- parent: String(),
-
- // Content of the "package.json"
- package: Immutable.Map(),
-
- // Content of the package itself
- content: Immutable.Map()
-}, 'Plugin');
-
-Plugin.prototype.getName = function() {
- return this.get('name');
-};
-
-Plugin.prototype.getPath = function() {
- return this.get('path');
-};
-
-Plugin.prototype.getVersion = function() {
- return this.get('version');
-};
-
-Plugin.prototype.getPackage = function() {
- return this.get('package');
-};
-
-Plugin.prototype.getContent = function() {
- return this.get('content');
-};
-
-Plugin.prototype.getDepth = function() {
- return this.get('depth');
-};
-
-Plugin.prototype.getParent = function() {
- return this.get('parent');
-};
-
-/**
- * Return the ID on NPM for this plugin
- * @return {String}
- */
-Plugin.prototype.getNpmID = function() {
- return PluginDependency.nameToNpmID(this.getName());
-};
-
-/**
- * Check if a plugin is loaded
- * @return {Boolean}
- */
-Plugin.prototype.isLoaded = function() {
- return Boolean(this.getPackage().size > 0);
-};
-
-/**
- * Check if a plugin is a theme given its name
- * @return {Boolean}
- */
-Plugin.prototype.isTheme = function() {
- var name = this.getName();
- return (name && name.indexOf(THEME_PREFIX) === 0);
-};
-
-/**
- * Return map of hooks
- * @return {Map<String:Function>}
- */
-Plugin.prototype.getHooks = function() {
- return this.getContent().get('hooks') || Immutable.Map();
-};
-
-/**
- * Return infos about resources for a specific type
- * @param {String} type
- * @return {Map<String:Mixed>}
- */
-Plugin.prototype.getResources = function(type) {
- if (type != 'website' && type != 'ebook') {
- throw new Error('Invalid assets type ' + type);
- }
-
- var content = this.getContent();
- return (content.get(type)
- || (type == 'website'? content.get('book') : null)
- || Immutable.Map());
-};
-
-/**
- * Return map of filters
- * @return {Map<String:Function>}
- */
-Plugin.prototype.getFilters = function() {
- return this.getContent().get('filters');
-};
-
-/**
- * Return map of blocks
- * @return {Map<String:TemplateBlock>}
- */
-Plugin.prototype.getBlocks = function() {
- var blocks = this.getContent().get('blocks');
- blocks = blocks || Immutable.Map();
-
- return blocks
- .map(function(block, blockName) {
- return TemplateBlock.create(blockName, block);
- });
-};
-
-/**
- * Return a specific hook
- * @param {String} name
- * @return {Function|undefined}
- */
-Plugin.prototype.getHook = function(name) {
- return this.getHooks().get(name);
-};
-
-/**
- * Create a plugin from a string
- * @param {String}
- * @return {Plugin}
- */
-Plugin.createFromString = function(s) {
- var parts = s.split('@');
- var name = parts[0];
- var version = parts.slice(1).join('@');
-
- return new Plugin({
- name: name,
- version: version || DEFAULT_VERSION
- });
-};
-
-/**
- * Create a plugin from a dependency
- * @param {PluginDependency}
- * @return {Plugin}
- */
-Plugin.createFromDep = function(dep) {
- return new Plugin({
- name: dep.getName(),
- version: dep.getVersion()
- });
-};
-
-Plugin.nameToNpmID = PluginDependency.nameToNpmID;
-
-module.exports = Plugin;