{"id":24423170,"url":"https://github.com/webability-go/xconfig","last_synced_at":"2025-04-12T07:20:25.215Z","repository":{"id":36709029,"uuid":"156440389","full_name":"webability-go/xconfig","owner":"webability-go","description":"plain text configuration files parser","archived":false,"fork":false,"pushed_at":"2021-11-17T04:45:05.000Z","size":83,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T02:33:51.093Z","etag":null,"topics":["go","golang","webability","webability-xconfig","xconfig"],"latest_commit_sha":null,"homepage":"https://developers.webability.info/","language":"Go","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/webability-go.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":"2018-11-06T20:03:24.000Z","updated_at":"2021-11-17T04:42:34.000Z","dependencies_parsed_at":"2022-08-29T05:21:51.171Z","dependency_job_id":null,"html_url":"https://github.com/webability-go/xconfig","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webability-go","download_url":"https://codeload.github.com/webability-go/xconfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530740,"owners_count":21119624,"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":["go","golang","webability","webability-xconfig","xconfig"],"created_at":"2025-01-20T10:17:00.074Z","updated_at":"2025-04-12T07:20:25.196Z","avatar_url":"https://github.com/webability-go.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"@UTF-8\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/webability-go/xconfig)](https://goreportcard.com/report/github.com/webability-go/xconfig)\n[![GoDoc](https://godoc.org/github.com/webability-go/xconfig?status.png)](https://godoc.org/github.com/webability-go/xconfig)\n[![GolangCI](https://golangci.com/badges/github.com/webability-go/xconfig.svg)](https://golangci.com)\n\nXConfig for GO v1\n=============================\n\nPackage xconfig loads a configuration file similar to a .ini file, but with some important improvements:\n- The xconfig recognize bool, int, float and Strings, and also collections of values and hierarchical nested sub-config sets.\n- The xconfig is compatible with XDataset to inject and use in templates, database records, etc.\n- You can load more than one file in merge mode or replacing mode in the same config object.\n- You can set and get parameters at any time.\n- You can load the config object based on a file, but also on a string and another object; this way you can serialize, unserialize, transfer by any strem, save or load on database the object, etc.\n- You can also save back the config string with all its comments.\n\nManuals are available on godoc.org [![GoDoc](https://godoc.org/github.com/webability-go/xconfig?status.png)](https://godoc.org/github.com/webability-go/xconfig)\n\n\nTO DO:\n======\n- Make it thread safe ? (so maybe with a flag to activate it ?)\n- Add Time ? Other types of int32, int64, float32, runes etc ?\n- Merge vs load to load more than 1 file (pending)\n- implement + and :\n- Add a flag when it's a multiple load to warn a \"save\"\n- Add error control con Get* for type conversions (if the type is different as expected)\n- Log errors into official log\n\nVersion Changes Control\n=======================\n\nv0.4.3 - 2021-11-16\n-----------------------\n- Documentation revised and added with Marshal and SaveFile Functions\n- Bug corrected in Marshal, sometimes an empty line was ignored by the reconstruction of the string\n\nv0.4.2 - 2020-03-30\n-----------------------\n- Pointers to self structure changed (c.Parameters instead of (*c).Parameters)\n- Del/Set/Add function now work correctly and do not duplicate entries if not merged (Add)\n\nv0.4.1 - 2020-03-29\n-----------------------\n- Marshal and SaveFile implemented to generate original string of XConfig file and save it to a file.\n- example directory removed. The examples are implicitly into documentation and tests.\n\nv0.4.0 - 2020-03-29\n-----------------------\n- Modulatization (go mod init) and use of xcore/v2\n- Documentation finished\n- Comments into code, corrections to meet golint standards\n- String modified to order printed lines and get a uniform result if the XConfig contains the same data\n- Tests implemented to verify official defined specs\n\nv0.3.0 - 2020-02-11\n-----------------------\n- Documentation enhanced, Configuration Syntax Reference added\n- Licence and Tests Added\n\nv0.2.1 - 2020-02-10\n-----------------------\n- Documentation enhanced\n- Bug corrected on String and GoString()\n\nv0.2.0 - 2020-02-10\n-----------------------\n- Modification to XConfig to meet xcore v1.0.0 (.String and .GoString functions added, .Stringify function removed)\n\nv0.1.0 - 2019-12-06\n-----------------------\n- Code formated before sending to github (gofmt -s)\n\nv0.0.9 - 2019-07-12\n-----------------------\n- Incode println removed\n\nv0.0.8 - 2019-06-25\n-----------------------\n- Added Clone functions to meet xcore.XDatasetDef definition\n\nv0.0.7 - 2019-03-06\n-----------------------\n- Added functions of Time to get time data.\n\nv0.0.6 - 2019-02-05\n-----------------------\n- Added conversion between types con Get* functions\n\nv0.0.5 - 2019-01-06\n-----------------------\n- XConfig object aligned with XDataset with missing set of functions\n- XConfig csn now be injected into an XTemplate\n\nV0.0.4 - 2018-12-21\n-----------------------\n- Added GetString, GetInt, GetBool and GetFloat to directly get the known value type (and do not have to convert types)\n- Error corrected on Set (type float added)\n\nV0.0.3 - 2018-12-05\n-----------------------\n\u003e Branch \"late-night\" added to github\n- Added support for sub-XConfig with entry1.entry2.entry3=xxx\n\nV0.0.2 - 2018-11-27\n-----------------------\n- Added support for strings starting with \"\n- Added support for array of booleans\n- Added support for float parameters\n- Work for a full normal load of a file, suporting also repeated parameters (array of parameters)\n- VERSION constant added\n- XConfig.Get function implemented for basic parameters (without + or :)\n\nV0.0.1 - 2018-11-14\n-----------------------\n- First commit, only work to load basic parameters\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Fxconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebability-go%2Fxconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Fxconfig/lists"}