{"_id":"@aspiesoft/cwsclib","_rev":"3-60f64cd0edb7dd0a0d0ade0b3aa38739","name":"@aspiesoft/cwsclib","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@aspiesoft/cwsclib","version":"1.0.0","description":"A compression library for strings, that recognizes common words, and creates references to them.","license":"MIT","author":{"name":"AspieSoft"},"main":"script.min.js","scripts":{"test":"node test.js","build":"node build.js"},"repository":{"type":"git","url":"git://github.com/aspiesoft/cwscLib.git"},"keywords":["compression","compress","string","reference","js","javascript","nodejs"],"devDependencies":{"@aspiesoft/miniforge-js":"^1.0.0"},"optionalDependencies":{"pako":"^1.0.11"},"gitHead":"6cac8faea97fc6d57c9438cbe54ad80612207832","bugs":{"url":"https://github.com/aspiesoft/cwscLib/issues"},"homepage":"https://github.com/aspiesoft/cwscLib#readme","dependencies":{"pako":"^1.0.11"},"_id":"@aspiesoft/cwsclib@1.0.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-D8EaPKnyDDuJHmGVeyZQU5NYr41n2QUuw7C8aZpOVo5VV0l7k/nsm1xQj7JjBjdIdplqpFAiAMMXrc6AY+99VA==","shasum":"24c4a1a1e1806c8ec32b0a5169a60cec4b43faa3","tarball":"https://registry.npmjs.org/@aspiesoft/cwsclib/-/cwsclib-1.0.0.tgz","fileCount":4,"unpackedSize":102898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhfwGCRA9TVsSAnZWagAAF/UQAJgJpQnIDq6OJP9rTngH\nG1Q1PaKHgdaLwuFRSJTck9gM0jI/QV9aXv6KtSgj8+KPhrh3MDzJPZ4PmUbn\nxTT6c3CavY4XEblVLjq4lSbjbR0G8XpWldxdz7FGYezEs01KyTUtQvq0ZnkW\nY5q7qCREtTzcw/YtECuQLPYpOeiuNsA2OrPlX1ENUBunUZdrM/IpVIxJCYNH\nmJ5tZvpv68kuv8HPbImhoISwn3xDEW1UpMpukJs3zMYkLGq5amC1HyDF/Df5\nkX7pH7+DH6Bgsd+aq/ecYv8TQr6wZkVkam+/8SB6lpN6tepwdlsg7QMReJwF\n+IamYLzXA6bLCk+vs0k/PVVMAZPWGQwzgiUeLmQxi5pI8nN/xWPaf8zKPh6J\nTRjTKAHOmoeN6rAlYPUf31DwDx1dTxH2HKJEd0I+3mzfbgEwHrE3/Fcrph09\npGWHCL1GMRiM6J0+OwLPDaHni5Tv6ByP7Vdj+6j2kr7Dsx4jM/Vj9m/mSuod\nQjsIrFbQbqrYABW0g7SuG+oo9ezVpMFVFqikq4nR5OcgRAe87ZVXNFoP/opK\nOa8gvgZj1uAmSnSkvqqQk/lldWixhZbB0rCP36FbTaII+gJe8xFFteDTpzOw\n8RuYE3AvxM6JBwWtfr3vY/pch9DjX7VTL2YFUzCQU1L1/kOINC5beSEYjdli\nwblq\r\n=SNx0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBoEiq2SXi3VJMe4lBmlj3uAtvb9Ej0lncndodZ5mWDRAiBVBrIncPWP3W/OudAz8/FYJpMi1NgomkoFTJHWS0uRGg=="}]},"maintainers":[{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"}],"_npmUser":{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cwsclib_1.0.0_1602616325057_0.017316480510725984"},"_hasShrinkwrap":false},"1.0.1":{"name":"@aspiesoft/cwsclib","version":"1.0.1","description":"A compression library for strings, that recognizes common words, and creates references to them.","license":"MIT","author":{"name":"AspieSoft"},"main":"script.min.js","scripts":{"test":"node test.js","build":"node build.js"},"repository":{"type":"git","url":"git://github.com/aspiesoft/cwscLib.git"},"keywords":["compression","compress","string","reference","js","javascript","nodejs"],"devDependencies":{"@aspiesoft/miniforge-js":"^1.1.0"},"optionalDependencies":{"pako":"^1.0.11"},"gitHead":"0d5f18f40b1ec47e2225cafc1c94fbc23c3e4223","bugs":{"url":"https://github.com/aspiesoft/cwscLib/issues"},"homepage":"https://github.com/aspiesoft/cwscLib#readme","dependencies":{"pako":"^1.0.11"},"_id":"@aspiesoft/cwsclib@1.0.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-I7VK4Epm3v1KyxdYDNezUSO7yQ/DDNHM8rZqZWWD22s9s7xVTFSNk19/8cm1vKzrH5F3B4xBNfQHw3V6PqqV1w==","shasum":"6b97a2a2dec1832ebf8176132ae4864f701cbecb","tarball":"https://registry.npmjs.org/@aspiesoft/cwsclib/-/cwsclib-1.0.1.tgz","fileCount":4,"unpackedSize":102952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhf1VCRA9TVsSAnZWagAAit0P/A4ZWqzMtkPcw/7Q0Pi7\ngxyVq+WPaX8b91eCrhHMPSkAQ/rAODWmpRPAvvUBqoHcW/Xh+xGyIb5loKH7\nZ23dhjHLfbRaHdvVwY3FpXDnJA5xofgITJbZUgRK8iu83Ct89yDC6fRwZhln\nyYKchpu+vCOgqIL+6aj7YkMR/nvT2TlIvte8BJ+3bHFAmVi34+xvSfRtObrN\nlsA449pPcIokI3/tCvg7bbLY3+jq3fa0ZZNLlral6/FQ2mX3OZB2A+JzM8Rt\nOzhJX2J5aamXaxD5kdT1DmSO768sEXwG0bTQHnhZ5qj4iOsY/WaLNpqtoIA0\n9xyIVWqmT6N3VZjTz6uybWLnFkm4yVFNvCtTB6oKJlfizhPTNaopKNT7ajK3\nZjj3aewgXFSTWviEiVYQ+VYJAT3SplUlQGl96vI/ib0pCiRlNWJ0X/BlHVCC\nmuP6rQwIAtrofhvtLowk3kskyR2Cv/myuFsJ/wZ1WZbvnGFH8utKyEZJAj3h\nPtLuDMZS4gii1gBc6JuVJehBZEIfsSOw+sAeJRRIv7ahJb8elHVY11kH1kOY\ns9wkEOlAfLYftVtCLQrt1U3zsmkiIB1uULaCDSkRbcsurj2eNwSjtw+1S1+Q\nwMkqS2TJPG9us7vB+qknUenVyjcJpn6j1SRR4B4rSRg+oGrbqnDweGLHqzO3\na3M7\r\n=Cc3/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICajDnAcM9tWg37WHAYmUvuOo7tqqQJkwamO0urVmoNWAiB5QNFrf56S+xMbsvz6Q0yMptQxR0CHaPUOU4K9YeG5RQ=="}]},"maintainers":[{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"}],"_npmUser":{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cwsclib_1.0.1_1602616661215_0.7301106830712538"},"_hasShrinkwrap":false},"1.0.2":{"name":"@aspiesoft/cwsclib","version":"1.0.2","description":"A compression library for strings, that recognizes common words, and creates references to them.","license":"MIT","author":{"name":"AspieSoft"},"main":"script.min.js","scripts":{"test":"node test.js","build":"node build.js"},"repository":{"type":"git","url":"git://github.com/aspiesoft/cwscLib.git"},"keywords":["compression","compress","string","reference","js","javascript","nodejs"],"devDependencies":{"@aspiesoft/miniforge-js":"^1.1.0"},"optionalDependencies":{"pako":"^1.0.11"},"gitHead":"377d4109f82587864355f95e55279e7d56216e7d","bugs":{"url":"https://github.com/aspiesoft/cwscLib/issues"},"homepage":"https://github.com/aspiesoft/cwscLib#readme","dependencies":{"pako":"^1.0.11"},"_id":"@aspiesoft/cwsclib@1.0.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-jdzQCxBmtbdYMT+RfTBwt5I486Y74xq90/BqxO7x63cjP154S3AyktrJyiYpcBek0pWzLREUeMK3DXCnRYNbpg==","shasum":"a9179eb9c2749e82f60f400d3994455447d3c372","tarball":"https://registry.npmjs.org/@aspiesoft/cwsclib/-/cwsclib-1.0.2.tgz","fileCount":4,"unpackedSize":102944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhf9sCRA9TVsSAnZWagAA1s0P/02tOqkGcvd/ZLlHjsLM\n+XRG985pIentGJ5Nqv87eTfFEttY0Z+1NMPusD1JX+9G3ObB4hRPEjglQnZl\n5Ut4+XCxupNutCraiLYolMulGONB/X/0F2Tcsr+4ufVLImt27xtK08FEJHdQ\nfWd7u0hoTaIS3dfNsrFdgS+VennNoYAfLYvMxw8P167C4TeIA9KgwVxmNo9g\nXfoIjl1aLanwCS18iy/20h4IRPMuJKaSFH+tBpx7eUTwpS1IDHBYFRpt7Qp0\nzmNemPedVsL+O8tHVcFClPEQQi/9ikF7mysEaTez35WCMCvTljlvgP0U6H+e\ndaQE9cf7YnGNxGjc7WkjEPduF9o8ZcWUzUfPjkjJgDsRoPeDoMsOOxG5E0Tv\nx8bMDvQhtbqysrdmFsQBV0DL7FLmTjHlPNJ9DMzJPy31DGmMPQPaal12NWNS\nWMlvZ7r1O8P6MVI1YgzXwT1kyimsOmvSxnezFkevreucXG+C+zCbWSGkNh9P\nLxzGezasiD+GO/qhHgnzDm8TdiZtGRkGTK3HQZTW1+MvYdWTSPzNqb3RLrkT\nyBgQwsAvJN61u3ZNSYu+VlX0Bh2xark9sMZuHK2soPaROBSrR/yKL5MQnPEA\nLKpnjVQ2VVuBWWIIgkBflbpRBYdfS3Cabf0apOgRMahskqJZW9nD0eg32YDE\nde4u\r\n=J4Cf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRan//JVHPsrPS20YiDlOmjHiAjTn32zL7eaIf9EaiJAiEAwCqo99NBiQQdr3f8vAS6tFfVA/6V6T9I1+A2yLIX83o="}]},"maintainers":[{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"}],"_npmUser":{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cwsclib_1.0.2_1602617195695_0.662284018456414"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-13T19:12:05.000Z","1.0.0":"2020-10-13T19:12:05.216Z","modified":"2022-04-04T15:49:08.968Z","1.0.1":"2020-10-13T19:17:41.342Z","1.0.2":"2020-10-13T19:26:35.869Z"},"maintainers":[{"name":"aspiesoft","email":"aspiesoftweb@gmail.com"}],"description":"A compression library for strings, that recognizes common words, and creates references to them.","homepage":"https://github.com/aspiesoft/cwscLib#readme","keywords":["compression","compress","string","reference","js","javascript","nodejs"],"repository":{"type":"git","url":"git://github.com/aspiesoft/cwscLib.git"},"author":{"name":"AspieSoft"},"bugs":{"url":"https://github.com/aspiesoft/cwscLib/issues"},"license":"MIT","readme":"# Common Word String Compression Library\n\n![npm version](https://img.shields.io/npm/v/@aspiesoft/cwsclib)\n![GitHub top language](https://img.shields.io/github/languages/top/aspiesoft/cwscLib)\n![GitHub license](https://img.shields.io/github/license/aspiesoft/cwscLib)\n\n![npm downloads](https://img.shields.io/npm/dw/@aspiesoft/cwsclib)\n![npm downloads](https://img.shields.io/npm/dm/@aspiesoft/cwsclib)\n![jsDelivr hits (GitHub)](https://img.shields.io/jsdelivr/gh/hm/aspiesoft/cwscLib)\n\n[![paypal](https://img.shields.io/badge/buy%20me%20a%20coffee-paypal-blue)](https://buymeacoffee.aspiesoft.com/)\n\n## A compression library for strings, that recognizes common words, and creates references to them\n\nA compression library for strings, that recognizes common words, and creates references to them.\nBecause these word references are built within the cdn, they should get cached and reduce the amount of data sent to the client.\n\nThis algorithm checks if the string got smaller or larger at each step, and does Not add methods that become larger than the original result from the last method.\nThe algorithm attempts to reduce repeating words, and generate utf8 character based references to allow fast decompression.\n\nUsually decompression is faster than compression, as compression should make the string as small as possible, and decompression is usually when you actually need the string.\n\n## Installation\n\n### node.js\n\n```shell script\n\nnpm install @aspiesoft/cwsclib\n\n# or with no optional dependencies\nnpm install @aspiesoft/cwsclib --no-optional\n\n```\n\n### cdn\n\n```html\n\n<!-- Optional: add secondary compression (will detect automatically) -->\n<script src=\"https://cdn.jsdelivr.net/gh/nodeca/pako@1.0.11/dist/pako.min.js\" charset=\"utf-8\"></script>\n\n\n<!-- Note: charset=\"utf-8\" is necessary for the script to use utf-8 character references properly -->\n<script src=\"https://cdn.jsdelivr.net/gh/AspieSoft/cwscLib@1/script.min.js\" charset=\"utf-8\"></script>\n\n```\n\n## Usage\n\n```JavaScript\n\n// require only if using node.js\nconst cwscLib = require('@aspiesoft/cwsclib');\n\nlet str = 'the cdn.jsdelivr.net javascript engine built in year 2020 by aspiesoft';\n\nlet compressed = cwscLib.compress(str, 9).toString(); // output: §1:0><qU> <&> <*b> <NŒ> <Xx> in <l‰> 2020 by <-2>\n\nlet decompressed = cwscLib.decompress(compressed); // output: the cdn.jsdelivr.net javascript engine built in year 2020 by aspiesoft\n\n// note: the compressed string may appear different, if you add an optional compression after this compression (depending on if it gets smaller)\n\n\nlet speed = 1; // any number between 0 and 9\n/*\n  speed = 1 (fastest)\n  speed = 9 (best) (default)\n*/\n\nlet compression = cwscLib.compress(str, speed);\n/*\n  output: {\n    comp: '0><qU> <&> <*b> <NŒ> <Xx> in <l‰> 2020 by <-2>',\n    ver: 1,\n    compType: 0,\n    toString: [Function: toString],\n    toJSON: [Function: toJSON],\n    decomp: [Function: decomp]\n  }\n*/\n\ncompression.toJSON(); // output: compression object without functions (useful for storing json)\n\ncompression.decomp(); // output: original string\ncwscLib.decompress(compression); // output: original string\ncwscLib.decompress(compression.toJSON()); // output: original string\n\n\ncwscLib.compress('11111 222 33 4444444 5555555555 6 7 888888888888 999999999999').toString(); // output: §1:1>2:1 0:2 33 4:4 7:5 6 7 9:8 9:9\n\n```\n","readmeFilename":"readme.md"}