diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8a878aa..244db5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,9 @@ on: tags: - '!*' # Do not execute on tags env: + NAME: ${{vars.NAME}} + EMAIL: ${{vars.EMAIL}} + NPM_TOKEN: ${{secrets.NPM_TOKEN}} GITHUB_TOKEN: ${{secrets.GH_TOKEN}} CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} FORCE_COLOR: 1 @@ -55,8 +58,7 @@ jobs: - uses: actions/setup-node@v2 with: node-version: 18.x - - run: git clone https://${GITHUB_TOKEN}@github.com/nodef/deploy "$HOME/deploy" - - run: bash "$HOME/deploy/setup.sh" + - uses: nodef/git-config.action@v1.0.0 - run: npm i -g typescript typedoc - run: npm ci - run: npm run publish-docs @@ -71,8 +73,9 @@ jobs: - uses: actions/setup-node@v2 with: node-version: 18.x - - run: git clone https://${GITHUB_TOKEN}@github.com/nodef/deploy "$HOME/deploy" - - run: bash "$HOME/deploy/setup.sh" + - uses: nodef/npm-config.action@v1.0.0 + with: + entries: access = public - run: npm i -g typescript rollup typedoc browserify terser - run: npm ci - run: npm run publish-packages diff --git a/README.md b/README.md index 55c88e0..65b6946 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,21 @@ -A collection of ways for transforming async functions.
+An [async function] is a function that delivers its [result asynchronously] (through [Promise]).
📦 [Node.js](https://www.npmjs.com/package/extra-async-function), 🌐 [Web](https://www.npmjs.com/package/extra-async-function.web), 📜 [Files](https://unpkg.com/extra-async-function/), 📰 [JSDoc](https://nodef.github.io/extra-async-function/), 📘 [Wiki](https://github.com/nodef/extra-async-function/wiki/). -An [async function] is a function that delivers its [result asynchronously] -(through [Promise]). This package is an *variant* of [extra-function], and -includes methods for transforming *async functions*. The **result** of an async -function can be manipulated with [negate]. If a *pure* async function is -expensive, its results can **cached** with [memoize]. **Parameters** of a -function can be manipulated with [reverse], [spread], [unspread]. [reverse] -flips the order of parameters, [spread] spreads the first array parameter of a -function, and [unspread] combines all parameters into the first parameter -(array). If you want some **functional behavior**, [compose], [composeRight], -[curry], and [curryRight] can be used. [composeRight] is also known as -[pipe-forward operator] or [function chaining]. If you are unfamiliar, [Haskell] -is a great purely functional language, and there is great [haskell beginner -guide] to learn from. +This package is an *variant* of [extra-function], and includes methods for +transforming *async functions*. The **result** of an async function can be +manipulated with [negate]. If a *pure* async function is expensive, its results +can **cached** with [memoize]. **Parameters** of a function can be manipulated +with [reverse], [spread], [unspread]. [reverse] flips the order of parameters, +[spread] spreads the first array parameter of a function, and [unspread] +combines all parameters into the first parameter (array). If you want some +**functional behavior**, [compose], [composeRight], [curry], and [curryRight] +can be used. [composeRight] is also known as [pipe-forward operator] or +[function chaining]. If you are unfamiliar, [Haskell] is a great purely +functional language, and there is great [haskell beginner guide] to learn from. To control invocation **time** of a function, use [delay]. A function can be **rate controlled** with [debounce], [debounceEarly], [throttle], @@ -35,9 +33,9 @@ In addition, [is], [name], and [length] obtain metadata (about) information on an async function. To attach a `this` to a function, use [bind]. A few generic async functions are also included: [ARGUMENTS], [NOOP], [IDENTITY], [COMPARE]. -This package is available in both *Node.js* and *Web* formats. The web format is -exposed as `extra_async_function` standalone variable and can be loaded from -[jsDelivr CDN]. +This package is available in *Node.js* and *Web* formats. To use it on the web, +simply use the `extra_async_function` global variable after loading with a `