{
  "_args": [
    [
      {
        "raw": "unorm@^1.3.3",
        "scope": null,
        "escapedName": "unorm",
        "name": "unorm",
        "rawSpec": "^1.3.3",
        "spec": ">=1.3.3 <2.0.0",
        "type": "range"
      },
      "/Users/steveng/repo/cordova/cordova-browser/node_modules/cordova-common"
    ]
  ],
  "_from": "unorm@>=1.3.3 <2.0.0",
  "_id": "unorm@1.4.1",
  "_inCache": true,
  "_location": "/unorm",
  "_npmUser": {
    "name": "walling",
    "email": "bwp@bwp.dk"
  },
  "_npmVersion": "1.4.28",
  "_phantomChildren": {},
  "_requested": {
    "raw": "unorm@^1.3.3",
    "scope": null,
    "escapedName": "unorm",
    "name": "unorm",
    "rawSpec": "^1.3.3",
    "spec": ">=1.3.3 <2.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/cordova-common"
  ],
  "_resolved": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
  "_shasum": "364200d5f13646ca8bcd44490271335614792300",
  "_shrinkwrap": null,
  "_spec": "unorm@^1.3.3",
  "_where": "/Users/steveng/repo/cordova/cordova-browser/node_modules/cordova-common",
  "author": {
    "name": "Bjarke Walling",
    "email": "bwp@bwp.dk"
  },
  "bugs": {
    "url": "https://github.com/walling/unorm/issues"
  },
  "contributors": [
    {
      "name": "Bjarke Walling",
      "email": "bwp@bwp.dk"
    },
    {
      "name": "Oleg Grenrus",
      "email": "oleg.grenrus@iki.fi"
    },
    {
      "name": "Matsuza",
      "email": "matsuza@gmail.com"
    }
  ],
  "dependencies": {},
  "description": "JavaScript Unicode 8.0 Normalization - NFC, NFD, NFKC, NFKD. Read <http://unicode.org/reports/tr15/> UAX #15 Unicode Normalization Forms.",
  "devDependencies": {
    "benchmark": "~1.0.0",
    "grunt": "~0.4.1",
    "grunt-contrib-jshint": "~0.8.0",
    "grunt-contrib-watch": "~0.5.0",
    "grunt-simple-mocha": "~0.4.0",
    "unorm": "1.4.1"
  },
  "directories": {},
  "dist": {
    "shasum": "364200d5f13646ca8bcd44490271335614792300",
    "tarball": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz"
  },
  "engines": {
    "node": ">= 0.4.0"
  },
  "gitHead": "e802d0d7844cf74b03742bce1147a82ace218396",
  "homepage": "https://github.com/walling/unorm#readme",
  "license": "MIT or GPL-2.0",
  "main": "./lib/unorm.js",
  "maintainers": [
    {
      "name": "walling",
      "email": "bwp@bwp.dk"
    }
  ],
  "name": "unorm",
  "optionalDependencies": {},
  "readme": "This is [Unicode Normalizer] in a Common JS module. I'm not affiliated with Matsuza, the original author of Unicode Normalizer.\n\n[![Build Status](https://travis-ci.org/walling/unorm.png?branch=master)](https://travis-ci.org/walling/unorm)\n\n\nInstallation\n------------\n\n```bash\nnpm install unorm\n```\n\nPolyfill\n--------\n\nYou can use this module as a polyfill for [String.prototype.normalize], for example:\n\n```javascript\nconsole.log('æøåäüö'.normalize('NFKD'));\n```\n\nThe module uses some [EcmaScript 5](http://kangax.github.io/es5-compat-table/) features. Other browsers should use a compability shim, e.g. [es5-shim](https://github.com/kriskowal/es5-shim).\n\nFunctions\n---------\n\nThis module exports four functions: `nfc`, `nfd`, `nfkc`, and `nfkd`; one for each Unicode normalization. In the browser the functions are exported in the `unorm` global. In CommonJS environments you just require the module. Functions:\n\n *  `unorm.nfd(str)` – Canonical Decomposition\n *  `unorm.nfc(str)` – Canonical Decomposition, followed by Canonical Composition\n *  `unorm.nfkd(str)` – Compatibility Decomposition\n *  `unorm.nfkc(str)` – Compatibility Decomposition, followed by Canonical Composition\n\n\nNode.JS example\n---------------\n\nFor a longer example, see `examples` directory.\n\n```javascript\nvar unorm = require('unorm');\n\nvar text =\n  'The \\u212B symbol invented by A. J. \\u00C5ngstr\\u00F6m ' +\n  '(1814, L\\u00F6gd\\u00F6, \\u2013 1874) denotes the length ' +\n  '10\\u207B\\u00B9\\u2070 m.';\n\nvar combining = /[\\u0300-\\u036F]/g; // Use XRegExp('\\\\p{M}', 'g'); see example.js.\n\nconsole.log('Regular:  ' + text);\nconsole.log('NFC:      ' + unorm.nfc(text));\nconsole.log('NFD:      ' + unorm.nfd(text));\nconsole.log('NFKC:     ' + unorm.nfkc(text));\nconsole.log('NFKD: *   ' + unorm.nfkd(text).replace(combining, ''));\nconsole.log(' * = Combining characters removed from decomposed form.');\n```\n\n\nRoad map\n--------\n\nAs of November 2013. Longer term:\n\n- Look at possible optimizations (speed primarely, module size secondarily)\n- Adding functions to quick check normalizations: `is_nfc`, `is_nfd`, etc.\n\n\nContributers\n------------\n\n - **Oleg Grenrus** is helping to maintain this library. He cleaned up the code base, fixed JSHint errors, created a test suite and updated the normalization data to Unicode 6.3.\n\n\nDevelopment notes\n-----------------\n\n- [Unicode normalization forms report](http://www.unicode.org/reports/tr15/)\n- Unicode data can be found from http://www.unicode.org/Public/UCD/latest/ucd\n\nTo generate new unicode data, run:\n```sh\ncd src/data/src\njavac UnormNormalizerBuilder.java\njava UnormNormalizerBuilder\n```\nproduced `unormdata.js` contains needed table\n\nExecute `node benchmark/benchmark.js` to run simple benchmarks, if you do any changes which may affect performance.\n\nLicense\n-------\n\nThis project includes the software package **Unicode Normalizer 1.0.0**. The\nsoftware dual licensed under the MIT and GPL licenses. Here is the MIT license:\n\n    Copyright (c) 2008-2013 Matsuza <matsuza@gmail.com>, Bjarke Walling <bwp@bwp.dk>\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to\n    deal in the Software without restriction, including without limitation the\n    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n    sell copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in\n    all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n    IN THE SOFTWARE.\n\n\n[Unicode Normalizer]: http://coderepos.org/share/browser/lang/javascript/UnicodeNormalizer\n[String.prototype.normalize]: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.5.3.26\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+ssh://git@github.com/walling/unorm.git"
  },
  "scripts": {
    "test": "grunt test"
  },
  "version": "1.4.1"
}
