{"id":24107470,"url":"https://github.com/webability-go/xcore","last_synced_at":"2025-09-12T17:34:03.665Z","repository":{"id":36709025,"uuid":"159846259","full_name":"webability-go/xcore","owner":"webability-go","description":"Basic GO foundation libraries to build heavy applications","archived":false,"fork":false,"pushed_at":"2025-06-09T18:51:00.000Z","size":250,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-15T05:54:24.999Z","etag":null,"topics":["cache-control","cache-storage","go","golang","internationalization","template-engine","webability","webability-xcore","xcore"],"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":"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":"2018-11-30T15:58:34.000Z","updated_at":"2025-06-09T18:49:06.000Z","dependencies_parsed_at":"2022-08-08T16:32:00.723Z","dependency_job_id":"e221c5bb-b5e9-4f75-9e18-00e0d1728d22","html_url":"https://github.com/webability-go/xcore","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/webability-go/xcore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webability-go","download_url":"https://codeload.github.com/webability-go/xcore/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Fxcore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274847543,"owners_count":25360978,"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-09-12T02:00:09.324Z","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":["cache-control","cache-storage","go","golang","internationalization","template-engine","webability","webability-xcore","xcore"],"created_at":"2025-01-10T22:30:25.458Z","updated_at":"2025-09-12T17:34:03.567Z","avatar_url":"https://github.com/webability-go.png","language":"Go","readme":"XCore for GO v2\n=============================\n\n# Please use xcore/v2\n\n# The version 1 is obsolete.\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/webability-go/xcore)](https://goreportcard.com/report/github.com/webability-go/xcore)\n[![GoDoc](https://godoc.org/github.com/webability-go/xcore/v2?status.png)](https://godoc.org/github.com/webability-go/xcore/v2)\n[![GolangCI](https://golangci.com/badges/github.com/webability-go/xcore.svg)](https://golangci.com)\n\n# Please use xcore/v2\n\n# The version 1 is obsolete.\n\nimport \"github.com/webability-go/xcore/v2\"\n\nThe XCore package is used to build basic object for programmation. for the WebAbility compatility code\nFor GO, the actual existing code includes:\n- XCache: Application Memory Caches, thread safe.\n- XDataset: Basic nested data structures for any purpose (template injection, configuration files, database records, etc) Support thread safe operations on thread safe structures (XDatasetTS and XDatasetCollectionTS)\n- XLanguage: language dependent text tables, thread safe\n- XTemplate: template system with meta language, thread safe cloning\n\nManuals are available on godoc.org [![GoDoc](https://godoc.org/github.com/webability-go/xcore/v2?status.png)](https://godoc.org/github.com/webability-go/xcore/v2)\n\n# Please use xcore/v2\n\n# The version 1 is obsolete.\n\nVersion Changes Control\n=======================\n\nv1.1.1 - 2022-09-02\n-----------------------\n- Bug corrected on XDataset.GetString() and XDatasetCollection.GetDataString(). \n  If the value is NIL int the dataset, it returns now \"\" and not \"\u003cnil\u003e\"\n\nv1.1.0 - 2020-03-01\n-----------------------\n- Modularization of XCore\n- XLanguage tests and examples are now conform to Go test units\n- Implementation of XLanguage.String and XLanguage.GoString, removed Print\n- XCache tests and examples are now conform to Go test units\n- XDataset tests and examples are now conform to Go test units\n- Implementation of XDataset.String and XDataset.GoString, removed Print\n- Implementation of XDatasetCollection.String and XDatasetCollection.GoString, removed Print\n- XTemplate tests and examples are now conform to Go test units\n- Implementation of XTemplate.String and XTemplate.GoString, removed Print\n\nv1.0.1 - 2020-02-10\n-----------------------\n- Documentation corrections\n- Bug on String() and GoString() corrected\n\nv1.0.0 - 2020-02-09\n-----------------------\n- Version leveling\n- Documentation corrections\n- Change functions Stringify() by String() and GoString() for language compatibility\n- Tests functions enhanced\n\nv0.3.1 - 2020-02-09\n-----------------------\n- XDatasetDef.Get must accept a path as key (id\u003eid\u003eid)\n- XTemplates now resolve {{ fields with path id\u003eid\u003eid\n- XTemplates now resolve @@ metalanguage with 1 and 2 Parameters\n- XTemplates now resolve \u0026\u0026 metalanguage with 1,2 and 3 Parameters\n- XTemplates now resolve ?? metalanguage with 1, and 2 Parameters\n- XTemplates now resolve !! debug orders\n- XTemplates now implements sub templates derivation (.none .first .last .(number) )\n- Manuals for XCache, XLanguage and XTemplate written with reference of the metalanguage\n- Examples for dataset and xtemplate added (working version)\n- XDataset and XDatasetCollection .Stringify now prints also field names.\n\nv0.3.0 - 2020-02-06\n-----------------------\n- The properties of XTemplateParam are now public so the full structure can be used to build other type of code based on the XTemplate rules\n- The subtemplates IDs must be lowers, numbers and . - _ in sight of integration with other systems that can mix tags [[]] within the code\n\nv0.2.3 - 2020-01-23\n-----------------------\n- Corrected a bug to avoid null pointer panic error if the array of data for XTemplate.Execute function is nil\n\nv0.2.2 - 2019-12-21\n-----------------------\n- XLanguage now support golang x/text/language instead of direct iso 2 charater language\n- godoc manuals for xlanguage, xdataset and xtemplate prepared\n\nv0.2.1 - 2019-12-13\n-----------------------\n- XCache manual enhanced with examples\n\nv0.2.0 - 2019-12-06\n-----------------------\n- XCache Code simplified to expose XCache definition as public, remove not usefull funcion (Get*)\n- XCache 0.2.0 is not compatible with XCache 0.1.* , you may need to change your code\n- Added more conversions between int-float-bool in XDataset.Get*\n\nv0.1.2 - 2019-12-05\n-----------------------\n- Code cleaned to meet golangci standards, golint checks, more documentation.\n\nV0.1.1 - 2019-11-05\n-----------------------\n- XCore Code comments enhanced to publish in godoc.org as libraries documentation\n\nV0.1.0 - 2019-10-18\n-----------------------\n- Code cleaned to pass 100% of goreportcard.com. Card note added in this document\n\nV0.0.9 - 2019-07-18\n-----------------------\n- Error corrected on XCache: removing an element from a slice when the element is the last one was causing out of bound index.\n- XCache.maxitem = 0 (no number of elements limit) is corrected: it was not working\n\nV0.0.8 - 2019-06-25\n-----------------------\n- Added Clone on XDatasetDef and XDataCollectionsetDef\n- XDataset testunit added\n\nV0.0.7 - 2019-03-06\n-----------------------\n- Time functions added to XDatasetDef and XDatasetCollectionDef interfaces, and XDataset and XDatasetCollection structures\n- Manual for XCache finished\n- Manual for XDataset finished\n- Preformat for XLanguage manual\n- Preformat for XTemplate manual\n\nV0.0.6 - 2019-02-07\n-----------------------\n- Added xcache.GetId(), xcache.GetMax() and xcache.GetExpire()\n- XCache Documentation modified\n\nV0.0.5 - 2019-02-05\n-----------------------\n- Added conversion between types con XDataset.Get* functions\n- Manuals for XDataSet and XTemplate complemented\n\nV0.0.4 - 2019-01-06\n-----------------------\n- XDataset.Get* functions added to comply with any type of data of a dataset for templates, config, database record etc.\n- XCache manual completed.\n\nV0.0.3 - 2019-01-02\n-----------------------\n- Added XCache.Flush function\n- Function XCache.Del implemented\n- Function XCache.Clean implemented for expiration, and free some space\n- Function XCache.Verify created\n- Function XCache.SetValidator added, to check cache validity agains a validator function\n- Files flags and code removed from XCache. If the cache is a file, the user should controls the files with its own Validator function (original funcions put in examples as a file validator). This lets a lots of flexibility to validate against any source of data (files, database, complex calculations, external streams, etc)\n- XCache is ready for candidate release\n\nV0.0.2 - 2018-12-17\n-----------------------\n- Creation of XCache with all set of functions.\n- Creation of XLanguage with all set of functions.\n- Creation of XTemplate with all set of functions. Basic work done\n- Creation of a set of interfaces that XTemplate need to execute and inject the template,\n- Creation of a basic XDataset and colection based on interfaces to build a set of data for the template.\n- Added xcore.go with version number as constant\n\nV0.0.1 - 2018-11-14\n-----------------------\n- First basic commit with XLanguage object created\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Fxcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebability-go%2Fxcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Fxcore/lists"}