UNPKG

catjs

Version:

(Mobile) Web Automation Framework

79 lines (62 loc) 2.31 kB
var _catglobal = catrequire("cat.global"), _log = _catglobal.log(), _path = require("path"), _props = catrequire("cat.props"), _basePlugin = catrequire("cat.plugin.base"), _utils = catrequire("cat.utils"), _fs = require("fs.extra"), _typedas = require("typedas"); module.exports = _basePlugin.ext(function () { var _emitter, _global, _data, _internalConfig, _project, _me = this; return { /** * Initial plugin function * * @param config The configuration: * data - The configuration data * emitter - The emitter reference * global - The global data configuration * internalConfig - CAT internal configuration */ init: function (config) { var customAttribute, extensionParams, errors = ["[libraries plugin] No valid configuration"]; if (!config) { _log.error(errors[1]); _me.setDisabled(true); } _emitter = config.emitter; _global = config.global; _data = config.data; _internalConfig = config.internalConfig; _project = (_internalConfig ? _internalConfig.getProject() : undefined); // initial data binding to 'this' _me.dataInit(_data); extensionParams = _data.data; if (config && extensionParams) { customAttribute = extensionParams.customAttribute; // Your code in here ... console.log("[sample test init] Running Project: ", _project.name); console.log("[sample test Init] External attributes named, customAttribute = '" + customAttribute + "'"); // done processing notification for the next task to take place _emitter.emit("job.done", {status: "done"}); } }, /** * Validate the plugin * * dependencies {Array} The array of the supported dependencies types * * @returns {{dependencies: Array}} */ validate: function() { return { dependencies: ["manager"]}; } }; });