diff --git a/modularity.md b/modularity.md index ff3faa0..6b0e236 100755 --- a/modularity.md +++ b/modularity.md @@ -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. diff --git a/object.md b/object.md index 2b0af57..5a1a550 100755 --- a/object.md +++ b/object.md @@ -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).