open-index/open-npm huggingface dataset:
npm package: @sedd/cqrs
Description: SEDD Dashboard CQRS Assets
Latest version: 3.2.2

# SEDD Dashboard CQRS/ES Assets

Assets required to read/write to SEDD event-store.

```
npm i @sedd/cqrs
```

## Projections

This module requires the following continous, emit-enabled projection:

```
fromStreams("contracts", "rigs", "users", "shifts", "timecards")
    .when({
        $any : function(s,e) {
            if(e.metadata && e.metadata.aggregateType && e.metadata.aggregateId) {
                linkTo(`${e.metadata.aggregateType}-${e.metadata.aggregateId}`, e);
            }
        }
    });
```
npm package: @sedd/rethink
Description: Rethinkdb settings for sedd dashboard
Latest version: 3.2.3

# @sedd/rethink

Rethinkdb settings for sedd dashboard

## JS interface

### Access to client

```
import {rethink} from "rethink"
```

### Access to Tables

```
import {
  EventStoreStatus,

  Contracts,
  ContractPlans,
  ContractResults,
  Crews,
  Drills,
  DrillPlans,
  DrillResults,
  MajorMobes,
  Persons,
  PersonRoles,
  Phases,
  PhasePlans,
  PhaseProgress,
  PhaseResults,
  Rigs,
  RigMobes,
  RigMobePlans,
  RigMobeResults,
  Roles,
  Shifts,
  TimeCards,
  Users,
  WorkActivities,
  WorkOrders,
  WorkUnits
} from "@sedd/rethink";
```

### Access to db initializer

```
import { init } from "@sedd/rethink/lib/init";

init().then(()=> {});
```

## CLI

```
npm run init.rethink
```
npm package: @sedeapp/sede-broker
Description: Just a simple message broker.
Author: Rafael Ribeiro
Latest version: 0.1.3

# Sede Broker

Just a simple message broker.

## Instantiate a new broker

```javascript
const broker = new SedeBroker()
```

## Specify your messages

```javascript
class HelloMessage {
    constructor(name) {
        this._name = name
    }

    get name() {
        return this._name
    }
}
```

## Subscribe

```javascript
const ticket = broker.subscribe(HelloMessage, message => {
    console.log(`Hello ${message.name}!`)
})
```

## Publish

```javascript
broker.publish(new HelloMessage('World'))
```

## Unsubscribe

```javascript
ticket.unsubscribe()
```

## Resubscribe

```javascript
ticket.subscribe()
```

## Remove all subscriptions

```javascript
broker.clear()
```

## Update message with backward compatibility

```javascript
// add optional arguments (keep safe)
class HelloMessageV2 extends HelloMessage {
    constructor(name, greeting = 'Hello') {
        super(name)
        this._greeting = greeting        
    }

    get greeting() {
        return this._greeting
    }
}

// transform all new instances of HelloMessage to HelloMessage2
HelloMessage = HelloMessageV2

// you don't need to change old subscribers (services)
const oldSystem = broker.subscribe(HelloMessage, message => {
    console.log(`Hello ${message.name}!`)
})

// and you can write new ones
const newSystem = broker.subscribe(HelloMessageV2, message => {
    console.log(`${message.greeting} ${message.name}!`)
})

// dont need to change old producers
broker.publish(new HelloMessage('World'))

// and you can write new ones as well ;)
broker.publish(new HelloMessageV2('World', 'Hi'))
```
npm package: @sedeapp/vue-sede-broker
Description: Plugin wrapper to use SedeBroker with Vue.
Author: Rafael Ribeiro
Latest version: 0.1.0

# Vue Sede Broker

Plugin wrapper to use [SedeBroker](https://github.com/sedeapp/sede-broker) with [Vue](https://github.com/vuejs/vue).

## 1. Register the plugin

```javascript
Vue.use(VueSedeBroker);
```

## 2. Specify your message

```javascript
class HelloMessage {
    constructor(name) {
        this._name = name
    }

    get name() {
        return this._name
    }
}
```

## 3. Publish

```html
<template>
    <div>
        <input type="text" v-model="name">
        <button @click="doPublish">Publish!</button>
    </div>
</template>

<script>
module.exports = {
    methods: {
        doPublish() {
            this.$broker.publish(new HelloMessage(this.name))
        }
    },
    data() {
        return {
            name: ''
        }
    }
}
</script>
```

## 4. Subscribe

```html
<template>
    <div>
        <p>Hello {{ name }}!</p>
    </div>
</template>

<script>
module.exports = {
    methods: {
        handleHelloMessage(message) {
            // catch your exceptions!
            // don't break the wheel
            try {
                this.name = message.name
            }
            catch (e) {
                // you can do better
                console.warn(e)
            }
        }        
    },
    data() {
        return {
            name: 'World'
        }
    },
    created() {
        // you don't need to unsubscribe, the plugin do this for you
        this.$broker.subscribe(HelloMessage, this.handleHelloMessage)
    }
}
</script>
```
npm package: @sedenion/example-plugin
Description: ## Overview
Latest version: 1.0.2

# Sedenion Example Plugin README

## Overview

The Sedenion Example Plugin is an extension for the Sedenion calculator, designed to demonstrate how to create and integrate custom functionality into the calculator. This README provides an overview of the plugin, installation instructions, and usage guidelines.

## Setting up

1. Clone Sedenion

```bash
git clone https://github.com/SedenionCas/sedenion
```

2. Clone this repository

```bash
git clone https://github.com/SedenionCas/example-plugin
```

3. Load the plugin into Sedenion

_package.json_

```json
{
   ...
   "dependencies": {
      ...
      "plugin-name": "file:<path to plugin>"
   },
   ...
}
```

## Documentation

For detailed documentation and information on how to use specific features of this plugin, please refer to the documentation provided in [docs](https://docs.sedenion.net).

## Checklist
To ensure that your plugin is ready for release, please ensure that you have completed the following checklist:
1. Unsubscribe from all events and listeners in deactivate()
2. Everything is theme friendly
3. You have readme.md

## Guidelines
- All events/listeners are prefixed by your plugin name
- plugins and themes must not:
   - Obfuscate code to hide its purpose
   - Insert dynamic ads
   - Collect telemetry data client side

## Disclosures
The following have to be indicated clearly in the readme.md
- Payment is required for full access
- An account is required to use the plugin
- Network access. Clearly indicate what data is sent where and why
- Static ads or popups
- Server-side telemetry. Link to the privacy policy must be included.
- Closed source code. We will handle this on a case by case basis.

## Removing plugins and themes
In case of a policy violation, we may attempt to contact the developer and provide a reasonable timeframe for them to resolve the problem.

If the problem isn't resolved by then, we'll remove plugins or themes from our directory.

We may immediately remove a plugin or theme if:

    The plugin or theme appears to malicious.
    The developer is uncooperative.
    This is a repeated violation.

In addition, we may also remove plugins or themes that have become unmaintained or severely broken.

## License

This plugin is licensed under the [MIT License](LICENSE). You are free to use, modify, and distribute it as per the terms of the license.

## Contact

For any questions, issues, or feedback related to this plugin, please open issue at the issues tab on the GitHub repository.

## Acknowledgments

We would like to thank the Sedenion calculator community for their support and contributions to this project.

Enjoy using the Sedenion Example Plugin with your Sedenion calculator!