<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I tried using the <code class="notranslate">@types/ramda</code> package and had problems.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I tried using the latest stable version of tsc. <a href="https://www.npmjs.com/package/typescript" rel="nofollow">https://www.npmjs.com/package/typescript</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have a question that is inappropriate for <a href="https://stackoverflow.com/" rel="nofollow">StackOverflow</a>.  (Please ask any appropriate questions there).</li>
</ul>
<p dir="auto">Authors: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donnut/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donnut">@donnut</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdekrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdekrey">@mdekrey</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrdziuban/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrdziuban">@mrdziuban</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sbking/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sbking">@sbking</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afharo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afharo">@afharo</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teves-castro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teves-castro">@teves-castro</a> @1M0reBug <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hojberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hojberg">@hojberg</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/charlespwd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/charlespwd">@charlespwd</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samsonkeung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samsonkeung">@samsonkeung</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/angeloocana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/angeloocana">@angeloocana</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raynerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raynerd">@raynerd</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/googol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/googol">@googol</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moshensky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moshensky">@moshensky</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanresnick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanresnick">@ethanresnick</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leighman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leighman">@leighman</a> @CaptJakk</p>
<p dir="auto">Hi. I'm trying to use <code class="notranslate">R.pipe</code> with <code class="notranslate">R.filter</code>, but I couldn't get the typing to work. But if I ignore the typings by adding <code class="notranslate">// @ts-ignore</code> the code works. I'm not asking this on StackOverflow because I'm almost sure it's a bug on the typings.</p>
<p dir="auto"><strong>This doesn't work (the typings, the code is great, as ignoring the error part with // <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ts-ignore/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ts-ignore">@ts-ignore</a> makes it work</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const searchRegexp = /\.dev\.test\.io/;
const env = 'prod';
const data = [
  'https://testing.dev.test.io',
  'https://testing2.local.dev.test.io',
  'https://testing3.dev.test.io',
];

const values = pipe&lt;string[], string[], string[], string[]&gt;(
  map(v =&gt; v.trim()),

  /*
    Below line throws:

    Argument of type 'Filter&lt;{}&gt;' is not assignable to parameter of type '(x: string[]) =&gt; string[]'.
      Type '{}[]' is not assignable to type 'string[]'.
      Type '{}' is not assignable to type 'string'. (2345)
  */
  filter(v =&gt; !(contains('.local.', v) &amp;&amp; env !== 'dev')),

  map(v =&gt; v.replace(searchRegexp, env === 'prod' ? '.test.com' : `.${env}.test.io`)),
)(data.split(','));"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">searchRegexp</span> <span class="pl-c1">=</span> <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\.</span>dev<span class="pl-cce">\.</span>test<span class="pl-cce">\.</span>io<span class="pl-c1">/</span></span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">env</span> <span class="pl-c1">=</span> <span class="pl-s">'prod'</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">data</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span>
  <span class="pl-s">'https://testing.dev.test.io'</span><span class="pl-kos">,</span>
  <span class="pl-s">'https://testing2.local.dev.test.io'</span><span class="pl-kos">,</span>
  <span class="pl-s">'https://testing3.dev.test.io'</span><span class="pl-kos">,</span>
<span class="pl-kos">]</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-s1">values</span> <span class="pl-c1">=</span> <span class="pl-en">pipe</span><span class="pl-kos">&lt;</span><span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">&gt;</span><span class="pl-kos">(</span>
  <span class="pl-en">map</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">v</span><span class="pl-kos">.</span><span class="pl-en">trim</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span>

  <span class="pl-c">/*</span>
<span class="pl-c">    Below line throws:</span>
<span class="pl-c"></span>
<span class="pl-c">    Argument of type 'Filter&lt;{}&gt;' is not assignable to parameter of type '(x: string[]) =&gt; string[]'.</span>
<span class="pl-c">      Type '{}[]' is not assignable to type 'string[]'.</span>
<span class="pl-c">      Type '{}' is not assignable to type 'string'. (2345)</span>
<span class="pl-c">  */</span>
  <span class="pl-en">filter</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">!</span><span class="pl-kos">(</span><span class="pl-en">contains</span><span class="pl-kos">(</span><span class="pl-s">'.local.'</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">env</span> <span class="pl-c1">!==</span> <span class="pl-s">'dev'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span>

  <span class="pl-en">map</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">v</span><span class="pl-kos">.</span><span class="pl-en">replace</span><span class="pl-kos">(</span><span class="pl-s1">searchRegexp</span><span class="pl-kos">,</span> <span class="pl-s1">env</span> <span class="pl-c1">===</span> <span class="pl-s">'prod'</span> ? <span class="pl-s">'.test.com'</span> : <span class="pl-s">`.<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">env</span><span class="pl-kos">}</span></span>.test.io`</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
<span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-s1">data</span><span class="pl-kos">.</span><span class="pl-en">split</span><span class="pl-kos">(</span><span class="pl-s">','</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto"><strong>This works (both typings &amp; code)</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const searchRegexp = /\.dev\.test\.io/;
const env = 'prod';
const data = [
  'https://testing.dev.test.io',
  'https://testing2.local.dev.test.io',
  'https://testing3.dev.test.io',
];

const values = pipe&lt;string[], string[], string[], string[]&gt;(
  map(v =&gt; v.trim()),
  // adding this extra anonymous function here, makes everything to work
  list =&gt; filter(v =&gt; !(contains('.local.', v) &amp;&amp; env !== 'dev'), list),
  map(v =&gt; v.replace(searchRegexp, env === 'prod' ? '.test.com' : `.${env}.test.io`)),
)(data.split(','));"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">searchRegexp</span> <span class="pl-c1">=</span> <span class="pl-pds"><span class="pl-c1">/</span><span class="pl-cce">\.</span>dev<span class="pl-cce">\.</span>test<span class="pl-cce">\.</span>io<span class="pl-c1">/</span></span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">env</span> <span class="pl-c1">=</span> <span class="pl-s">'prod'</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">data</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span>
  <span class="pl-s">'https://testing.dev.test.io'</span><span class="pl-kos">,</span>
  <span class="pl-s">'https://testing2.local.dev.test.io'</span><span class="pl-kos">,</span>
  <span class="pl-s">'https://testing3.dev.test.io'</span><span class="pl-kos">,</span>
<span class="pl-kos">]</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-s1">values</span> <span class="pl-c1">=</span> <span class="pl-en">pipe</span><span class="pl-kos">&lt;</span><span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-smi">string</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">&gt;</span><span class="pl-kos">(</span>
  <span class="pl-en">map</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">v</span><span class="pl-kos">.</span><span class="pl-en">trim</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
  <span class="pl-c">// adding this extra anonymous function here, makes everything to work</span>
  <span class="pl-s1">list</span> <span class="pl-c1">=&gt;</span> <span class="pl-en">filter</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">!</span><span class="pl-kos">(</span><span class="pl-en">contains</span><span class="pl-kos">(</span><span class="pl-s">'.local.'</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">env</span> <span class="pl-c1">!==</span> <span class="pl-s">'dev'</span><span class="pl-kos">)</span><span class="pl-kos">,</span> <span class="pl-s1">list</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
  <span class="pl-en">map</span><span class="pl-kos">(</span><span class="pl-s1">v</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">v</span><span class="pl-kos">.</span><span class="pl-en">replace</span><span class="pl-kos">(</span><span class="pl-s1">searchRegexp</span><span class="pl-kos">,</span> <span class="pl-s1">env</span> <span class="pl-c1">===</span> <span class="pl-s">'prod'</span> ? <span class="pl-s">'.test.com'</span> : <span class="pl-s">`.<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">env</span><span class="pl-kos">}</span></span>.test.io`</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
<span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-s1">data</span><span class="pl-kos">.</span><span class="pl-en">split</span><span class="pl-kos">(</span><span class="pl-s">','</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a href="https://github.com/blog/821-mention-somebody-they-re-notified">Mention</a> the authors (see <code class="notranslate">Definitions by:</code> in <code class="notranslate">index.d.ts</code>) so they can respond.
<ul dir="auto">
<li>Authors: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomwanzek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomwanzek">@tomwanzek</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ledragon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ledragon">@Ledragon</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gustavderdrache/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gustavderdrache">@gustavderdrache</a></li>
</ul>
</li>
</ul>
<p dir="auto">I just looked at the release notes for the RC1 of D3 Version 5. <strong>d3-fetch</strong> will be added in as a replacement for <strong>d3-request</strong>.</p>
<p dir="auto">So we'll need definitions for it proactively for D3 v5.</p>