{"_id":"uncurried-intrinsics","_rev":"4-9c383a6746d1ddd0c67054230483d92f","name":"uncurried-intrinsics","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"uncurried-intrinsics","version":"1.0.0","keywords":["intrinsics","uncurried","cache","es","call-bind","call-bound","intrinsic"],"author":{"name":"Fox Jones xsfj"},"license":"MIT","_id":"uncurried-intrinsics@1.0.0","maintainers":[{"name":"xsfj","email":"oagde5@gmail.com"}],"homepage":"https://github.com/xsfj/uncurried-intrinsics#readme","bugs":{"url":"https://github.com/xsfj/uncurried-intrinsics/issues"},"dist":{"shasum":"9964834a6d89bb40ec1919782fc6cd3759fe9728","tarball":"https://registry.npmjs.org/uncurried-intrinsics/-/uncurried-intrinsics-1.0.0.tgz","fileCount":3,"integrity":"sha512-k0H/nqSTQZFosFbFl1c+fAa5o7NYIn0nFMC3FZSXNIiGYdwKErsyDFp2fW0R2ZK0kAi7Y3+XVoLY/viRDqsuJA==","signatures":[{"sig":"MEUCIQCUJD6MpGQWRo1R32D1kKYVh2jVwCYDRGTzgia+OTcc0gIgdVxapSm/iDIDF4W5NHcwUsWT9xR1vdwKtP4GRF4y79U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3991},"main":"index.js","type":"commonjs","gitHead":"561e15d020a853cae743e9d169f9603bccbb0c18","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"xsfj","email":"oagde5@gmail.com"},"repository":{"url":"git+https://github.com/xsfj/uncurried-intrinsics.git","type":"git"},"_npmVersion":"11.6.2","description":"Combines es-intrinsic-cache and uncurry-x to get and uncurry JavaScript intrinsics in one step","directories":{},"_nodeVersion":"24.11.1","dependencies":{"uncurry-x":"^1.0.1","es-intrinsic-cache":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/uncurried-intrinsics_1.0.0_1766448831171_0.06932898268151999","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"uncurried-intrinsics","version":"1.0.1","keywords":["intrinsics","uncurried","cache","es","call-bind","call-bound","intrinsic"],"author":{"name":"Fox Jones xsfj"},"license":"MIT","_id":"uncurried-intrinsics@1.0.1","maintainers":[{"name":"xsfj","email":"oagde5@gmail.com"}],"homepage":"https://github.com/xsfj/uncurried-intrinsics#readme","bugs":{"url":"https://github.com/xsfj/uncurried-intrinsics/issues"},"dist":{"shasum":"06aa3832a671d8dde29699047b277a6eb777c26f","tarball":"https://registry.npmjs.org/uncurried-intrinsics/-/uncurried-intrinsics-1.0.1.tgz","fileCount":3,"integrity":"sha512-2lB9Mz/eC80JZpnzvw+zoSNRiiGBpVKpDA8V70Kfh4mc64wV3rECkp8Oyb/VzmOeFxwH1gsKDcFk9QTS40Kjzw==","signatures":[{"sig":"MEUCIAs48yZ1cYkI7jndXgyzRSw3iO895SI07RzT4OVo/J+ZAiEArYL57sMR9wqqdmrnnFkaX9/VsgaymhSIFkhQ4EJsqjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5121},"main":"index.js","type":"commonjs","gitHead":"165d8c8f5d89681844946f3b3bb7afc8b078e2e7","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"xsfj","email":"oagde5@gmail.com"},"repository":{"url":"git+https://github.com/xsfj/uncurried-intrinsics.git","type":"git"},"_npmVersion":"11.6.2","description":"Combines es-intrinsic-cache and uncurry-x to get and uncurry JavaScript intrinsics in one step","directories":{},"_nodeVersion":"24.11.1","dependencies":{"uncurry-x":"^1.0.1","es-intrinsic-cache":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/uncurried-intrinsics_1.0.1_1766449006419_0.8314663226711578","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"uncurried-intrinsics","version":"1.0.2","keywords":["intrinsics","uncurried","cache","es","call-bind","call-bound","intrinsic"],"author":{"name":"Fox Jones xsfj"},"license":"MIT","_id":"uncurried-intrinsics@1.0.2","maintainers":[{"name":"xsfj","email":"oagde5@gmail.com"}],"homepage":"https://github.com/xsfj/uncurried-intrinsics#readme","bugs":{"url":"https://github.com/xsfj/uncurried-intrinsics/issues"},"dist":{"shasum":"e0ff9e58a623bd7aacaf693fc765b64eba1b353b","tarball":"https://registry.npmjs.org/uncurried-intrinsics/-/uncurried-intrinsics-1.0.2.tgz","fileCount":3,"integrity":"sha512-zsIuLjHAIqYWdt9Tg4UH/gXX7/0hkXYpLPW6PUkQrpI/8JEtbPfhaaKbmxMRgnVt+RlWDzCCpB4XK4912mLnTQ==","signatures":[{"sig":"MEUCIGznNqo6nOR08P7aDEWxQ9T2hb8F1ml9ABz2VX/Zof3yAiEAqrUy9156eC2oNNdFdAam+/oWUcH7dj72BcjII6m7TgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5224},"main":"index.js","type":"commonjs","gitHead":"b94ee79f190c31675c7e40500505f924d04af675","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"xsfj","email":"oagde5@gmail.com"},"repository":{"url":"git+https://github.com/xsfj/uncurried-intrinsics.git","type":"git"},"_npmVersion":"11.6.2","description":"Combines es-intrinsic-cache and uncurry-x to get and uncurry JavaScript intrinsics in one step","directories":{},"_nodeVersion":"24.11.1","dependencies":{"uncurry-x":"^1.0.1","es-intrinsic-cache":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/uncurried-intrinsics_1.0.2_1766593395351_0.5329532152102101","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"uncurried-intrinsics","version":"1.0.3","description":"Combines es-intrinsic-cache and uncurry-x to get and uncurry JavaScript intrinsics in one step","keywords":["intrinsics","uncurried","cache","es","call-bind","call-bound","intrinsic"],"homepage":"https://github.com/xsfj/uncurried-intrinsics#readme","bugs":{"url":"https://github.com/xsfj/uncurried-intrinsics/issues"},"repository":{"type":"git","url":"git+https://github.com/xsfj/uncurried-intrinsics.git"},"license":"MIT","author":{"name":"Fox Jones xsfj"},"type":"commonjs","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"es-intrinsic-cache":"^1.0.1","uncurry-x":"^1.0.1"},"gitHead":"1bc2abf2e863fd2e91de80013261f039f0a22f13","_id":"uncurried-intrinsics@1.0.3","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-tJ2WJh7ELqhGA8b5RT6WWGLXf5NXvauMR735bjey/Lb362GeTbz6flkfbmQfLUHnaw0QXSkiHMDEJvTbFZrX2g==","shasum":"9ad8ddbeeff9778ccf2c65a8794af303c26d1098","tarball":"https://registry.npmjs.org/uncurried-intrinsics/-/uncurried-intrinsics-1.0.3.tgz","fileCount":3,"unpackedSize":5238,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCOcJok1NGpuxwQU/MiPSglEzn2H3eWLSSJbt0Oe8ykzwIhAJrhgAXsjSNHSgoPJWx20iLgXpoJ11SjXEXJLOJ+24NX"}]},"_npmUser":{"name":"xsfj","email":"oagde5@gmail.com"},"directories":{},"maintainers":[{"name":"xsfj","email":"oagde5@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uncurried-intrinsics_1.0.3_1768061596018_0.5790445335127321"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-23T00:13:51.170Z","modified":"2026-01-10T16:13:16.355Z","1.0.0":"2025-12-23T00:13:51.308Z","1.0.1":"2025-12-23T00:16:46.580Z","1.0.2":"2025-12-24T16:23:15.486Z","1.0.3":"2026-01-10T16:13:16.172Z"},"bugs":{"url":"https://github.com/xsfj/uncurried-intrinsics/issues"},"author":{"name":"Fox Jones xsfj"},"license":"MIT","homepage":"https://github.com/xsfj/uncurried-intrinsics#readme","keywords":["intrinsics","uncurried","cache","es","call-bind","call-bound","intrinsic"],"repository":{"type":"git","url":"git+https://github.com/xsfj/uncurried-intrinsics.git"},"description":"Combines es-intrinsic-cache and uncurry-x to get and uncurry JavaScript intrinsics in one step","maintainers":[{"name":"xsfj","email":"oagde5@gmail.com"}],"readme":"# uncurried-intrinsics\r\n\r\nGet an uncurried version of an intrinsic function by name.\r\n\r\n## Description\r\n\r\nCombines `es-intrinsic-cache` and `uncurry-x` to get and uncurry JavaScript intrinsics in one step.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install uncurried-intrinsics\r\n```\r\n\r\n## Usage\r\n\r\n```javascript\r\nvar uncurryIntrinsic = require(\"uncurried-intrinsics\")\r\n\r\n// Get uncurried Array.prototype.slice\r\nvar slice = uncurryIntrinsic(\"Array.prototype.slice\")\r\nslice([1, 2, 3, 4, 5], 1, 3) // [2, 3]\r\n\r\n// Get uncurried String.prototype.split\r\nvar split = uncurryIntrinsic(\"String.prototype.split\")\r\nsplit(\"foo-bar-baz\", \"-\") // [\"foo\", \"bar\", \"baz\"]\r\n\r\n// Get uncurried Array.prototype.map\r\nvar map = uncurryIntrinsic(\"Array.prototype.map\")\r\nvar doubled = map([1, 2, 3], function (x) {\r\n  return x * 2\r\n}) // [2, 4, 6]\r\n```\r\n\r\n## API\r\n\r\n### `uncurryIntrinsic(intrinsicName[, allowMissing])`\r\n\r\nGets an intrinsic by name and returns its uncurried version where `this` becomes the first parameter.\r\n\r\n**Parameters:**\r\n\r\n- `intrinsicName` (string): The name of the intrinsic to get and uncurry (e.g., `\"Array.prototype.slice\"`)\r\n- `allowMissing` (boolean, optional): If `true`, returns `null` or `undefined` for missing intrinsics instead of throwing an error. Default: `false`\r\n\r\n**Returns:**\r\n\r\n- (Function|null|undefined): The uncurried intrinsic function, or `null`/`undefined` if `allowMissing` is `true` and the intrinsic doesn't exist\r\n\r\n**Throws:**\r\n\r\n- Error if the intrinsic is not available and `allowMissing` is `false`\r\n\r\n## Examples\r\n\r\n### Array methods\r\n\r\n```javascript\r\nvar uncurryIntrinsic = require(\"uncurried-intrinsics\")\r\n\r\nvar push = uncurryIntrinsic(\"Array.prototype.push\")\r\nvar join = uncurryIntrinsic(\"Array.prototype.join\")\r\n\r\nvar arr = [1, 2, 3]\r\npush(arr, 4, 5) // 5\r\njoin(arr, \", \") // \"1, 2, 3, 4, 5\"\r\n```\r\n\r\n### String methods\r\n\r\n```javascript\r\nvar uncurryIntrinsic = require(\"uncurried-intrinsics\")\r\n\r\nvar charAt = uncurryIntrinsic(\"String.prototype.charAt\")\r\nvar toUpperCase = uncurryIntrinsic(\"String.prototype.toUpperCase\")\r\n\r\ncharAt(\"hello\", 0) // \"h\"\r\ntoUpperCase(\"hello\") // \"HELLO\"\r\n```\r\n\r\n### Object methods\r\n\r\n```javascript\r\nvar uncurryIntrinsic = require(\"uncurried-intrinsics\")\r\n\r\nvar hasOwnProperty = uncurryIntrinsic(\"Object.prototype.hasOwnProperty\")\r\n\r\nvar obj = { foo: 1, bar: 2 }\r\nhasOwnProperty(obj, \"foo\") // true\r\nhasOwnProperty(obj, \"baz\") // false\r\n```\r\n\r\n### Handling missing intrinsics\r\n\r\n```javascript\r\nvar uncurryIntrinsic = require(\"uncurried-intrinsics\")\r\n\r\n// Throws an error if the intrinsic doesn't exist\r\ntry {\r\n  var missing = uncurryIntrinsic(\"NonExistent.prototype.method\")\r\n} catch (e) {\r\n  console.log(e.message) // 'Intrinsic \"NonExistent.prototype.method\" is not available'\r\n}\r\n\r\n// Returns null/undefined if allowMissing is true\r\nvar maybeExists = uncurryIntrinsic(\"Reflect.apply\", true)\r\nif (maybeExists) {\r\n  // Use the intrinsic\r\n} else {\r\n  // Handle missing intrinsic\r\n}\r\n```\r\n\r\n## See Also\r\n\r\n- [uncurry-x](https://www.npmjs.com/package/uncurry-x) - Uncurry a function\r\n- [es-intrinsic-cache](https://www.npmjs.com/package/es-intrinsic-cache) - Get cached JavaScript intrinsics\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}