[ 
https://issues.apache.org/jira/browse/CB-9890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14979604#comment-14979604
 ] 

ASF GitHub Bot commented on CB-9890:
------------------------------------

Github user stevengill commented on a diff in the pull request:

    https://github.com/apache/cordova-lib/pull/331#discussion_r43339044
  
    --- Diff: cordova-common/README.md ---
    @@ -20,12 +20,128 @@
     -->
     
     # cordova-common
    -Contains shared classes and routines used by 
[cordova-lib](https://github.com/apache/cordova-lib/) and platforms.
    +Expoeses shared functionality used by 
[cordova-lib](https://github.com/apache/cordova-lib/) and Cordova platforms.
    +## Exposed APIs
    +
    +### `events`
    +  
    +Represents special instance of NodeJS EventEmitter which is intended to be 
used to post events to cordova-lib and cordova-cli
    +
    +Usage:
    +```
    +var events = require('cordova-common').events;
    +events.emit('warn', 'Some warning message')
    +```
    +
    +There are the following events supported by cordova-cli: `verbose`, `log`, 
`info`, `warn`, `error`.
    +
    +### `CordovaError`
    +
    +An error class used by Cordova to throw cordova-specific errors. The 
CordovaError class is inherited from Error, so CordovaError instances is also 
valid Error instances (`instanceof` check succeeds).
    +
    +Usage:
    +
    +```
    +var CordovaError = require('cordova-common').CordovaError;
    +throw new CordovaError('Some error message', SOME_ERR_CODE);
    +```
    +
    +See [CordovaError](src/CordovaError/CordovaError.js) for supported error 
codes.
    +
    +### `ConfigParser`
    +
    +Exposes functionality to deal with cordova project `config.xml` files. For 
ConfigParser API reference check [ConfigParser 
Readme](src/ConfigParser/README.md).
    +
    +Usage:
    +```
    +var ConfigParser = require('cordova-common').ConfigParser;
    +var appConfig = new ConfigParser('path/to/cordova-app/config.xml');
    +console.log(appconfig.name() + ':' + appConfig.version());
    +```
    +
    +### `PluginInfoProvider` and `PluginInfo`
    +
    +`PluginInfo` is a wrapper for cordova plugins' `plugin.xml` files. This 
class may be instantiated directly or via `PluginInfoProvider`. The difference 
is that `PluginInfoProvider` caches `PluginInfo` instances based on plugin 
source directory.
    +
    +Usage:
    +```
    +var PluginInfo: require('cordova-common').PluginInfo;
    +var PluginInfoProvider: require('cordova-common').PluginInfoProvider;
    +
    +// The following instances are equal
    +var plugin1 = new PluginInfo('path/to/plugin_directory');
    +var plugin2 = new PluginInfoProvider().get('path/to/plugin_directory');
    +
    +console.log('The plugin ' + plugin1.id + ' has version ' + plugin1.version)
    +```
    +
    +### `ActionStack`
    +
    +Utility module for dealing with sequential tasks. Allow to provide a set 
of tasks needs to be done and reverts all tasks that already completed if one 
of tasks is failed to complete. Used internally by cordova-lib and platforms 
plugin installation routines.
    +
    +Usage:
    +```
    +var ActionStack = require('cordova-common').ActionStack;
    +var stack = new ActionStack()
    +
    +var action1 = stack.createAction(task1, [<task parameters>], 
task1_reverter, [<reverter_parameters>]);
    +var action2 = stack.createAction(task2, [<task parameters>], 
task2_reverter, [<reverter_parameters>]);
    +
    +stack.push(action1);
    +stack.push(action2);
    +
    +stack.process()
    +.then(function() {
    +    // all actions succeded
    +})
    +.catch(function(error){
    +    // One of actions failed with error
    +})
    +```
    +
    +### `superspawn`
    +
    +Module for spawning child processes with some advanced logic.
    +
    +Usage:
    +```
    +var superspawn = require('cordova-common').superspawn;
    +superspawn.spawn('adb', ['devices'])
    +.then(function(devices){
    +    // Do something...
    +})
    +```
    +
    +### `xmlHelpers`
    +
    +A set of utility methods for dealing with xml files.
    +
    +Usage:
    +```
    +var xml = require('cordova-common').xmlHelpers;
    +
    +var xmlDoc1 = xml.parseElementtreeSync('some/xml/file');
    +var xmlDoc2 = xml.parseElementtreeSync('another/xml/file');
    +
    +xml.mergeXml(doc1, doc2); // doc2 now contains all the nodes from doc1
    +```
    +
    +### Other APIs
    +
    +The APIs listed below is also exposed but is intended to be used only 
internally by cordova plugin installation routines.
    --- End diff --
    
    The APIs listed below are also exposed but are intended to be only used 
internally by cordova plugin installation routines.
    



> Add documentaion about exposed APIs to cordova-common module
> ------------------------------------------------------------
>
>                 Key: CB-9890
>                 URL: https://issues.apache.org/jira/browse/CB-9890
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: CordovaCommon
>    Affects Versions: 0.1.0
>            Reporter: Vladimir Kotikov
>            Assignee: Vladimir Kotikov
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to