{
  "_id": "6a2690f724555f66ed51bb70",
  "Package": "interface",
  "Type": "Package",
  "Title": "Runtime Type System",
  "Version": "0.1.3",
  "URL": "https://github.com/dereckmezquita/interface",
  "Authors@R": "person(given = \"Dereck\",\nfamily = \"Mezquita\",\nrole = c(\"aut\", \"cre\"),\nemail = \"dereck@mezquita.io\",\ncomment = c(ORCID = \"0000-0002-9307-6762\"))",
  "Author": "Dereck Mezquita [aut, cre] (0000-0002-9307-6762)",
  "Maintainer": "Dereck Mezquita <dereck@mezquita.io>",
  "Description": "Provides a runtime type system, allowing users to define\nand implement interfaces, enums, typed data.frame/data.table,\nas well as typed functions. This package enables stricter type\nchecking and validation, improving code structure, robustness\nand reliability.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.2",
  "Repository": "https://dereckmezquita.r-universe.dev",
  "Date/Publication": "2024-09-13 01:48:36 UTC",
  "RemoteUrl": "https://github.com/dereckmezquita/interface",
  "RemoteRef": "HEAD",
  "RemoteSha": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-08 09:49:24 UTC",
    "User": "root"
  },
  "MD5sum": "741299ed2ee5743b2a7c02a80b2a96f4",
  "_user": "dereckmezquita",
  "_type": "src",
  "_file": "interface_0.1.3.tar.gz",
  "_fileid": "cdeb2f2f7ec2bcc507257717e81f68fc97ee60d6d70f7c90264659e996af0cb3",
  "_filesize": 149090,
  "_sha256": "cdeb2f2f7ec2bcc507257717e81f68fc97ee60d6d70f7c90264659e996af0cb3",
  "_created": "2026-06-08T09:49:24.000Z",
  "_published": "2026-06-08T09:52:55.632Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80066733670,
      "time": 117,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7476839738"
    },
    {
      "job": 80066733915,
      "time": 136,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476846953"
    },
    {
      "job": 80066733637,
      "time": 170,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7476846883"
    },
    {
      "job": 80066733619,
      "time": 146,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476839906"
    },
    {
      "job": 80066186900,
      "time": 175,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476794431"
    },
    {
      "job": 80066733615,
      "time": 95,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476830904"
    },
    {
      "job": 80066733681,
      "time": 74,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7476822503"
    },
    {
      "job": 80066733767,
      "time": 69,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7476819968"
    },
    {
      "job": 80066733693,
      "time": 70,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7476821764"
    }
  ],
  "_buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/dereckmezquita/interface",
  "_commit": {
    "id": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
    "author": "Dereck Mezquita <44912288+dereckmezquita@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "RPKG-8: interface adjustments after first cran release (#25)\n\n* Cran install.\r\n\r\n* New news.\r\n\r\n* Typos in docs about frames.",
    "time": 1726192116
  },
  "_maintainer": {
    "name": "Dereck Mezquita",
    "email": "dereck@mezquita.io",
    "login": "dereckmezquita",
    "orcid": "0000-0002-9307-6762",
    "description": "Scientist, Bioinformatician",
    "uuid": 44912288
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "box",
      "role": "Suggests"
    },
    {
      "package": "rcmdcheck",
      "role": "Suggests"
    },
    {
      "package": "data.table",
      "role": "Suggests"
    }
  ],
  "_owner": "dereckmezquita",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "data-validation",
    "interface",
    "packages",
    "types"
  ],
  "_stars": 25,
  "_contributors": [
    {
      "user": "dereckmezquita",
      "count": 94,
      "uuid": 44912288
    }
  ],
  "_userbio": {
    "uuid": 44912288,
    "type": "user",
    "name": "Dereck Mezquita",
    "description": "Scientist, Bioinformatician"
  },
  "_downloads": {
    "count": 117,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/interface"
  },
  "_devurl": "https://github.com/dereckmezquita/interface",
  "_searchresults": 500,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/interface.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/dereckmezquita/interface",
  "_realowner": "dereckmezquita",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2024-09-10"
    }
  ],
  "_exports": [
    "enum",
    "fun",
    "interface",
    "type.frame"
  ],
  "_help": [
    {
      "page": "subset-.typed_frame",
      "title": "Modify a typed data frame using [ ]",
      "topics": [
        "[<-.typed_frame"
      ]
    },
    {
      "page": "equals-.enum",
      "title": "Equality comparison for enum objects",
      "topics": [
        "==.enum"
      ]
    },
    {
      "page": "cash-.enum",
      "title": "Get value from enum object",
      "topics": [
        "$.enum"
      ]
    },
    {
      "page": "cash-.interface_object",
      "title": "Get a property from an interface object",
      "topics": [
        "$.interface_object"
      ]
    },
    {
      "page": "cash-set-.enum",
      "title": "Set value of enum object",
      "topics": [
        "$<-.enum"
      ]
    },
    {
      "page": "cash-set-.interface_object",
      "title": "Set a property in an interface object",
      "topics": [
        "$<-.interface_object"
      ]
    },
    {
      "page": "cash-set-.typed_frame",
      "title": "Modify a typed data frame using $",
      "topics": [
        "$<-.typed_frame"
      ]
    },
    {
      "page": "enum",
      "title": "Create an enumerated type",
      "topics": [
        "enum"
      ]
    },
    {
      "page": "fun",
      "title": "Create a typed function",
      "topics": [
        "fun"
      ]
    },
    {
      "page": "handle_violation",
      "title": "Handle violations based on the specified action",
      "topics": [
        "handle_violation"
      ]
    },
    {
      "page": "interface",
      "title": "Define an interface",
      "topics": [
        "interface"
      ]
    },
    {
      "page": "print.enum",
      "title": "Print method for enum objects",
      "topics": [
        "print.enum"
      ]
    },
    {
      "page": "print.enum_generator",
      "title": "Print method for enum generators",
      "topics": [
        "print.enum_generator"
      ]
    },
    {
      "page": "print.interface_object",
      "title": "Print method for interface objects",
      "topics": [
        "print.interface_object"
      ]
    },
    {
      "page": "print.typed_frame",
      "title": "Print method for typed data frames",
      "topics": [
        "print.typed_frame"
      ]
    },
    {
      "page": "print.typed_function",
      "title": "Print method for typed functions",
      "topics": [
        "print.typed_function"
      ]
    },
    {
      "page": "rbind.typed_frame",
      "title": "Combine typed data frames row-wise",
      "topics": [
        "rbind.typed_frame"
      ]
    },
    {
      "page": "type.frame",
      "title": "Create a typed data frame",
      "topics": [
        "type.frame"
      ]
    },
    {
      "page": "validate_property",
      "title": "Validate a property against a given type or validation function",
      "topics": [
        "validate_property"
      ]
    },
    {
      "page": "wrap_fun_in_all",
      "title": "Modify a user-defined function to return a single logical value",
      "topics": [
        "wrap_fun_in_all"
      ]
    }
  ],
  "_readme": "https://github.com/dereckmezquita/interface/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "donate.Rmd",
      "filename": "donate.html",
      "title": "Donate",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Support my work",
        "Bitcoin",
        "Monero"
      ],
      "created": "2024-07-27 04:04:53",
      "modified": "2024-07-27 04:04:53",
      "commits": 1
    },
    {
      "source": "intro-to-interface.Rmd",
      "filename": "intro-to-interface.html",
      "title": "Introduction to interface",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why Use Interfaces?",
        "Installation",
        "Usage",
        "Interfaces",
        "Nested Interfaces and Extending Interfaces",
        "Custom Validation Functions",
        "Enums",
        "Creating and Using Enums",
        "Using Enums in Interfaces",
        "In-place Enum Declaration in Interfaces",
        "Typed Functions",
        "Functions with Multiple Possible Return Types",
        "Typed data.frame/data.tables",
        "Additional Options",
        "Conclusion"
      ],
      "created": "2024-07-28 17:04:03",
      "modified": "2024-07-29 05:48:38",
      "commits": 2
    }
  ],
  "_score": 7.096910013008056,
  "_indexed": true,
  "_nocasepkg": "interface",
  "_universes": [
    "dereckmezquita"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-08T09:51:28.000Z",
      "distro": "noble",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "945edc7d82f4888f3dec810d06d4d3b0956ca1b67334240d2e1bf917baef1fc1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-06-08T09:51:46.000Z",
      "distro": "noble",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "3cdbc5d8ab2dc4776a25760fa74b5dcb3226bedc712b481cde54169def523271",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-08T09:51:48.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "fd1b5064d046d8ea6db1397b7f594e024b1443cd3efa07a4d7e7843999ea6752",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-06-08T09:51:30.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "73fa2fdc97a30f6592d64134c04e5249da5a2762351f6ea956d4eba31589bb20",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-06-08T09:51:16.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "e1de09477c1ab893bad26d334b6cd586369853dc9134065a192c47a2a29502d7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:50:37.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "0673d300c0dc1e9325be139c9e3b297f96d4537f916cc38a5875918fb81d1fef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:50:31.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "7700eaefe40b185b118a6cd7b95bedcd9600a9844bf92ac831beed88be2c0750",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-06-08T09:50:36.000Z",
      "commit": "bcce62aec0303b4fd740b431ab78255bfb7e0085",
      "fileid": "c7538c0dc5e1dd11a33c61797d78c69c70131ba60d50180325f42d74be1d5834",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dereckmezquita/actions/runs/27129372775"
    }
  ]
}