JSPM

resin-device-operations

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1085
  • Score
    100M100P100Q120525F
  • License MIT

Execute device spec operations

Package Exports

  • resin-device-operations

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (resin-device-operations) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

resin-device-operations

npm version dependencies Build Status Build status

Execute device spec operations.

Role

The intention of this module is to provide low level access to how Resin.io device specs configuration operations are executed.

THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY.

Installation

Install resin-device-operations by running:

$ npm install --save resin-device-operations

Documentation

operations.execute(image, operations, options) ⇒ EventEmitter

This function returns an EventEmitter object that emits the following events:

  • state (Object state): When an operation is going to be executed. The state object contains the operation and the progress percentage (0-100).
  • stdout (String data): When an operation prints to stdout.
  • stderr (String data): When an operation prints to stderr.
  • error (Error error): When an error happens.
  • end: When all the operations are completed successfully.

Kind: static method of operations
Summary: Execute a set of operations over an image
Access: public

Param Type Description
image String path to image
operations Array.<Object> array of operations
options Object configuration options

Example

execution = operations.execute 'foo/bar.img', [
    command: 'copy'
    from:
        partition:
            primary: 1
        path: '/bitstreams/parallella_e16_headless_gpiose_7010.bit.bin'
    to:
        partition:
            primary: 1
        path: '/parallella.bit.bin'
    when:
        coprocessorCore: '16'
        processorType: 'Z7010'
,
    command: 'copy'
    from:
        partition:
            primary: 1
        path: '/bistreams/parallella_e16_headless_gpiose_7020.bit.bin'
    to:
        partition:
            primary: 1
        path: '/parallella.bit.bin'
    when:
        coprocessorCore: '16'
        processorType: 'Z7020'
],
    coprocessorCore: '16'
    processorType: 'Z7010'

execution.on('stdout', process.stdout.write)
execution.on('stderr', process.stderr.write)

execution.on 'state', (state) ->
    console.log(state.operation.command)
    console.log(state.percentage)

execution.on 'error', (error) ->
    throw error

execution.on 'end', ->
    console.log('Finished all operations')

Support

If you're having any problem, please raise an issue on GitHub and the Resin.io team will be happy to help.

Tests

Run the test suite by doing:

$ gulp test

Contribute

Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:

$ gulp lint

License

The project is licensed under the MIT license.