{"_id":"ini-simple-parser","_rev":"3184150","name":"ini-simple-parser","description":"A simple, fast and configurable INI parser.","dist-tags":{"latest":"1.0.0"},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"time":{"modified":"2023-12-06T08:49:30.000Z","created":"2023-11-14T19:08:15.948Z","1.0.0":"2023-11-14T19:08:15.948Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/fabiospampinato/ini-simple-parser.git"},"versions":{"1.0.0":{"name":"ini-simple-parser","repository":{"type":"git","url":"git+https://github.com/fabiospampinato/ini-simple-parser.git"},"description":"A simple, fast and configurable INI parser.","version":"1.0.0","type":"module","main":"dist/index.js","exports":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"benchmark":"tsex benchmark","benchmark:watch":"tsex benchmark --watch","clean":"tsex clean","compile":"tsex compile","compile:watch":"tsex compile --watch","test":"tsex test","test:watch":"tsex test --watch","prepublishOnly":"tsex prepare"},"keywords":["ini","simple","parser","editorconfig"],"devDependencies":{"benchloop":"^2.1.1","fava":"^0.3.1","tsex":"^3.0.1","typescript":"^5.2.2"},"gitHead":"910520dc57af922e4a7e43ba98f0f2ab5aeda2bf","bugs":{"url":"https://github.com/fabiospampinato/ini-simple-parser/issues"},"homepage":"https://github.com/fabiospampinato/ini-simple-parser#readme","_id":"ini-simple-parser@1.0.0","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"shasum":"687d32c3ba25f41cc07e671f0382f847359209db","size":5590,"noattachment":false,"key":"/ini-simple-parser/-/ini-simple-parser-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ini-simple-parser/download/ini-simple-parser-1.0.0.tgz"},"_npmUser":{"name":"fabiospampinato","email":"spampinabio@gmail.com"},"directories":{},"maintainers":[{"name":"fabiospampinato","email":"spampinabio@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ini-simple-parser_1.0.0_1699988895748_0.3216472483960655"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-14T19:08:15.948Z","publish_time":1699988895948,"_source_registry_name":"default","_cnpm_publish_time":1699988895948}},"readme":"# INI Simple Parser\n\nA simple, fast and configurable INI parser.\n\n## Install\n\n```sh\nnpm install --save ini-simple-parser\n```\n\n## Usage\n\nThe following options are supported:\n\n```ts\ntype Options = {\n  inferBooleans?: boolean, // Interpret true/TRUE/false/FALSE as booleans\n  inferNulls?: boolean, // Interpret null/NULL as nulls\n  inferNumbers?: boolean, // Interpret some strings that can be parsed as numbers as numbers\n  inferStrings?: boolean, // Automatically remove wrapping quotes from strings\n  inlineComments?: boolean // Automatically remove inline comments\n};\n```\n\nThis is how you'd use it:\n\n```ts\nimport parse from 'ini-simple-parser';\n\n// Let's define some initial string to parse\n\nconst INPUT = `\n  root=true\n  notRoot=\"false\"\n\n  ; last modified 1 April 2001 by John Doe\n  [owner]\n  name=John Doe\n  organization=Acme Widgets Inc.\n\n  [database]\n  # use IP address in case network name resolution is not working\n  server = 192.0.2.62\n  port = 143\n  file = \"payroll.dat\"\n  extra1 = something ; Inline comment\n  extra2 = something else # Inline comment\n  null = null\n  nil = \"0\"\n`;\n\n// Let's parse it normally, without setting any options\n\nconst parsed = parse ( INPUT );\n// {\n//   root: 'true',\n//   notRoot: '\"false\"',\n//   owner: {\n//     name: 'John Doe',\n//     organization: 'Acme Widgets Inc.'\n//   },\n//   database: {\n//     server: '192.0.2.62',\n//     port: '143',\n//     file: '\"payroll.dat\"',\n//     extra1: 'something ; Inline comment',\n//     extra2: 'something else # Inline comment',\n//     null: 'null',\n//     nil: '\"0\"'\n//   }\n// }\n\n// Let's parse with every option enabled\n\nconst parsed = parse ( INPUT, {\n  inferBooleans: true,\n  inferNulls: true,\n  inferNumbers: true,\n  inferStrings: true,\n  inlineComments: true\n});\n// {\n//   root: true,\n//   notRoot: 'false',\n//   owner: {\n//     name: 'John Doe',\n//     organization: 'Acme Widgets Inc.'\n//   },\n//   database: {\n//     server: '192.0.2.62',\n//     port: 143,\n//     file: 'payroll.dat',\n//     extra1: 'something',\n//     extra2: 'something else',\n//     null: null,\n//     nil: '0'\n//   }\n// }\n```\n\n## License\n\nMIT © Fabio Spampinato\n","_attachments":{},"homepage":"https://github.com/fabiospampinato/ini-simple-parser#readme","bugs":{"url":"https://github.com/fabiospampinato/ini-simple-parser/issues"}}