GNU bug report logs - #68941
[PATCH 00/44] Node : a solution for tiny packages.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Mon, 5 Feb 2024 23:17:02 UTC

Severity: normal

Tags: patch

Full log


Message #286 received at 68941 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 68941 <at> debbugs.gnu.org
Subject: Re: [bug#68941] [PATCH 02/44] guix: build-system: node: Add
 node-is-type-object helper.
Date: Sun, 18 Feb 2024 23:58:20 +0100
On 2024-02-06 20:33, Liliana Marie Prikler wrote:

> Am Dienstag, dem 06.02.2024 um 00:18 +0100 schrieb Nicolas Graves:
>> * guix/build-system/node.scm (node-is-type-object): Add function.
>>
>> Change-Id: I7027aff3b314cd999798afd8c11dc90ef7c6e43c
>> ---
>>  guix/build-system/node.scm | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm
>> index 8a903b4fe5..b52b8f4f3e 100644
>> --- a/guix/build-system/node.scm
>> +++ b/guix/build-system/node.scm
>> @@ -35,8 +35,22 @@ (define-module (guix build-system node)
>>              node-build
>>              node-build-system
>>  
>> +            node-is-type-object
>>              node-trivial-package))
>>  
>> +(define* (node-is-type-object type #:optional (type-exists? #t))
>> +  "Helper for node packages replacement.  This is actual code
>> factorized from
>> +the packages it replaces, use with caution.  It doesn't apply to all
>> +javascript types."
> Which types are excluded?

Sorry, I haven't seen your email earlier. Basically all types that I've
kept in a true package are in this case. The process was to look the
source code to see if we could use this replacement instead. The
packages where that was not as straightforward I've simply kept the
original packages. This includes for instance : node-is-set,
node-is-map, node-is-callable, node-is-symbol...

>> +  (string-append
>> +   "function(value) {"
>> +   (if type-exists?
>> +       (string-append
>> +        "if (typeof value === '" (string-downcase type) "') {return
>> true;} ")
>> +       "")
>> +   "if (value === null || typeof value !== 'object') {return false;}
>> +  return Object.prototype.toString.call(value) === '[object " type
>> "]';}"))
>> +
> I'd call this js-type-object? or perhaps make-js-type-predicate.

I've renamed this make-js-type-predicate. I'm trying to send an
extensive v2 that would bootstrap up to node-tape instead of just
node-deep-equal.

>
> Cheers
>
>
>

-- 
Best regards,
Nicolas Graves




This bug report was last modified 1 year and 13 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.