{"_id":"ldml-number","_rev":"7-003b787f79f5f8a83888dbb6eded7ddf","name":"ldml-number","description":"Formats numbers using the Unicode formatting standard, LDML.","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"ldml-number","version":"1.0.0","description":"Formats numbers using the Unicode formatting standard, LDML.","main":"index.js","scripts":{"test":"tape test/*-test.js && eslint index.js src"},"keywords":["ldml","number","format","formatting","i18n","l10n"],"author":{"name":"Borgar Þorsteinsson","email":"borgar@borgar.net","url":"http://borgar.net/"},"license":"MIT","devDependencies":{"tape":"~4.6.2"},"dependencies":{"babel":"^6.5.2","babel-core":"^6.18.2","babel-loader":"^6.2.7","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.18.0","babel-preset-es2015-node6":"^0.4.0","eslint":"^3.10.2","eslint-loader":"^1.6.1","eslint-plugin-promise":"^3.3.2","webpack":"^1.13.3"},"gitHead":"c8d2082dba4bcba742e858d821c1c33d17ebdfe0","_id":"ldml-number@1.0.0","_shasum":"ba4c7d22f1f2d1e77fc57a4cec238853e6332a6b","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"borgar","email":"borgar@borgar.net"},"dist":{"shasum":"ba4c7d22f1f2d1e77fc57a4cec238853e6332a6b","tarball":"https://registry.npmjs.org/ldml-number/-/ldml-number-1.0.0.tgz","integrity":"sha512-JksADlmj+unvg3YdfgimyR2vs/z5HRJx8dCFFUiKAr2lu61oU1wppZ4FblJ1d0/Ckj7S/1+dVSEq6svDiYqMLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkMioiBKQHIPitFb0zrJ0Dwd58XKoTO8DO6j6xL4wC1gIhAO3GVnpQNQcpQVWXvnYkxPlsx7h+Ow3H3NMWRiKEzhYp"}]},"maintainers":[{"name":"borgar","email":"borgar@borgar.net"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ldml-number-1.0.0.tgz_1479317956552_0.1298362147063017"}},"1.0.1":{"name":"ldml-number","version":"1.0.1","description":"Formats numbers using the Unicode formatting standard, LDML.","main":"index.js","scripts":{"test":"tape test/*-test.js && eslint index.js src"},"keywords":["ldml","number","format","formatting","i18n","l10n"],"author":{"name":"Borgar Þorsteinsson","email":"borgar@borgar.net","url":"http://borgar.net/"},"license":"MIT","devDependencies":{"tape":"~4.6.2","babel":"^6.5.2","babel-core":"^6.18.2","babel-loader":"^6.2.7","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.18.0","babel-preset-es2015-node6":"^0.4.0","eslint":"^3.10.2","eslint-loader":"^1.6.1","eslint-plugin-promise":"^3.3.2","webpack":"^1.13.3"},"gitHead":"b61dd805499d8d7691135a14611844eede0ecb26","_id":"ldml-number@1.0.1","_shasum":"0a6d68faeb4cf3016a30f6db4d870768e9e50ee2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"borgar","email":"borgar@borgar.net"},"dist":{"shasum":"0a6d68faeb4cf3016a30f6db4d870768e9e50ee2","tarball":"https://registry.npmjs.org/ldml-number/-/ldml-number-1.0.1.tgz","integrity":"sha512-7/iqrNupo5EHUCKctSh5eA/siVqpI/QYh9flKA2xvO9xg4B1xIP4D6aRNhub9oIxZop+Hb1g1HsA/YFDgQHYEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+oXR2vwD6KscKrPFmjhE2JwBMgpu/0SDFJxwJwm+nSAiBGZF7FLO+wNiMqYaeF5ZFFn3Xf100yWypsuI3CfVhq5w=="}]},"maintainers":[{"name":"borgar","email":"borgar@borgar.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ldml-number-1.0.1.tgz_1479379592886_0.7633396685123444"}},"1.0.2":{"name":"ldml-number","version":"1.0.2","description":"Formats numbers using the Unicode formatting standard, LDML.","main":"index.js","scripts":{"test":"tape test/*-test.js && eslint index.js src"},"keywords":["ldml","number","format","formatting","i18n","l10n"],"author":{"name":"Borgar Þorsteinsson","email":"borgar@borgar.net","url":"http://borgar.net/"},"license":"MIT","devDependencies":{"tape":"~4.6.2","babel":"^6.5.2","babel-core":"^6.18.2","babel-loader":"^6.2.7","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.18.0","babel-preset-es2015-node6":"^0.4.0","eslint":"^3.10.2","eslint-loader":"^1.6.1","eslint-plugin-promise":"^3.3.2","webpack":"^1.13.3"},"gitHead":"4e1f71a2f58ea0d5cc20c7eadd197f7e4d460652","_id":"ldml-number@1.0.2","_shasum":"2259ab710045f48d3aeb3565afbaf3af837d3af5","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"borgar","email":"borgar@borgar.net"},"dist":{"shasum":"2259ab710045f48d3aeb3565afbaf3af837d3af5","tarball":"https://registry.npmjs.org/ldml-number/-/ldml-number-1.0.2.tgz","integrity":"sha512-NhXwIJQ74Y97GwLOzdQn9cGDgSN3aIz16hhoj4czmYEjGZluj4wBtYoF2sHeR9aqNtUf18IGP7GUuCHtv9XyOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5m8I/n2ZGTnubFSkWScN9LYeZ5XD1fZt5EbyUwE6OoAIhANidaIKiUFMQtAdimkiFccP0P8ikU++QafJaTwmaWBbi"}]},"maintainers":[{"name":"borgar","email":"borgar@borgar.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ldml-number-1.0.2.tgz_1479386020353_0.4978125209454447"}},"1.1.0":{"name":"ldml-number","version":"1.1.0","description":"Formats numbers using the Unicode formatting standard, LDML.","main":"index.js","scripts":{"test":"tape test/*-test.js && eslint index.js src","build":"npm run test && webpack && WEBPACK_ENV=min webpack"},"keywords":["ldml","number","format","formatting","i18n","l10n"],"author":{"name":"Borgar Þorsteinsson","email":"borgar@borgar.net","url":"http://borgar.net/"},"license":"MIT","devDependencies":{"tape":"~4.6.2","babel":"^6.5.2","babel-core":"^6.18.2","babel-loader":"^6.2.7","babel-plugin-add-module-exports":"^0.2.1","babel-preset-es2015":"^6.18.0","babel-preset-es2015-node6":"^0.4.0","eslint":"^3.10.2","eslint-loader":"^1.6.1","eslint-plugin-promise":"^3.3.2","webpack":"^1.13.3"},"gitHead":"57bdc353902071ca597665affc45b2613976968e","_id":"ldml-number@1.1.0","_npmVersion":"5.0.4","_nodeVersion":"6.9.5","_npmUser":{"name":"borgar","email":"borgar@borgar.net"},"dist":{"integrity":"sha512-v1mjuYDT8RmybymMpQlgdgknXq4UXte3KipoGiNdtIKbP7jemmj34Zobpj+cI+F0+nj2N+rOn9KXijciZv3Wyw==","shasum":"a9bb02dd8678d940754ff5a5eaf35629ffab18f9","tarball":"https://registry.npmjs.org/ldml-number/-/ldml-number-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnJbLujJZU+4LwSDdN8N8JuQbbxNEz1mszh2hJFOz01wIhALZl8+EHWa1vaP9P/DqV3w92lgpb2Z+yNISPHUbOjJS7"}]},"maintainers":[{"name":"borgar","email":"borgar@borgar.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ldml-number-1.1.0.tgz_1505150120319_0.1545608954038471"}}},"readme":"# LDML number formatter\n\nThis is a number formatter that uses the Unicode [LDML number syntax][spec] to specify the output.\n\n\n## Installing\n\nIt's available on [npm](npmjs.org/package/ldml-number):\n\n    npm i --save ldml-number\n\nAlternatively there are web-compatible builds under `lib/` which you can include in your page directly.\n\n## Using\n\nThe module is a constructor function which returns a reusable number formatting function.\n\n    const format = ldmlnum([pattern [, locale]]);\n\n\nIn praxis the usage will be something like this:\n\n    const ldmlnum = require('ldml-number');\n    const format = ldmlnum(\"#,##0.#\");\n    format(1234.56) // \"1,234.6\"\n\nThe web-builds expose the module in the global namespace as `ldmlnum`.\n\n\n### Patterns\n\nThe _pattern_ parameter defaults to `\"#,##0.###;-#,##0.###\"`. \n\n> A pattern contains a positive subpattern and may contain a negative subpattern, for example, `\"#,##0.00;(#,##0.00)\"`. Each subpattern has a prefix, a numeric part, and a suffix. If there is no explicit negative subpattern, the implicit negative subpattern is the ASCII minus sign (`-`) prefixed to the positive subpattern.\n\nRefer to the [LDML number syntax][spec] for the interpretation of the characters.\n\n\n### Localization\n\nYou can prefer a locale as a [BCP-47 tag](https://tools.ietf.org/html/bcp47) when a formatter is created:\n\n    const format_en = ldmlnum('#,##0.0#');\n    const format_sv = ldmlnum('#,##0.0#', 'sv');\n\n    format_en(1234.56) // \"1,234.56\"\n    format_sv(1234.56) // \"1.234,56\"\n\nThis works with subtags if you need variants:\n\n    const format_en = ldmlnum('#,##0.0#', 'de');\n    const format_sv = ldmlnum('#,##0.0#', 'de-AT');\n\nWhen the subtag isn't available but the base language is, the base language is used. So `ldmlnum('#,##0.0#', 'sv-XX)` would return a formatter with `sv` properties assuming `sv-XX` hasn't been set.\n\nThe tags are case-sensitive, but formatter is will try to resolve `-` and `_`. You can therefore assign to `en_US` but call it with a `en-US` tag.\n\n\nThe library supports the entire set of [CLDR][cldr] locales out of the box.\n\nNote, however, that dialects that don't deviate from their language are not explicitly specified. Because `es-AR` has the same options as `es` the formatter will fallback to `es` when called with the dialect. This has the one implication that you cannot safely expect to be able to manually change a single setting by accessing `ldmlnum.locale[some_language_tag]`.\n\n\n#### Defining locales:\n\nYou might want to specify your locale beforehand.\n\nThe module object has a locale collection object attached that you must assign new locales to. You can do it manually:\n\n    ldmlnum.locale.en = {\n      thousands_separator: ',',\n      decimal_separator: '.',\n      positive_sign: '+',\n      negative_sign: '-',\n      exponent_symbol: 'E',\n      infinity_symbol: '∞',\n      nan_symbol: '☹'\n    };\n\nPartial assignments will default to English (here above) for the missing properties.\n\nAlternatively, you can use a function:\n\n    ldmlnum.locale([ group, decimal, plus, minus, exp, inf, nan ])\n\nAll parameters are optional. The usual usage would be:\n\n    const ldmlnum = require('ldml-number');\n\n    # define locales\n    ldmlnum.locale.de = ldmlnum.locale('.', ',');\n    ldmlnum.locale.de_AT = ldmlnum.locale(' ', ',');\n\n    # format some numbers\n    const format = ldmlnum( '#,##0.0#', 'de' );\n    format( 1234.56 ) // \"1.234,56\"\n\n    const format_AT = ldmlnum( '#,##0.0#', 'de-AT' );\n    format_AT( 1234.56 ) // \"1 234,56\"\n\n\n### Rounding\n\nThe [LDML specifies half even rounding](http://unicode.org/reports/tr35/tr35-numbers.html#Rounding).\nThis function is available from the outside:\n\n    ldmlnum.round(number[, decimal_places ])\n\nThe formatter calls this very function so you may overwrite it in case you want something else.\n\n\n[spec]: http://unicode.org/reports/tr35/tr35-numbers.html#Number_Pattern_Character_Definitions\n[cldr]: http://cldr.unicode.org/\n\n","maintainers":[{"name":"borgar","email":"borgar@borgar.net"}],"time":{"modified":"2022-06-19T11:06:39.839Z","created":"2016-11-16T17:39:17.170Z","1.0.0":"2016-11-16T17:39:17.170Z","1.0.1":"2016-11-17T10:46:35.036Z","1.0.2":"2016-11-17T12:33:42.605Z","1.1.0":"2017-09-11T17:15:21.552Z"},"keywords":["ldml","number","format","formatting","i18n","l10n"],"author":{"name":"Borgar Þorsteinsson","email":"borgar@borgar.net","url":"http://borgar.net/"},"license":"MIT","readmeFilename":"README.md"}