{"_id":"@flourish/number-localization","_rev":"90-93deaa579202340b5ee149c11a422c80","name":"@flourish/number-localization","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1-alpha2":{"name":"@flourish/number-localization","version":"0.0.1-alpha2","author":{"name":"Kiln Enterprises Ltd"},"license":"UNLICENSED","_id":"@flourish/number-localization@0.0.1-alpha2","maintainers":[{"name":"annaps","email":"anna@anna.ps"},{"name":"contentment","email":"support@getcontentment.com"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"felixmichel","email":"felix_michel@gmx.ch"},{"name":"gavrilov","email":"daniel@gavrilov.co.uk"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"julien1993","email":"julien1993@hotmail.ca"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"5e7dc85aadeb4bb8962a5d7101d6ce5253026e9a","tarball":"https://registry.npmjs.org/@flourish/number-localization/-/number-localization-0.0.1-alpha2.tgz","fileCount":6,"integrity":"sha512-xjHtRFcovPcZwBli33xnkGTyJYeUKm17clMKiOd/Dfus+29H5rMVOxFDtreqmzgR4JL09WaQbtSZXxaayNRZkg==","signatures":[{"sig":"MEUCIQCHeotioNo46O2I2Tig1t+UnllYHuUXRGtN4vDrygIEiQIgNcCO7elsS9fUCjjFVF+fHk2fIj2xIbSXZbLduFQNxcA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK616CRA9TVsSAnZWagAA3EMQAJf0hms/CPVgLDSvUyjy\nFMtMpvkly/0hK3w6rExPWcmQbFOTrcJIfYMNlQZBCgHKknqRIFeLJc66xBN3\nih5u9N/0b+5/sG2hYJdk49w61P/duYJwIcW8mnietYCBLJSgXuYFaB5I/CSj\nAqu4Li2BA+mkx6Z2imJV0IkdcclCkZ2/k90CASav01hhX7AkFM49AYOcNLMT\n+OWctTIStR8dPUnvAJwmg7RISIAThiP+F72rVaM2vGyyMTov87ySv+rTDBVO\nxKZj2f5jUog4TwvXA5q/1GaFD6upruuvhGs54Z8j917PQaSbz3M5E2Kra5d+\nk8l5+Ak2dGyq26lqE0LdKXnksMoexouoSxpPfISl7lxn5NECDwlIuHjkJ0D0\nBQHwDnYRsAW9nJkoz07oJSUmPEM/d4EFAqHnjbIssnxmjjg1DSgmH2KLBQHA\nsuHW/CrfTklPzUEtYzvIcQtjnv2tk0T/rQWxRvgYv2snfmjqYGd8mvFMui4T\nKhHeJeyc9bsI6htfCrvbaYRvuAG8eEP/w9tK4V0FAjOZDF0O+pl24XjMbrhF\n/4xdLHKebMGuGa/wbggLRZxcPsj5dZOVDoy5W/klkBZWQTVJcv2/7sOlBmHD\nTrtlOalEFlQNRZ6IIElBgBUetWxLz5KdCtsjJJ28w0vqweh5ZGcy5qULShp5\neB/e\r\n=nwff\r\n-----END PGP SIGNATURE-----\r\n"},"main":"number-localization.js","module":"src/index.js","gitHead":"0999ce44deb9bc6b4a48285d66dcb27b340e9ad1","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o number-localization.min.js number-localization.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"5.6.0","description":"Input and output number separators","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","eslint":"^4.19.1","uglify-js":"^2.7.5","lint-staged":"^7.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/number-localization_0.0.1-alpha2_1529589114815_0.0761097175828025","host":"s3://npm-registry-packages"}},"0.0.1-alpha3":{"name":"@flourish/number-localization","version":"0.0.1-alpha3","author":{"name":"Kiln Enterprises Ltd"},"license":"UNLICENSED","_id":"@flourish/number-localization@0.0.1-alpha3","maintainers":[{"name":"annaps","email":"anna@anna.ps"},{"name":"contentment","email":"support@getcontentment.com"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"felixmichel","email":"felix_michel@gmx.ch"},{"name":"gavrilov","email":"daniel@gavrilov.co.uk"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"julien1993","email":"julien1993@hotmail.ca"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"ddb7c9c31a0287b8a5da277c855ada32be683ff3","tarball":"https://registry.npmjs.org/@flourish/number-localization/-/number-localization-0.0.1-alpha3.tgz","fileCount":6,"integrity":"sha512-YV1X+ukDziTuWIhPdx4YHOwwrxdjNvV3OUckWngoFkW4j0ZvqX1QgSbpzlv18QHtbzcbTM1RWQtM/zzxHEgpUg==","signatures":[{"sig":"MEQCIGkKuBbW5oJZVhotgszEV4EuP3Eol7m+EGDeIvAS8AvLAiB1JYLHcmVhh5LXWKjDh/chwJEeJUg/UNI+a1b2xPfSfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbK8XECRA9TVsSAnZWagAAJFcP/iNDpPH9Rc7MXSK8XnQr\nSfAVdwKYYGSDA19kEPgvMoO38zL9PjNnQ985uzhA43Lql2CcxTU5SVk2jfXV\ngcBfEMuKnTY2+nDU6T80ifNnz7X/cpRRAHrjJQEtvORuhfvPB2yRquOvAS87\nanYkv9+UPJn9pUGW7d/lwKe+nXuT3YmMWEOQwGgK/FtuXnxtQdvfgsAZhWmn\nx+gxJf+rYWpM+MnB5mbjjhPI2GYAEWK/sG7HJnVcApAs840QP0FeCT2TOSSP\n4Y0t7xKYfZcJEFw2QT28iTLJZWgPTI391ezjkXs+e67wSlN8wepHXXhtCuzQ\nFAqaQyWpGCF2TQRCI6IHfxskIBOrI5l3cLDRYOXhnqLnnsce7bNH9Tsc4KMd\nZZxCkBPz+P5n+BMHb5oCsnFVPnQbdDpkiNhNrgXc1FelDQVTZbKznLSJDJrQ\n5/p+wDYWojP6ODs054VD9FjysNfSaVzhSUA8G/HTxIcTU9Y1MLjGUfrQTae8\nCQvwqSeQA7Z46A7VgGkfyElRvpGk9fmjAKUHmBtMVzkNX1dGwswhWH68eRw/\n/2lTA3BiDEKlY53B18OSege5T1wA4F8HEKFRRBfbuacVRdmr0R25w1XnODuI\nQxttM3Ja94A+Yww8ojZwRellbY3p8qyk57nrApbEkPF45QQfaWUExKMTzThg\n9Q5s\r\n=tnz0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"number-localization.js","module":"src/index.js","gitHead":"c44c729dd779a9b57d732a1d0b11744cb4e7ac5b","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o number-localization.min.js number-localization.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"5.6.0","description":"Input and output number separators","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","eslint":"^4.19.1","uglify-js":"^2.7.5","lint-staged":"^7.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/number-localization_0.0.1-alpha3_1529595332680_0.7760168529115954","host":"s3://npm-registry-packages"}},"0.0.1-alpha4":{"name":"@flourish/number-localization","version":"0.0.1-alpha4","author":{"name":"Kiln Enterprises Ltd"},"license":"UNLICENSED","_id":"@flourish/number-localization@0.0.1-alpha4","maintainers":[{"name":"annaps","email":"anna@anna.ps"},{"name":"contentment","email":"support@getcontentment.com"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"felixmichel","email":"felix_michel@gmx.ch"},{"name":"gavrilov","email":"daniel@gavrilov.co.uk"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"julien1993","email":"julien1993@hotmail.ca"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"71d07ce9f2eaf1bc526ce9286dce47a736feff61","tarball":"https://registry.npmjs.org/@flourish/number-localization/-/number-localization-0.0.1-alpha4.tgz","fileCount":6,"integrity":"sha512-wMPuhhUgOkEvREbCyHtNDc7BqhBGL4dwNMCsy+OxIrLxmKc8J3RRRo83l+H8LSQXz0qg2lX4bVMEw799lZRnfw==","signatures":[{"sig":"MEYCIQCPAGHvq4awq2LQIxGEJRtK2qS4mf9LabM0B28g2fC9YgIhAIAZ1X4t9vz+vH5it+MHUPu7600cs5B1wT/OZRQFjPNP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLQ4fCRA9TVsSAnZWagAAvwAP/jFioBmfgDWhWRpAzKMF\n12OnPZNICp4Y8yFqOJgZr3ngMg46kbDQZwJP/Ot63EUCdgQDCSdU3aWU9cN7\nnqr3e7zyMZ/cDD+KHPjoyvAbKOuRSuklKWEsOSTtDe4bPC01d6dSWB6MeE3p\ncw6AsyJ92Ff6E2jnxjTWdDe/S6ZUdh5jWakco/raWeGUg9P8BeVKKuvzWBBi\nLgSFWEMeEk/0L2z5NFUn68FsPPaP49/NOo8oOEc6wOEEf5j8HdfYQeYOo3fA\nSaYpgOK/Mp/JiBI25wxkwN4M1e2OCGsxzSfJs0RQUtmr9DitiSD/2ffBb4H+\nlTDV9rpp3MBQiHm6zVg//gooDRA+cGg6yPeXeuOp+X0XQH4VXQPDwbtjGrGO\niqmAt9AiOZxT6PGpTui8/kXF+CugxVbwFLS+RVjrIs6H6LYM1oBbO5N7bsKS\n65+OeLBuR32SUkw01U/TugEd6SQYuImWRb7UD6W4iJkaBWMBJrYMzfsztXCa\nvK8rs4k4SPQoVpejR0AZ0sRUIISQIioIpgGXmM6mFelTN9Dlv/MwUJle5aK3\nMUIY+4bnrjDY8iOx/JF17R5qqq11YXH8K5Ik6IVgbW8Ek0j47vq7avuSK1gz\nw2U6tkqN4KpR1GVWci9phUwi20k10uX8/a46DRd0YTXKHeMKjnHZwptAefqE\n4pG3\r\n=qOuu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"number-localization.js","module":"src/index.js","gitHead":"c44c729dd779a9b57d732a1d0b11744cb4e7ac5b","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o number-localization.min.js number-localization.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"5.6.0","description":"Input and output number separators","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.11.1","dependencies":{"d3-format":"^1.3.0","rollup-plugin-node-resolve":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","eslint":"^4.19.1","uglify-js":"^2.7.5","lint-staged":"^7.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/number-localization_0.0.1-alpha4_1529679391406_0.13467225726318155","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"@flourish/number-localization","version":"0.0.1","author":{"name":"Kiln Enterprises Ltd"},"license":"UNLICENSED","_id":"@flourish/number-localization@0.0.1","maintainers":[{"name":"annaps","email":"anna@anna.ps"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"felixmichel","email":"felix_michel@gmx.ch"},{"name":"gavrilov","email":"daniel@gavrilov.co.uk"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"julien1993","email":"julien1993@hotmail.ca"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"42d9b8f8d1f2dcf7ab1d4129b0c53519c40fb8df","tarball":"https://registry.npmjs.org/@flourish/number-localization/-/number-localization-0.0.1.tgz","fileCount":7,"integrity":"sha512-2FLA8oPdJpOZODm3NI1/pWhcBQqFHIq7DDxq1QEMw5zkw4UU7DTBXoQ0ruEEdYijX/vo+CYmDZ75v8BE3mr1qg==","signatures":[{"sig":"MEUCIQCm1kUZhJWT2YDH/ALGN+aTwVSTi+AXai+fnoTU82Lh8wIgflNQnvJu7M1Tcz4xajcsVcITmkrdjInopV6LctnEujU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbepYOCRA9TVsSAnZWagAAY5oP/0au0OHN0BUMm/yXwsSH\nSNDstMuXIl9nbhwK5vel8EOixbOtTldgOHF3X+lV9d8ffHuNzVRNmFhscj8u\nIX6owg7ZYDuhGgpGiUtYYTvGuCLZ7gMRIaeURB6SWIY3rvofXROsOhse5B2R\nVm0vYvPHtNOeNK8V7wydDIERtqEglUyu6xIFmhrsaBaGSx2Xa1bkaVksF2gz\ngCozAcrKQMT/TDnbxP6vEVMyAIJuJDSKrDTceNb6ffAL/pE/7F97lSalG37f\nUUsivcio5kRqtks7TmBmOiZP/Hz+lcwE7XjpYooSbnPd6dFKs98jsSxCwc28\n1GT+XfiXQfWg4pzim/DA60GnH4ZnipRqfunUy/rNk9FFbTXB8XM5VTBnA/J+\nunYhexoLZIXavtXlGduZ4mdnEHYyTw7VzPfOczPR/84vxz0laeIRjdpJDivW\nviSHfWKdMmwWkiqxPntrH70fYKNE9sdy37PHSEkO8bAxyN448YNNOj5Ge5BP\nacRP6p7mrMLVB2Y1br4zZ79lX6v3UIBajxe6a6UlyRo2lP6d2UucxQtHojy4\nGlhyq/E8iMeC+dgHRbLTZ6d4CNwXr3FW6p+M1USbGM1wHAg9FfzDcvzG9QYv\nksgE6dHaTDz3Sgj6xRG4BnakX++5tf3hjhUaJMi6S/WAx2thR/fNU7TX0RjE\nhYTZ\r\n=f+a8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"number-localization.js","module":"src/index.js","gitHead":"a98f5bbd0510baf62270cae0b8ee3d27fe7ffb86","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o number-localization.min.js number-localization.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.3.0","description":"Input and output number separators","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.11.1","dependencies":{"d3-format":"^1.3.0","rollup-plugin-node-resolve":"^3.3.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^0.14.3","eslint":"^4.19.1","uglify-js":"^2.7.5","lint-staged":"^7.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/number-localization_0.0.1_1534760462030_0.3916706373989489","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-06-21T13:51:54.814Z","modified":"2026-08-19T18:13:29.677Z","0.0.1-alpha2":"2018-06-21T13:51:54.873Z","0.0.1-alpha3":"2018-06-21T15:35:32.795Z","0.0.1-alpha4":"2018-06-22T14:56:31.474Z","0.0.1":"2018-08-20T10:21:02.134Z"},"author":{"name":"Kiln Enterprises Ltd"},"license":"UNLICENSED","description":"Input and output number separators","maintainers":[{"email":"duncan@kiln.digital","name":"duncanclark"},{"email":"daan.louter@gmail.com","name":"daanlouter"},{"email":"hello@animateddata.co.uk","name":"animateddata"},{"email":"lars@datamake.io","name":"larsvers"},{"email":"luisabider@hotmail.com","name":"luptilu"},{"email":"h.robertson@icloud.com","name":"hrobertson"},{"email":"florin@kiln.digital","name":"florin.oprina"},{"email":"ben.lloyd@canva.com","name":"b3n-canva"},{"email":"brunoriddy@canva.com","name":"bruno-riddy"},{"email":"katietanner@canva.com","name":"katietannercanva"},{"email":"josephw@canva.com","name":"jwitcombe"},{"email":"becky.rush14@yahoo.co.uk","name":"rushlet"},{"email":"winna@canva.com","name":"winna_canva"},{"email":"jonty@canva.com","name":"jontyt"},{"email":"scottb@canva.com","name":"scottb-flourish"},{"email":"gwyneth@canva.com","name":"gwyneth.bassett"},{"email":"snavad@canva.com","name":"sega-canva"},{"email":"ci@kiln.it","name":"kiln-ci"},{"email":"niamhb@canva.com","name":"niamhb"},{"email":"guy.n@canva.com","name":"guyneedhamcanva"}],"readme":"# Flourish number localization\n\nFlourish module for setting the numeric separators used in a template. Used in conjunction with [Flourish number formatter](https://github.com/kiln/flourish-number-formatter).\n\n## Install\n\nTo install the module, type:\n``` shell\nnpm install @flourish/number-localization\n```\n\nTo add the module's settings block, include the following in a templates' template.yml file:\n``` yml\n- property: localization\n  import: \"@flourish/number-localization\"\n```\n\n## Usage\n\nInclude a (usually empty) object in the state declaration:\n\n``` js\n\tvar state = {\n\t\t/* Other declarations of default values */\n\t\tlocalization: {},\n\t\t/* Any further state properties */\n\t}\n```\n\nMake sure an instance of the module is initialised somewhere in the code before draw is called:\n\n``` js\nimport initLocalization from \"@flourish/number-localization\";;\n/* Other imports and code */\nvar localization = initLocalization(state.localization);\n/* Other initialisation code, eg Flourish-number-formatter instances */\nexport { localization/*, etc */ };\n```\n\nThis will add two properties to `state.localization` (if they don't already exist), `input_decimal_separator` (defaults to \".\") and `output_separators` (defaults to \",.\"). The exported `localization` object contains two methods, `getParser` and `getFormatterFunction`.\n\nThe `getParser` method returns a function for parsing text into numbers based on the value of `input_decimal_separator` at the time it is called;\n\n``` js\nimport { localization } from \"init.js\";\nvar parser = localization.getParser();\n[\"1.2\", \"-4,000\", \"$326k\"].map(parser) // Returns [1.2, -4000, 326] for input_decimal_separator === \".\"\n// The above would return [12, -4, 326] for input_decimal_separator === \",\"\n```\n\nThe `getFormatterFunction` method creates a locale function based on the value of `output_separators` at the time it is called. It is meant to  be passed on to instances of Flourish number formatter:\n```js\nimport { localization, getXAxisFormatter, getYAxisFormatter } from \"init.js\";\nvar localeFunction = localization.getFormatterFunction();\nvar xFormat = getXAxisFormatter(localeFunction);\nvar yFormat = getYAxisFormatter(localeFunction);\n```","readmeFilename":"README.md"}