open-index/open-npm huggingface dataset:
npm package: @motora-ai/jimi-iot-hub-types
Description: O pacote `types` fornece uma estrutura organizada de classes e interfaces para representar dados e operações relacionadas ao Jimi IoTHub. Ele é dividido em três categorias principais:
Latest version: 1.7.2

# Pacote Types

O pacote `types` fornece uma estrutura organizada de classes e interfaces para representar dados e operações relacionadas ao Jimi IoTHub. Ele é dividido em três categorias principais:

- **Push**: Tipos relacionados a notificações enviadas pelos dispositivos para o servidor.
- **Query**: Tipos relacionados a consultas feitas pelo servidor para obter informações dos dispositivos.
- **Request**: Tipos relacionados ao envio de instruções para os dispositivos atráves do servidor.

## Estrutura Geral

### Push

Os tipos de push são usados para representar notificações enviadas pelos dispositivos, como dados de GPS, alarmes, ou eventos de login/logout. Exemplos de classes:

- `GpsPushRequest` e `GpsPushResponse`
- `AlarmPushRequest` e `AlarmPushResponse`
- `LoginNotificationRequest` e `LoginNotificationResponse`

### Query

Os tipos de query são usados para consultas feitas pelo servidor, como alarmes, coordenadas ou dados de temperatura. Exemplos de classes:

- `GetAlarmRequest` e `GetAlarmResponse`
- `GetTrackerRequest` e `GetTrackerResponse`
- `GetTemperatureRequest` e `GetTemperatureResponse`

### Request

Os tipos de request são usados para enviar diversas instruções aos dispositivos através do servidor. Exemplo de classes:
`SendCommandRequest` e `SendCommandResponse`.

## Exemplo de Utilização

### Requisição e Resposta de Push (GPS)

#### Lidando com uma requisição

Você pode criar uma requisição de push utilizando o método `toContent` para serializar os dados:

```typescript
import { Push } from '@motora-ai/jimi-iot-hub-types';

// Objeto simples obtido via parse de json ou urlencode (varia dependendo da requisição).
const requestObj = {
  token: '.....',
  data_list: [
    {
      deviceImei: '123456789012345',
      gpsTime: "2023-08-17 09:37:09",
      gateTime: "2023-08-17 09:37:09",
      lat: -23.55052,
      lng: -46.633308,
      gpsSpeed: 60,
      ...
    }
  ]
}

const gpsPushRequest = Push.GpsPushRequest.fromContent(requestObj); // Conteúdo tratado, melhor organizado, com tipagem adequada.

// Faça sua lógica

const gpsPushResponse = new Push.GpsPushResponse({
    code: 0,
    message: "OK"
});

// Objeto com conteúdo {code: 0, msg: 'OK'}
const responseObj = gpsPushResponse.toContent();

// Agora basta enviar o objeto de acordo com o formato
// adequado para requisição. Se for um json, já está tudo feito, se for urlencode, basta utilizar o encode do "querystring" (lib nativa do node) ou "fast-querystring" (pacote da comunidade).
```
npm package: @motorcitysystems/core
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.14.
Latest version: 0.0.15

# @motorcitysystems/core

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.14.

## Installation

- Open the `.npmrc` file located in your User directory
- Add the following to the `.npmrc` file and save: `@motorcitysystems:registry=https://pkgs.dev.azure.com/motorcitysystems/_packaging/MCS.UI/npm/registry/`
- Install with `npm install @motorcitysystems/core`

## Code scaffolding

Run `ng generate component component-name --project core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project core`.

> Note: Don't forget to add `--project core` or else it will be added to the default project in your `angular.json` file.

## Editing

When creating new modules/components for the shared library, please use the Angular CLI for generating code scaffolding.

- Navigate to the `lib` level of the library directory (`projects/core/src/lib`)
- Run `ng g module module-name`, replacing `module-name` with the name of your module
- Navigate inside the newly created module directory
- Run `ng g component component-name --export --flat --style=scss`, replacing `component-name` with the name of your component
- Create an `index.ts` file inside of your new module directory
- In the newly-created index file, `export * from` your `.module` and `.component` files (`export * from './module-name.module';`)
- Update `public-api.ts` with the exports from your new directory: (`export * from './lib/module-name';`)
- Save all work -> version bump -> commit -> build -> publish

## Build

Run `ng build core --prod` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build core --prod`, go to the dist folder `cd dist/core` and run `npm publish`.

### Package Publish Checklist

- [ ] Save changes
- [ ] Bump package version with `npm version patch` (or potentially `major` | `minor` instead of `patch`)
- [ ] Commit the version bump
- [ ] Run `ng build core --prod`
- [ ] Navigate to `dist/core`
- [ ] Run `npm publish`

## Running unit tests

Run `ng test core` to execute the unit tests via [Karma](https://karma-runner.github.io).