{"id":25304868,"url":"https://github.com/leops/vmfparser","last_synced_at":"2025-10-28T09:30:46.232Z","repository":{"id":21116176,"uuid":"24416823","full_name":"leops/vmfparser","owner":"leops","description":"A small VMF to JSON parser","archived":false,"fork":false,"pushed_at":"2019-09-25T17:21:00.000Z","size":14,"stargazers_count":20,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-18T17:42:58.893Z","etag":null,"topics":["javascript","parser","source-engine","vmf"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-24T13:50:27.000Z","updated_at":"2025-01-02T18:44:56.000Z","dependencies_parsed_at":"2022-07-15T18:17:20.021Z","dependency_job_id":null,"html_url":"https://github.com/leops/vmfparser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leops%2Fvmfparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leops%2Fvmfparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leops%2Fvmfparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leops%2Fvmfparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leops","download_url":"https://codeload.github.com/leops/vmfparser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238624051,"owners_count":19503156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","parser","source-engine","vmf"],"created_at":"2025-02-13T08:34:09.641Z","updated_at":"2025-10-28T09:30:40.949Z","avatar_url":"https://github.com/leops.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"VMFParser\n=============\n\nVMF is the format used by the Hammer editor to store maps before their\ncompilation. Since VMF has a syntax similar to JSON, I decided to write a VMF\nparser in JavaScript. I have no idea why.\n\nThe code is interesting because it's doesn't have to be a map you're parsing.\nYou can actually use the VMF format to store any kind of data, JSON like.\n\nSee `test/example.js` for an usage example.\n\n## Usage\nThe module exports a single `parse(input, options)` function. The `input` is a\nVMF source string, and `options` is an optional object with the following\nproperties:\n\n- `ast`: If true, will return the Abstract Syntax Tree instead of the\ntransformed object.\n\n## Multiple values per-key\nThis is a unique functionnality of VMF, non-existent in JSON: the ability to\nhave multiple key with the same name but different values. Here's an example :\n\n```JSON\n{\n    \"someKey\": 42,\n    \"someKey\": \"someValue\"\n}\n```\n\nIf you try to parse this, you'll obtain this JS object :\n\n```JS\n{\n    someKey: \"someValue\"\n}\n```\n\nBut with VMF, you can do this:\n\n```VMF\n\"someKey\" \"42\"\n\"someKey\" \"someValue\"\n```\n\nAnd you'll get this object instead :\n\n```JS\n{\n    someKey: [\"42\", \"someValue\"]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleops%2Fvmfparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleops%2Fvmfparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleops%2Fvmfparser/lists"}