{"id":16986933,"url":"https://github.com/amrdeveloper/yamler","last_synced_at":"2025-10-14T11:36:22.933Z","repository":{"id":104909361,"uuid":"247176087","full_name":"AmrDeveloper/yamler","owner":"AmrDeveloper","description":"YAML modification program to parse, generate and modify yaml code and comments","archived":false,"fork":false,"pushed_at":"2022-03-08T14:50:52.000Z","size":19,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-02T00:48:04.733Z","etag":null,"topics":["ast","yaml","yaml-parser"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AmrDeveloper.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-13T23:04:33.000Z","updated_at":"2024-01-10T14:49:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"c958c55a-fe11-4f41-bc17-be2b4bf7e41a","html_url":"https://github.com/AmrDeveloper/yamler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AmrDeveloper/yamler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fyamler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fyamler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fyamler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fyamler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmrDeveloper","download_url":"https://codeload.github.com/AmrDeveloper/yamler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fyamler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019052,"owners_count":26086516,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ast","yaml","yaml-parser"],"created_at":"2024-10-14T02:47:25.230Z","updated_at":"2025-10-14T11:36:22.901Z","avatar_url":"https://github.com/AmrDeveloper.png","language":"Dart","readme":"A library for YAML manipulation to parse, modify and generate yaml code and comments\n\nthat can parse yaml code to Yaml Abstract syntax tree (AST) data structure\n\nmodify ast, so you can change value, object, array values and can change comment text\n\ngenerate yaml code from yaml Abstract syntax tree (AST) data structure\n\nInput Example:\n\n```yaml\njson:\n  - rigid\n  - better for data interchange\nyaml:\n  - slim and flexible\n  - better for configuration\nobject:\n  key: value\n  array:\n    - boolean: true\n    - integer: 1\n```\n\nThe goal is to change value of key with name key to HelloWorld\n\n```dart\n// First parse code and generate Abstract syntax tree\nvar yamlAST = yamlParser.parseYamlCode(inputPath);\n\n// Get list of value of object with key = object\nList objectValList = yamlAST.getNodeValue('object').value.getValue();\n\n// Node with key = 'key' is first value in object list\nNode node = objectValList[0];\n\n// After get the target node change the value of it\nnode.value.setValue('HelloWorld');\n\n// Generating yaml text code for the new Yaml ASt after change\nvar outputYaml = yamlWriter.generateYamlString(yamlAST);\n\n// write new code in output file\nwriteFileContent(outputPath, outputYaml);\n```\n\nOutput Example :\n\n```yaml\njson:\n  - rigid\n  - better for data interchange\nyaml:\n  - slim and flexible\n  - better for configuration\nobject:\n  key: HelloWorld\n  array: \n    - boolean: true\n    - integer: 1\n```\n        \nYou can change the comment text to every comment key is equal comment_ + number of comment\nfor example first comment key = comment_0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fyamler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famrdeveloper%2Fyamler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fyamler/lists"}