@smallstoneapps/data-processor

2.1.1 • Public • Published

Data Processor Build Status npm (scoped) MIT License

Pebble library to extract strings, ints and booleans from a long string of data.

Installation

You must be using Pebble SDK 3.12 or newer to use this library.

To install the package to your app, use the pebble tool:

pebble package install @smallstoneapps/data-processor

Usage

// This is not a complete example, but should demonstrate
// the basic usage of Data Processor.

static void parse_data(char* data) {
  ProcessingState* state = data_processor_create(data, '|');
  uint8_t num_strings = data_processor_count();
  char** strings = malloc(sizeof(char*) * num_strings);
  for (uint8_t n = 0; n < num_strings; n += 1) {
    strings[n] = data_processor_get_string(state);
  }
}

Tests

Unit tests for Data Processor exist in the tests folder.

To run the tests:

make test

Function Documentation

Initialise the global Data Processor state object with a string of data and a delimiter character.

void data_processor_init(char* data, char delim);

Create and return a new Data Processor state object with a string of data and a delimiter character.

ProcessingState* data_processor_create(char* data, char delim);

Destroy a Data Processor state object.

void data_processor_destroy(ProcessingState* state);

Destroys the global Data Processor state object.

void data_processor_deinit();

Get the global Data Processor state object, used for passing to the functions below.

ProcessingState* data_processor_get_global(void);

Get the count of the remaining subelements for a Data Processor state object.

uint8_t data_processor_count(ProcessingState* state);

Get the next element as a string for a Data Processor state object.

char* data_processor_get_string(ProcessingState* state);

Get the next element as a bool for a Data Processor state object.

bool data_processor_get_bool(ProcessingState* state);

Get the next element as an int for a Data Processor state object.

int data_processor_get_int(ProcessingState* state);

Readme

Keywords

Package Sidebar

Install

npm i @smallstoneapps/data-processor

Weekly Downloads

0

Version

2.1.1

License

MIT

Last publish

Collaborators

  • smallstoneapps