all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>
To: 68941@debbugs.gnu.org
Cc: ngraves@ngraves.fr
Subject: [bug#68941] [PATCH 02/44] guix: build-system: node: Add node-is-type-object helper.
Date: Tue,  6 Feb 2024 00:18:50 +0100	[thread overview]
Message-ID: <20240205231952.26410-2-ngraves@ngraves.fr> (raw)
In-Reply-To: <20240205231952.26410-1-ngraves@ngraves.fr>

* 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."
+  (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 "]';}"))
+
 (define* (node-trivial-package node-name version replacement description
                                #:key (propagated-inputs '())
                                (mozilla-doclink #f)  ;maybe-string
-- 
2.41.0





  reply	other threads:[~2024-02-05 23:22 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-05 23:06 [bug#68941] [PATCH 00/44] Node : a solution for tiny packages Nicolas Graves via Guix-patches via
2024-02-05 23:18 ` [bug#68941] [PATCH 01/44] guix: build-system: node: Add node-trivial-package helper Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` Nicolas Graves via Guix-patches via [this message]
2024-02-06 19:33     ` [bug#68941] [PATCH 02/44] guix: build-system: node: Add node-is-type-object helper Liliana Marie Prikler
2024-02-18 22:58       ` Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 03/44] gnu: Add node-function-bind Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 04/44] gnu: Add node-has-proto Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 05/44] gnu: Add node-has Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 06/44] gnu: Add node-has-symbols Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 07/44] gnu: Add node-has-tostringtag Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 08/44] gnu: Add node-is-callable Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 09/44] gnu: Add node-get-intrinsic Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 10/44] gnu: Add node-is-symbol Nicolas Graves via Guix-patches via
2024-02-05 23:18   ` [bug#68941] [PATCH 11/44] gnu: Add node-for-each Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 12/44] gnu: Add node-available-typed-arrays Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 13/44] gnu: Add node-gopd Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 14/44] gnu: Add node-call-bind Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 15/44] gnu: Add node-object-inspect Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 16/44] gnu: Add node-is-regex Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 17/44] gnu: Add node-which-typed-array Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 18/44] gnu: Add node-side-channel Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 19/44] gnu: Add node-is-weakmap Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 20/44] gnu: Add node-is-weakset Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 21/44] gnu: Add node-is-typed-array Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 22/44] gnu: Add node-is-shared-array-buffer Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 23/44] gnu: Add node-internal-slot Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 24/44] gnu: Add node-is-array-buffer Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 25/44] gnu: Add node-define-properties Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 26/44] gnu: Add node-is-arguments Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 27/44] gnu: Add node-isarray Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 28/44] gnu: Add node-stop-iteration-iterator Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 29/44] gnu: Add node-is-map Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 30/44] gnu: Add node-is-set Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 31/44] gnu: Add node-is-string Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 32/44] gnu: Add node-is-number-object Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 33/44] gnu: Add node-is-bigint Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 34/44] gnu: Add node-is-boolean-object Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 35/44] gnu: Add node-object-is Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 36/44] gnu: Add node-es-get-iterator Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 37/44] gnu: Add node-which-boxed-primitive Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 38/44] gnu: Add node-which-collection Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 39/44] gnu: Add node-array-buffer-byte-length Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 40/44] gnu: Add node-is-date-object Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 41/44] gnu: Add node-object-assign Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 42/44] gnu: Add node-object-keys Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 43/44] gnu: Add node-regexp-prototype-flags Nicolas Graves via Guix-patches via
2024-02-05 23:19   ` [bug#68941] [PATCH 44/44] gnu: Add node-deep-equal Nicolas Graves via Guix-patches via
2024-02-06 19:30   ` [bug#68941] [PATCH 01/44] guix: build-system: node: Add node-trivial-package helper Liliana Marie Prikler
2024-02-07  0:19     ` Nicolas Graves via Guix-patches via
2024-02-07  5:11       ` Liliana Marie Prikler
2024-06-01 16:12         ` Nicolas Graves via Guix-patches via
2024-06-01 16:19           ` Liliana Marie Prikler
2024-02-08  0:24 ` [bug#68941] [PATCH v2 01/44] guix: build-system: node: Add trivial-node-package helper Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 02/44] guix: build-system: node: Add node-is-type-object helper Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 03/44] gnu: Add node-function-bind Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 04/44] gnu: Add node-has-proto Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 05/44] gnu: Add node-has Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 06/44] gnu: Add node-has-symbols Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 07/44] gnu: Add node-has-tostringtag Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 08/44] gnu: Add node-is-callable Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 09/44] gnu: Add node-get-intrinsic Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 10/44] gnu: Add node-is-symbol Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 11/44] gnu: Add node-for-each Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 12/44] gnu: Add node-available-typed-arrays Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 13/44] gnu: Add node-gopd Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 14/44] gnu: Add node-call-bind Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 15/44] gnu: Add node-object-inspect Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 16/44] gnu: Add node-is-regex Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 17/44] gnu: Add node-which-typed-array Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 18/44] gnu: Add node-side-channel Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 19/44] gnu: Add node-is-weakmap Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 20/44] gnu: Add node-is-weakset Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 21/44] gnu: Add node-is-typed-array Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 22/44] gnu: Add node-is-shared-array-buffer Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 23/44] gnu: Add node-internal-slot Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 24/44] gnu: Add node-is-array-buffer Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 25/44] gnu: Add node-define-properties Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 26/44] gnu: Add node-is-arguments Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 27/44] gnu: Add node-isarray Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 28/44] gnu: Add node-stop-iteration-iterator Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 29/44] gnu: Add node-is-map Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 30/44] gnu: Add node-is-set Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 31/44] gnu: Add node-is-string Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 32/44] gnu: Add node-is-number-object Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 33/44] gnu: Add node-is-bigint Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 34/44] gnu: Add node-is-boolean-object Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 35/44] gnu: Add node-object-is Nicolas Graves via Guix-patches via
2024-02-08  0:24   ` [bug#68941] [PATCH v2 36/44] gnu: Add node-es-get-iterator Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 37/44] gnu: Add node-which-boxed-primitive Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 38/44] gnu: Add node-which-collection Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 39/44] gnu: Add node-array-buffer-byte-length Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 40/44] gnu: Add node-is-date-object Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 41/44] gnu: Add node-object-assign Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 42/44] gnu: Add node-object-keys Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 43/44] gnu: Add node-regexp-prototype-flags Nicolas Graves via Guix-patches via
2024-02-08  0:25   ` [bug#68941] [PATCH v2 44/44] gnu: Add node-deep-equal Nicolas Graves via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240205231952.26410-2-ngraves@ngraves.fr \
    --to=guix-patches@gnu.org \
    --cc=68941@debbugs.gnu.org \
    --cc=ngraves@ngraves.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.