# dev.mccue.jvm.moduleInfo

> Published by [mccue.dev](https://lexicon.garden/identity/did:plc:dt7fth2hmap6wya7uyyl2g3v)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:dt7fth2hmap6wya7uyyl2g3v/dev.mccue.jvm.moduleInfo)
- [Documentation](https://lexicon.garden/lexicon/did:plc:dt7fth2hmap6wya7uyyl2g3v/dev.mccue.jvm.moduleInfo/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:dt7fth2hmap6wya7uyyl2g3v/dev.mccue.jvm.moduleInfo/examples)

## Definitions

### `dev.mccue.jvm.moduleInfo`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes |  |
| `uses` | `array` | No |  |
| `hashes` | `array` | No |  |
| `exports` | `array` | No |  |
| `version` | `string` | No |  |
| `mandated` | `boolean` | No |  |
| `packages` | `array` | No |  |
| `provides` | `array` | No |  |
| `requires` | `array` | No |  |
| `synthetic` | `boolean` | No |  |
| `targetPlatform` | `string` | No |  |

### `dev.mccue.jvm.moduleInfo#uses`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `service` | `string` | Yes |  |

### `dev.mccue.jvm.moduleInfo#hashes`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `hash` | `string` | Yes |  |
| `module` | `string` | Yes |  |
| `algorithm` | `string` | Yes |  |

### `dev.mccue.jvm.moduleInfo#exports`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `to` | `array` | No |  |
| `package` | `string` | Yes |  |
| `mandated` | `boolean` | No |  |
| `synthetic` | `boolean` | No |  |

### `dev.mccue.jvm.moduleInfo#exportTo`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `package` | `string` | Yes |  |

### `dev.mccue.jvm.moduleInfo#packages`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `package` | `string` | Yes |  |

### `dev.mccue.jvm.moduleInfo#provides`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `with` | `string` | Yes |  |
| `service` | `string` | Yes |  |

### `dev.mccue.jvm.moduleInfo#requires`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `module` | `string` | Yes |  |
| `static` | `boolean` | No |  |
| `version` | `string` | No |  |
| `mandated` | `boolean` | No |  |
| `synthetic` | `boolean` | No |  |
| `transitive` | `boolean` | No |  |

## Raw Schema

```json
{
  "id": "dev.mccue.jvm.moduleInfo",
  "defs": {
    "main": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "uses": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#uses",
            "type": "ref"
          }
        },
        "hashes": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#hashes",
            "type": "ref"
          }
        },
        "exports": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#exports",
            "type": "ref"
          }
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "mandated": {
          "type": "boolean",
          "default": false
        },
        "packages": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#requires",
            "type": "ref"
          }
        },
        "provides": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#provides",
            "type": "ref"
          }
        },
        "requires": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.module#requires",
            "type": "ref"
          }
        },
        "synthetic": {
          "type": "boolean",
          "default": false
        },
        "targetPlatform": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "uses": {
      "type": "object",
      "required": [
        "service"
      ],
      "properties": {
        "service": {
          "type": "string",
          "minLength": 3
        }
      }
    },
    "hashes": {
      "type": "object",
      "required": [
        "module",
        "algorithm",
        "hash"
      ],
      "properties": {
        "hash": {
          "type": "string",
          "minLength": 1
        },
        "module": {
          "type": "string",
          "minLength": 1
        },
        "algorithm": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "exports": {
      "type": "object",
      "required": [
        "package"
      ],
      "properties": {
        "to": {
          "type": "array",
          "items": {
            "ref": "dev.mccue.jvm.moduleInfo#exportTo",
            "type": "ref"
          }
        },
        "package": {
          "type": "string",
          "minLength": 1
        },
        "mandated": {
          "type": "boolean",
          "default": false
        },
        "synthetic": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "exportTo": {
      "type": "object",
      "required": [
        "package"
      ],
      "properties": {
        "package": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "packages": {
      "type": "object",
      "required": [
        "package"
      ],
      "properties": {
        "package": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "provides": {
      "type": "object",
      "required": [
        "service",
        "with"
      ],
      "properties": {
        "with": {
          "type": "string",
          "minLength": 3
        },
        "service": {
          "type": "string",
          "minLength": 3
        }
      }
    },
    "requires": {
      "type": "object",
      "required": [
        "module"
      ],
      "properties": {
        "module": {
          "type": "string",
          "minLength": 1
        },
        "static": {
          "type": "boolean",
          "default": false
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "mandated": {
          "type": "boolean",
          "default": false
        },
        "synthetic": {
          "type": "boolean",
          "default": false
        },
        "transitive": {
          "type": "boolean",
          "default": false
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
