removed ... ModuleItem::Calculator since why does it even exist

selene 2025-12-31 02:17:19 +01:00
parent 65da24b558
commit d130863a46
Signed by: sel
SSH key fingerprint: SHA256:33R/4Rx5Lu4o81LyJyXdMrmP5CJ6j7j1Soo0Dn7mKc0
2 changed files with 4 additions and 20 deletions

@ -16,14 +16,6 @@ validators take one [object instance](object.md#instances), and output a `Result
for referencing validators, the following syntax is used: `{object_type}:func:validator`
## `... ModuleItem::Calculator`
calculators take one [object instance](object.md#instances), and output one object instance, which *should* be of the same `object_type`.
calculators are used by wgu to modify an object instance, most often by populating properties under `local` and `remote`.
for referencing calculators, the following syntax is used: `{object_type}:func:{name}`
## `... ModuleItem::Function`
functions take hashmaps of named object instances as inputs (and parameters), and output another hashmap of named object instances.

@ -6,9 +6,7 @@ core object data is categorized into three categories, `input`, `local`, and `re
the keys in object instances are generally referred to as **properties**.
> a **big** pitfall early on is confusing the properties `variant` with `input.variant`
>
> `variant` is for differentiating between multiple object instances with the same `input_sha256`, while `input.variant` is most often used for defining multiple structures inside one object, when it can represent multiple things (the best example of that is `meta/connection`)
> **a big pitfall early on is confusing the properties `variant` with `input.variant`.** `variant` is for differentiating between multiple object instances with the same `input_sha256`, while `input.variant` is most often used for defining multiple structures inside one object, when it can represent multiple things (the best example of that is `meta/connection`)
for referencing object instances, the properties `input_sha256` and `variant` are used, separated by a `+` (plus) symbol. to refer to a property within an object:
@ -45,8 +43,6 @@ below are the columns of the table `objects` in wgu's sqlite database. these cat
### timestamps
> **under construction**
>
> **this section needs more expansion!** you can contribute by documenting how this feature or module operates in the latest available version (also check for pull requests that would change that)
| property | transforms | subobjects | conditions | duplicates | value |
@ -72,8 +68,6 @@ below are the columns of the table `objects` in wgu's sqlite database. these cat
### logs
> **under construction**
>
> **this section needs more expansion!** you can contribute by documenting how this feature or module operates in the latest available version (also check for pull requests that would change that)
| property | transforms | subobjects | conditions | duplicates | value |
@ -105,8 +99,6 @@ objects can have parent-child relationships with other objects as defined in the
- `social/discord.message` is a subobject of `social/discord.channel` and `social/discord.thread`
- `web/github.repository` is a subobject of `web/github.user` and `web/github.organization`
subobjects are not object instances nested within each other! it's simply a parent-child relationship between two first-class sovereign objects
similarly to [transforms](#transforms), subobjects are defined in the [template of the parent object](#subobjects-1), along with the shared property (most commonly an identifier). this shared property must have the same [outgoing transforms](#transforms-1) in both the child and parent object.
## templates
@ -139,13 +131,13 @@ which then looks like this in the documentation:
> see also: [transforms](#transforms) in general
array of template types and their properties under `input` that this property transforms to, separated by a `:` (colon) symbol
array of object types and their properties under `input` that this property transforms to, separated by a `:` (colon) symbol
### `subobjects`
> see also: [subobjects](#subobjects) in general
array of templates and their properties under `input` that this property matches the [outgoing transforms](#transforms-1) of
array of objects and their properties under `input` that this property matches the [outgoing transforms](#transforms-1) of, separated by a `:` (colon) symbol
### `conditions`
@ -175,4 +167,4 @@ conditions = [
boolean indicating if this property can be duplicated.
if `true`, it will use an array when represented in json. it can only contain properties specified in `transforms`. when used as transform destinations, duplicable properties add the source property's value to the first (0th) position, and the remaining positions can be filled later by [calculators](modularity.md#calculator).
if `true`, the property will be an array when represented in json. this array can contain properties specified in `transforms`. when used as transform destinations, duplicable properties add the source property's value to the first (0th) position, and the remaining positions can be filled later by [calculators](modularity.md#calculator).