Giter VIP home page Giter VIP logo

golib's Introduction

tawesoft/golib

Go Reference Coverage Status

A monorepo for small Go (v1.21+) modules maintained by Tawesoft®, with few dependencies.

import "github.com/tawesoft/golib/v2/..."

This is free & open source software made available under the MIT Licence.

Some portions, particularly portions relating to CSS processing and Unicode support, are additionally covered by compatible MIT-like licences.

Packages

Note: Additional v2/legacy packages exist for users migrating from tawesoft.co.uk/go. See MIGRATIONS.md.

Note: "Stable" packages have the normal stability guarantees expected for a Go package of v2 or higher. "Latest" packages do not. See MIGRATIONS.md.

General Packages

Name Stable Latest Description
css/tokenizer - v2 CSS tokenizer for CSS Syntax Module Level 3
dialog v2 - cross-platform message boxes & file pickers
iter - v2 composable lazy iteration
ks - v2 (unstable) "kitchen sink" of extras
html/meta/opengraph v2 - HTML meta tags for Facebook's Open Graph protocol
html/meta/twittercard v2 - HTML meta tags for Twitter Cards
must v2 - assertions
operator v2 - operators as functions
tuple v2 - convert to/from tuples
view v2 - dynamic views over collections

Data-Structures

Name Stable Latest Description
bitseq - v2 compact "infinite" sequence of bits
digraph - v2 (unstable) directed graphs (including DAGs)
garry - v2 generational array indices

Functional-style Packages

Name Stable Latest Description
fun/either v2 - "Either" type
fun/future v2 synchronous and asynchronous future values
fun/maybe v2 - "Maybe" type
fun/partial v2 - partial function application
fun/promise - v2 store computations to be performed later
fun/result v2 - "Result" type
fun/slices v2 - higher-order functions for slices

Text & Unicode Packages

Name Stable Latest Description
text/ccc - v2 Unicode Canonical Combining Class values
text/dm - v2 Unicode decomposition mappings & selective decompositions
text/fallback - v2 Unicode Character Fallback Substitutions
text/fold - v2 Unicode text folding
text/np - v2 Unicode numeric properties
text/number/algorithmic v2 - CLDR algorithmic (non-decimal) numbering systems
text/number/plurals v2 - CLDR plural rules with a simple interface
text/number/rbnf - v2 CLDR Rule-Based Number Formats
text/number/symbols - v2 CLDR locale-appropriate Number Symbols

TODO

Name Stable Latest Description
drop - legacy drop process privileges and inherit handles
grace - legacy start and gracefully shutdown processes
humanize - legacy locale-aware numbers & quantities
loader - legacy concurrent dependency graph solver

Support

Free and Community Support

Use the tawesoft/golib issue tracker, powered by GitHub issues.

Commercial Support

Open source software from Tawesoft® is backed by commercial support options. Email [email protected] or visit tawesoft.co.uk/products/open-source-software to learn more.

golib's People

Contributors

golightlyb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

golib's Issues

Issue with golib/v2/legacy/localize parsing invalid numbers

Not sure if you're open to issue reports on not, specially in the legacy libraries, but I had an issue with your library golib/v2/legacy/localize and was wondering if there's a way to fix this. Consider the following example:

import (
	"github.com/tawesoft/golib/v2/legacy/localize"
	"golang.org/x/text/language"
)

numberFormat := localize.NewDecimalFormat(language.BritishEnglish)
result, err := numberFormat.ParseFloat("1234.56")

numberFormat := localize.NewDecimalFormat(language.German)
result, err := numberFormat.ParseFloat("1234.56")

For English, the result is 1234.56 as expected. But for German, the . is the thousands separator, so result becomes 123456.00. I explored this library and found that group separators are simply ignored. This sort of makes sense, since this separator is superfluous. But In my opinion the number 1234.56 in German should actually be invalid because you can't have just 2 digits after the separator.

I understand you are probably not interested in patching this legacy library, but I wonder if there's at least a way to access the decimal separator externally. It would at least allow me to do some extra validation of the number format beforehand.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.