com.lopecode.module

A module version. A record is never rewritten; a new version is a new record whose prev names the one it follows.

Details · record, key tid
Kindrecord
Record keytid
Authoritylopecode.com
Indexed
cid bafyreia7zhspr4w3clpmkeloevx3l72lwn4ju2qzwg35duwx5zcqy6awla

Checks

Valid
  • unlimited-string defs.fileEntry.properties.encodingNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "fileEntry": {
      "properties": {
        "blob": {
          "description": "atproto blob ref: CID (v1 raw + sha-256), mimeType, size.",
          "type": "blob"
        },
        "encoding": {
          "description": "How the file is held, e.g. text or base64.",
          "type": "string"
        },
        "name": {
          "description": "The file name, as the module's FileAttachment names it.",
          "maxLength": 1000,
          "type": "string"
        }
      },
      "required": [
        "name",
        "encoding",
        "blob"
      ],
      "type": "object"
    },
    "import": {
      "properties": {
        "id": {
          "description": "The id of the imported module, @user/name.",
          "maxLength": 200,
          "type": "string"
        },
        "ref": {
          "description": "The com.lopecode.module record of the imported version.",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "id",
        "ref"
      ],
      "type": "object"
    },
    "main": {
      "description": "A module version. A record is never rewritten; a new version is a new record whose prev names the one it follows.",
      "key": "tid",
      "record": {
        "properties": {
          "attachments": {
            "description": "The files of the module.",
            "items": {
              "ref": "#fileEntry",
              "type": "ref"
            },
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "id": {
            "description": "The module id, @user/name, e.g. @tomlarkworthy/brain-store.",
            "maxLength": 200,
            "type": "string"
          },
          "imports": {
            "description": "Each module the source imports, but the built-ins, pinned to a record.",
            "items": {
              "ref": "#import",
              "type": "ref"
            },
            "type": "array"
          },
          "prev": {
            "description": "The version this one follows.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "source": {
            "description": "The compiled module text, text/javascript. Its CID is v1 raw + sha-256.",
            "type": "blob"
          }
        },
        "required": [
          "id",
          "source",
          "imports",
          "attachments",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "One version of an Observable module of lopecode: its compiled text, its files, and the versions of the modules it imports.",
  "id": "com.lopecode.module",
  "lexicon": 1
}