{"_id":"@b-jones-rfd/func-help","_rev":"7-cd75c89a4a89b46a1af195342cd8ad40","name":"@b-jones-rfd/func-help","dist-tags":{"latest":"0.3.1"},"versions":{"0.0.0":{"name":"@b-jones-rfd/func-help","version":"0.0.0","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.0.0","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"a733bfa0255bc2be89e036bff11de3ffc17a5372","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.0.0.tgz","fileCount":8,"integrity":"sha512-stHO5phmBV9ikbUZ1xlb5gWOWy/GOEpY4HZ/azu42Mq2i1lXsIfPcBwbh+zhUe0QsYzahW3SmKX2n/f8cjXkPw==","signatures":[{"sig":"MEUCIF1GNvFwM+GENAi7lvemVTVhu03NajKOrnrUQ3Oh/IUgAiEA1mxRFFZb/UcmUh+cktHkPjLiD0DzuCi9HnsIPQYqvV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5713},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","actor":{"name":"b-jones-rfd","type":"user","email":"b.jones.rfd.82@gmail.com"},"email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/038422a50c95ee986dbb245545f6425d/b-jones-rfd-func-help-0.0.0.tgz","_integrity":"sha512-stHO5phmBV9ikbUZ1xlb5gWOWy/GOEpY4HZ/azu42Mq2i1lXsIfPcBwbh+zhUe0QsYzahW3SmKX2n/f8cjXkPw==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.0.0_1751119391059_0.6719695212164081","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@b-jones-rfd/func-help","version":"0.0.1","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.0.1","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"5b95b3c973cc21c70916eda2d103ce9d1dcc149b","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.0.1.tgz","fileCount":9,"integrity":"sha512-pvgdPM3cJ1CWQyj0WIfvL5/T0o4ZMLD3bQR8rIBQH1Ke2mj/HtUvYvt7O3fW18JSUsj2SgU6qadO0cE7IDcm9g==","signatures":[{"sig":"MEQCIGLMwqdtoxmgJeIFnhfP9ccBWBpHvDmy6Uxv5jrknYiqAiApOUqwu+wcD5d2sLD8UecssW5XRwOvykrYmvHcnvV4Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5794},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","actor":{"name":"b-jones-rfd","type":"user","email":"b.jones.rfd.82@gmail.com"},"email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/98c11e79d1940985bd6e1e3d20782648/b-jones-rfd-func-help-0.0.1.tgz","_integrity":"sha512-pvgdPM3cJ1CWQyj0WIfvL5/T0o4ZMLD3bQR8rIBQH1Ke2mj/HtUvYvt7O3fW18JSUsj2SgU6qadO0cE7IDcm9g==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.0.1_1751119775429_0.36852280827083095","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@b-jones-rfd/func-help","version":"0.1.1","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.1.1","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"4a9ed41dc1cc4eb715aa8d93f8540e45493123b9","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.1.1.tgz","fileCount":10,"integrity":"sha512-Ar1SgGDZpL+T1pFAPRs+Lg8FiB28jy9BKSRZ9RwnlTgd7xpK14PMAGWYHpobj6TBnYgAsPeBxxW/6JmF01zZqQ==","signatures":[{"sig":"MEQCIBAjvKMKA4nqdZU+3B9WLCerSlKTYYE1Ocmj+G5WYDVeAiBvyEcgGK7VNNXKuFL4Fjsh8fnXad+Xv2Hx+ifuNvBTuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41627},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","actor":{"name":"b-jones-rfd","type":"user","email":"b.jones.rfd.82@gmail.com"},"email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/c11a9f6ab291afbbde6f3a9fc4f52d2f/b-jones-rfd-func-help-0.1.1.tgz","_integrity":"sha512-Ar1SgGDZpL+T1pFAPRs+Lg8FiB28jy9BKSRZ9RwnlTgd7xpK14PMAGWYHpobj6TBnYgAsPeBxxW/6JmF01zZqQ==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.1.1_1752156294723_0.7427774568624037","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@b-jones-rfd/func-help","version":"0.2.0","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.2.0","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"0974eb2b3161087450d2179102999a05d7c78e23","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.2.0.tgz","fileCount":10,"integrity":"sha512-dYQAhNz+CrS9DVIq+zd/m5+VDXkL4AQbqIX3fB53YGLAts8fx5qO8nUMVqwPkB2o6Rg/BmKs00Cpk/vDFsWaFQ==","signatures":[{"sig":"MEUCIBLpWi1DktfS5aqQS+rO7dRuYYi1dCZyRynkbsb0kqu0AiEArL8bMSWVLiZ/URyv9bTJsgtqNF2GPmz9PTcpPDA0l8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60424},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/55e27ac934768b3dc740b546b650e557/b-jones-rfd-func-help-0.2.0.tgz","_integrity":"sha512-dYQAhNz+CrS9DVIq+zd/m5+VDXkL4AQbqIX3fB53YGLAts8fx5qO8nUMVqwPkB2o6Rg/BmKs00Cpk/vDFsWaFQ==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.2.0_1754096625255_0.2850242870417399","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@b-jones-rfd/func-help","version":"0.2.1","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.2.1","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"11b377e0eda9798d1912832a85b409d6f82d4b5a","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.2.1.tgz","fileCount":10,"integrity":"sha512-+W8wpph0iX57ArgmzUPqxioWjIOGMr6yfoAPHDgTMnosKSG4WLX3fshld1aI9UrUyR3AdDWS90yWFjnIPSPDtQ==","signatures":[{"sig":"MEYCIQDjOrkXEGYQBrgp4hILeM/Ep+vHkOjtkjJg3s6mZwnIVQIhAM+an011J5e4YyD75jM9PP7cVyBie0pmyUz0NF+caIa1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60713},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/997c31dc7a51b6fa27b2619f6b590f5c/b-jones-rfd-func-help-0.2.1.tgz","_integrity":"sha512-+W8wpph0iX57ArgmzUPqxioWjIOGMr6yfoAPHDgTMnosKSG4WLX3fshld1aI9UrUyR3AdDWS90yWFjnIPSPDtQ==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.2.1_1758127127110_0.4200361423160972","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@b-jones-rfd/func-help","version":"0.3.0","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","_id":"@b-jones-rfd/func-help@0.3.0","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"dist":{"shasum":"6fe19de585096d903fad7b8e401b3d0272741130","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.3.0.tgz","fileCount":10,"integrity":"sha512-Dt3sDY/9zmhZYNlNcDOU2nCjHR/Qqa1L+7mQ+RFHLiNtnighs/OZgKcBy9FWD1yY2X64kl0cpe7LspuWsPR28w==","signatures":[{"sig":"MEQCIEAz3nKlB92i94moSPi1InTbdCxsW4jQz6bmMRLfDoESAiB1zG1fjQfIXX47PoQBzo0wupjIETH3gIonIRGNOqaL7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66498},"main":"./dist/index.js","_from":"file:b-jones-rfd-func-help-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","private":false,"scripts":{"ci":"pnpm run lint && pnpm run test && pnpm run build","dev":"vitest","lint":"tsc","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","release":"pnpm run lint && pnpm run test && pnpm run build && changeset publish"},"_npmUser":{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"},"_resolved":"/tmp/13da610f92e3aab9f41a62c4cdbcf559/b-jones-rfd-func-help-0.3.0.tgz","_integrity":"sha512-Dt3sDY/9zmhZYNlNcDOU2nCjHR/Qqa1L+7mQ+RFHLiNtnighs/OZgKcBy9FWD1yY2X64kl0cpe7LspuWsPR28w==","_npmVersion":"10.9.2","description":"Common project utilities and helpers","directories":{},"_nodeVersion":"23.11.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","prettier":"^3.6.2","typescript":"^5.8.3","@types/node":"^24.0.7","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/func-help_0.3.0_1758127701563_0.09580052077159418","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@b-jones-rfd/func-help","version":"0.3.1","description":"Common project utilities and helpers","private":false,"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","keywords":[],"author":{"name":"B-Jones-RFD"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/B-Jones-RFD/func-help.git"},"devDependencies":{"@changesets/cli":"^2.29.5","@types/node":"^24.0.7","prettier":"^3.6.2","tsup":"^8.5.0","typescript":"^5.8.3","vitest":"^3.2.4"},"scripts":{"dev":"vitest","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts","lint":"tsc","ci":"pnpm run lint && pnpm run test && pnpm run build","release":"pnpm run build && pnpm publish -r --no-git-checks"},"_id":"@b-jones-rfd/func-help@0.3.1","bugs":{"url":"https://github.com/B-Jones-RFD/func-help/issues"},"homepage":"https://github.com/B-Jones-RFD/func-help#readme","_integrity":"sha512-QH7chcgA6nE5F6vxFH2Y8CFTUMQFNdpSvIjm/wtkhR7N++QoVSMV1ddeRp4q3VJVNuT2Bmw1xW3PiGYmwHk2UQ==","_resolved":"/tmp/46a773a4959cf25930944be26326b4b1/b-jones-rfd-func-help-0.3.1.tgz","_from":"file:b-jones-rfd-func-help-0.3.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-QH7chcgA6nE5F6vxFH2Y8CFTUMQFNdpSvIjm/wtkhR7N++QoVSMV1ddeRp4q3VJVNuT2Bmw1xW3PiGYmwHk2UQ==","shasum":"894c2a6c21f268d06762c287195284f88843164e","tarball":"https://registry.npmjs.org/@b-jones-rfd/func-help/-/func-help-0.3.1.tgz","fileCount":11,"unpackedSize":66715,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@b-jones-rfd%2ffunc-help@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEvCj6SMG7E9B6CKy+RZ73HMu64Go/9i13CmTzE6dauKAiAhuyFeeEYBopIuel55UJZPnDwS/l3tYVsYfw66YRQ3zw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6e99f60-2677-4b9a-8135-89c89fa1aa88"}},"directories":{},"maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/func-help_0.3.1_1783991941987_0.2451632812435398"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-28T14:03:10.990Z","modified":"2026-07-14T01:19:02.442Z","0.0.0":"2025-06-28T14:03:11.294Z","0.0.1":"2025-06-28T14:09:35.597Z","0.1.1":"2025-07-10T14:04:54.902Z","0.2.0":"2025-08-02T01:03:45.434Z","0.2.1":"2025-09-17T16:38:47.298Z","0.3.0":"2025-09-17T16:48:21.735Z","0.3.1":"2026-07-14T01:19:02.111Z"},"author":{"name":"B-Jones-RFD"},"license":"MIT","keywords":[],"description":"Common project utilities and helpers","maintainers":[{"name":"b-jones-rfd","email":"b.jones.rfd.82@gmail.com"}],"readme":"![GitHub Actions CI](https://github.com/B-Jones-RFD/func-help/actions/workflows/main.yml/badge.svg)\n[![npm version](https://img.shields.io/npm/v/@b-jones-rfd/func-help.svg?style=flat-square)](https://www.npmjs.com/package/@b-jones-rfd/func-help)\n[![npm bundle size](https://img.shields.io/bundlephobia/min/%40b-jones-rfd%2Ffunc-help)](https://bundlephobia.com/package/@b-jones-rfd/func-help)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\n# Func Help\n\nHelpers to perform common project tasks. This is an exercise to avoid code reuse in my own projects. Use at your own risk.\n\n## Prerequisites\n\nThis project requires NodeJS (version >= 20) and NPM.\n[Node](http://nodejs.org/) and [NPM](https://npmjs.org/) are really easy to install.\nTo make sure you have them available on your machine,\ntry running the following command.\n\n```sh\n$ npm -v && node -v\n10.2.4\nv20.11.1\n```\n\n[PNPM](https://pnpm.io/) is a awesome alternative to NPM and is recommended.\n\n## Table of contents\n\n- [Func Help](#func-help)\n  - [Prerequisites](#prerequisites)\n  - [Table of contents](#table-of-contents)\n  - [Getting Started](#getting-started)\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [API](#api)\n    - [Monads](#monads)\n    - [Utilities](#utilities)\n  - [Contributing](#contributing)\n  - [Versioning](#versioning)\n  - [Authors](#authors)\n  - [License](#license)\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\n\n## Installation\n\n**BEFORE YOU INSTALL:** please read the [prerequisites](#prerequisites)\n\nTo install and set up the library, run:\n\n```sh\n$ npm i @b-jones-rfd/func-help\n```\n\nOr if you prefer using Yarn:\n\n```sh\n$ yarn add @b-jones-rfd/func-help\n```\n\nOr for PNPM:\n\n```sh\n$ pnpm add @b-jones-rfd/func-help\n```\n\n## Usage\n\nTBD\n\n## API\n\n### Monads\n\n#### AsyncIO\n\nThe AsyncIO monad captures side‑effectful asynchronous computations in a safe, referentially transparent wrapper that can be composed without executing the effects until \".run()\" is invoked.\n\n```TS\nAsyncIO<A>\n```\n\n#### Either\n\nEither represents a value that is either a Left<L> (typically an error) or a Right<R> (a successful computation).\n\n```TS\nEither<L, R>\n```\n\n#### Except\n\nExcept is represents a value that is either an Error or a success value<A>. This is a helper for the Either monad using Error for the Left type and simplified semantics.\n\n```TS\nExcept<A>\n```\n\n#### IO\n\nThe IO monad captures side‑effectful computations in a safe, referentially transparent wrapper that can be composed without executing the effects until \".run()\" is invoked.\n\n```TS\nIO<A>\n```\n\n#### State\n\nImplementation of the State monad\n\n```TS\nState<S, A>\n```\n\n#### StateT\n\nThis transformer lets you add mutable‑state semantics on top of an _arbitrary_ underlying monad (IO, Either, Promise …) without executing the stateful logic until the final \"run\" call.\n\n```TS\nStateT<S, A>\n```\n\n### Utilities\n\n#### Do\n\nDo provides static helpers to interpret generator functions as monadic “do” blocks.\n\n## Contributing\n\nThis is a pet project to save me time at work. It is still under development and you should use at your own risk.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/B-Jones-RFD/func-help/tags).\n\n## Authors\n\n- **B Jones RFD** - _Package Noob_ - [B-Jones-RFD](https://github.com/B-Jones-RFD)\n\n## License\n\n[MIT License](https://github.com/B-Jones-RFD/func-help/blob/main/LICENSE)\n","readmeFilename":"README.md","homepage":"https://github.com/B-Jones-RFD/func-help#readme","repository":{"type":"git","url":"git+https://github.com/B-Jones-RFD/func-help.git"},"bugs":{"url":"https://github.com/B-Jones-RFD/func-help/issues"}}