Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.

Commit

Permalink
v0.1.0 (#1)
Browse files Browse the repository at this point in the history
Initial implementation of Dump Parser. May still have bugs and issues to be resolved, and further features that may need implementing before release.
  • Loading branch information
cxmeel authored Dec 1, 2022
1 parent 56c89eb commit da940fc
Show file tree
Hide file tree
Showing 22 changed files with 1,418 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: csqrl
40 changes: 40 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Deploy Docs

on:
workflow_dispatch:
push:
branches:
- main
paths:
- "src/**"
- "moonwave.toml"
- "wally.toml"
- "package.json"
- "**/*.md"

jobs:
deploy:
name: Build and Deploy Docs
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Setup Node LTS
uses: actions/setup-node@v2
with:
node-version: lts/*

- name: Install Moonwave
run: npm install -g moonwave

- name: Publish Docs
run: |
git remote set-url origin https://git:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
git config --global user.email "[email protected]"
git config --global user.name "github-actions-bot"
moonwave build --publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25 changes: 25 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Pull Request Checks

on:
pull_request:

jobs:
check-moonwave:
name: Check Moonwave Compiles
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Setup Node LTS
uses: actions/setup-node@v2
with:
node-version: lts/*

- name: Install Dependencies
run: npm install -g moonwave

- name: Check Moonwave Compiles
run: moonwave build
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.rbx*
*packages/
build/
7 changes: 7 additions & 0 deletions .stylua.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
column_width = 100
line_endings = "Unix"
indent_type = "Tabs"
indent_width = 4
quote_style = "AutoPreferDouble"
call_parentheses = "Always"
collapse_simple_statement = "Never"
23 changes: 23 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"robloxLsp.diagnostics.severity": {
"unused-local": "Error",
"unused-function": "Error",
"unused-vararg": "Error",
"duplicate-index": "Error"
},
"[lua]": {
"editor.defaultFormatter": "JohnnyMorganz.stylua"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true
},
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.formatOnType": true,
"editor.formatOnSaveMode": "modifications",
"robloxLsp.diagnostics.globals": ["version"]
}
66 changes: 64 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,64 @@
# dump-parser
Parses and fetches data from the Roblox API dump
# Dump Parser

A generic parser for the Roblox API dump. Inspired by [@corecii](https://github.com/Corecii)'s
[API Dump (Static)](https://github.com/corecii/api-dump-static) and
[@raphtalia](https://github.com/raphtalia)'s [RobloxAPI](https://github.com/raphtalia/robloxapi)
libraries.

## Documentation

Documentation can be found at https://csqrl.github.io/dump-parser.

## Quick Start

Dump Parser is available via [Wally](https://wally.run).

### Wally

```toml
# wally.toml

[dependencies]
DumpParser = "csqrl/[email protected]"
```

```bash
$ wally install
```

### Manual Installation

Download a copy of the latest release from the GitHub repo,
and compile it using Rojo. From there, you can drop the
binary directly into your project files or Roblox Studio.

## Example Usage

~~~lua
local DumpParser = require(path.to.DumpParser)
local Dump = DumpParser.fetchFromServer()

local PartClass = Dump:GetClass("Part")

-- Get a list of all properties on "Part"
print(PartClass:GetProperties())

--[[
Get a list of safe-to-use properties on "Part". This is
functionally equivalent to:
```lua
PartClass:GetProperties(
Filter.Invert(Filter.Deprecated), -- Include non-deprecated
Filter.HasSecurity("None"), -- Include properties with no read/write security
Filter.Scriptable -- Include properties that can be set in scripts
)
```
`GetProperties`, `GetEvents`, `GetFunctions` and `GetCallbacks`
all accept a variable number of filters as arguments. This
allows you to filter down the list of results to only what
you need.
--]]
print(Dump:GetProperties("Part"))
~~~
10 changes: 10 additions & 0 deletions aftman.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This file lists tools managed by Aftman, a cross-platform toolchain manager.
# For more information, see https://github.com/LPGhatguy/aftman

# To add a new tool, add an entry to this table.
[tools]
selene = "kampfkarren/[email protected]"
rojo = "rojo-rbx/[email protected]"
stylua = "johnnymorganz/[email protected]"
wally = "upliftgames/[email protected]"
# rojo = "rojo-rbx/[email protected]"
6 changes: 6 additions & 0 deletions default.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "dump-parser",
"tree": {
"$path": "src"
}
}
10 changes: 10 additions & 0 deletions lsp.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "dump-parser-lsp",
"tree": {
"$className": "Folder",
"$path": "packages",
"Fetch": {
"$path": "default.project.json"
}
}
}
11 changes: 11 additions & 0 deletions moonwave.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
title = "Dump Parser"
gitSourceBranch = "main"
autoSectionPath = "src"

[[classOrder]]
classes = ["Dump", "Class", "Filter"]

[[classOrder]]
section = "Internal"
collapsed = true
classes = ["Types", "FetchDump"]
1 change: 1 addition & 0 deletions selene.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
std = "roblox"
15 changes: 15 additions & 0 deletions serve.project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "dump-parser-serve",
"tree": {
"$className": "DataModel",
"ServerScriptService": {
"Packages": {
"$className": "Folder",
"$path": "packages",
"DumpParser": {
"$path": "default.project.json"
}
}
}
}
}
Loading

0 comments on commit da940fc

Please sign in to comment.