[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/plz-event-source a1f3cc7da9 14/22: Prefix parser functi
From: |
ELPA Syncer |
Subject: |
[elpa] externals/plz-event-source a1f3cc7da9 14/22: Prefix parser functions with plz-event-source-parser |
Date: |
Wed, 1 May 2024 09:58:49 -0400 (EDT) |
branch: externals/plz-event-source
commit a1f3cc7da9e33fbbf8d5c1ea7c0100f76814b42a
Author: Roman Scherer <roman@burningswell.com>
Commit: Roman Scherer <roman@burningswell.com>
Prefix parser functions with plz-event-source-parser
---
plz-event-source.el | 59 +++++++++++++++------------------
tests/test-plz-event-source.el | 74 +++++++++++++++++++++---------------------
2 files changed, 63 insertions(+), 70 deletions(-)
diff --git a/plz-event-source.el b/plz-event-source.el
index 8a54300c1a..441544c7fb 100644
--- a/plz-event-source.el
+++ b/plz-event-source.el
@@ -109,31 +109,31 @@
:type integer))
"The server sent event stream parser.")
-(defconst plz-event-source--end-of-line-regexp
+(defconst plz-event-source-parser--end-of-line-regexp
(rx (or "\r\n" "\n" "\r"))
"Regular expression matching the end of a line.")
-(defconst plz-event-source--line-regexp
+(defconst plz-event-source-parser--line-regexp
(rx (* not-newline) (or "\r\n" "\n" "\r"))
"Regular expression matching a line of the event source stream.")
-(defun plz-event-source--parse-bom (line)
+(defun plz-event-source-parser--parse-bom (line)
"Parse the Byte Order Mark (BOM) from LINE."
(if (string-prefix-p "\uFEFF" line)
(substring line 1)
line))
-(defun plz-event-source--looking-at-line-p ()
+(defun plz-event-source-parser--looking-at-line-p ()
"Return non-nil if the current line matches the event source line regexp."
- (looking-at plz-event-source--line-regexp))
+ (looking-at plz-event-source-parser--line-regexp))
-(defun plz-event-source--parse-line ()
+(defun plz-event-source-parser--parse-line ()
"Return non-nil if the current line matches the event source line regexp."
- (when (looking-at plz-event-source--line-regexp)
+ (when (looking-at plz-event-source-parser--line-regexp)
(string-trim-right (delete-and-extract-region (match-beginning 0)
(match-end 0))
- plz-event-source--end-of-line-regexp)))
+ plz-event-source-parser--end-of-line-regexp)))
-(defun plz-event-source--dispatch-event (parser)
+(defun plz-event-source-parser--dispatch-event (parser)
"Dispatch an event from PARSER to registered listeners."
(with-slots (data-buffer event-type-buffer events last-event-id
last-event-id-buffer) parser
(setf last-event-id last-event-id-buffer)
@@ -155,46 +155,39 @@
(setf events (cons event events))
event)))))
-(defun plz-event-source--process-event (parser field value)
+(defun plz-event-source-parser--process-event (parser field value)
"Process the FIELD and VALUE from PARSER as a event."
(ignore field)
(with-slots (event-type-buffer) parser
(setf event-type-buffer value)))
-(defun plz-event-source--process-data (parser field value)
+(defun plz-event-source-parser--process-data (parser field value)
"Process the FIELD and VALUE from PARSER as data."
(ignore field)
(with-slots (data-buffer) parser
(setf data-buffer (concat data-buffer value "\n"))))
-(defun plz-event-source--process-id (parser field value)
+(defun plz-event-source-parser--process-id (parser field value)
"Process the FIELD and VALUE from PARSER as event id."
(ignore field)
(unless (string-match "\u0000" value)
(with-slots (last-event-id-buffer) parser
(setf last-event-id-buffer value))))
-(defun plz-event-source--process-retry (parser field value)
- "Process the FIELD and VALUE from PARSER as event id."
- (ignore parser)
- (message "TODO: Process retry for field %s and value %s." field value))
-
(defun plz-event-source--process-field (parser field value)
"Process the FIELD and VALUE from PARSER."
(cond ((equal "event" field)
- (plz-event-source--process-event parser field value))
+ (plz-event-source-parser--process-event parser field value))
((equal "data" field)
- (plz-event-source--process-data parser field value))
+ (plz-event-source-parser--process-data parser field value))
((equal "id" field)
- (plz-event-source--process-id parser field value))
- ((equal "retry" field)
- (plz-event-source--process-retry parser field value))))
+ (plz-event-source-parser--process-id parser field value))))
-(defun plz-event-source--process-line (parser line)
+(defun plz-event-source-parser--process-line (parser line)
"Parse a LINE of the event stream PARSER and dispatch events."
(cond ((string-prefix-p ":" line))
((string-blank-p line)
- (plz-event-source--dispatch-event parser))
+ (plz-event-source-parser--dispatch-event parser))
((string-match ":" line)
(let ((field (substring line 0 (match-beginning 0)))
(value (substring line (match-end 0))))
@@ -204,32 +197,32 @@
value))))
(t (plz-event-source--process-field parser line ""))))
-(defun plz-event-source-parse-line (parser)
+(defun plz-event-source-parser-parse-line (parser)
"Parse a line from the event stream in the PARSER buffer."
(with-slots (buffer position) parser
(with-current-buffer buffer
(save-excursion
(goto-char position)
- (when-let (line (plz-event-source--parse-line))
+ (when-let (line (plz-event-source-parser--parse-line))
(setf position (point))
- (plz-event-source--process-line parser line)
+ (plz-event-source-parser--process-line parser line)
line)))))
-(defun plz-event-source-parse-stream (parser)
+(defun plz-event-source-parser-parse (parser)
"Parse the event stream in the the PARSER buffer."
(with-slots (buffer handlers) parser
(with-current-buffer (get-buffer buffer)
(goto-char (point-min))
(while (not (eobp))
- (when-let (line (plz-event-source--parse-line))
- (plz-event-source--process-line parser line))))))
+ (when-let (line (plz-event-source-parser--parse-line))
+ (plz-event-source-parser--process-line parser line))))))
-(defun plz-event-source-parser-insert (parser string)
+(defun plz-event-source-parser--insert (parser string)
"Insert STRING into the buffer of the event PARSER."
(with-slots (buffer events position) parser
(with-current-buffer (get-buffer buffer)
(insert string)
- (while (plz-event-source-parse-line parser))
+ (while (plz-event-source-parser-parse-line parser))
events)))
;; Event Source
@@ -333,7 +326,7 @@
(cl-defmethod plz-event-source--insert ((source plz-event-source-buffer) data)
"Insert DATA into the event SOURCE buffer, parse and dispatch events."
(with-slots (parser) source
- (plz-event-source-parser-insert parser data)
+ (plz-event-source-parser--insert parser data)
(with-slots (events) parser
(plz-event-source-dispatch-events source events)
(setf events nil))))
diff --git a/tests/test-plz-event-source.el b/tests/test-plz-event-source.el
index 280134b1cd..bee26897d9 100644
--- a/tests/test-plz-event-source.el
+++ b/tests/test-plz-event-source.el
@@ -42,17 +42,17 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser "data: This is the first
message.\n")
+ (plz-event-source-parser--insert parser "data: This is the first
message.\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data: This is the second
message, it\n")
+ (plz-event-source-parser--insert parser "data: This is the second
message, it\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data: has two lines.\n")
+ (plz-event-source-parser--insert parser "data: has two lines.\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "data: This is the third
message.\n")
+ (plz-event-source-parser--insert parser "data: This is the third
message.\n")
(should (equal (list event-2 event-1) events))
(should (equal "" (buffer-string)))))))
@@ -68,21 +68,21 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser "event: add\n")
+ (plz-event-source-parser--insert parser "event: add\n")
(should (null events))
- (plz-event-source-parser-insert parser "data: 73857293\n")
+ (plz-event-source-parser--insert parser "data: 73857293\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "event: remove\n")
+ (plz-event-source-parser--insert parser "event: remove\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data: 2153\n")
+ (plz-event-source-parser--insert parser "data: 2153\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "event: add\n")
+ (plz-event-source-parser--insert parser "event: add\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "data: 113411\n")
+ (plz-event-source-parser--insert parser "data: 113411\n")
(should (equal (list event-2 event-1) events))
(should (equal "" (buffer-string)))))))
@@ -93,13 +93,13 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser "data: YHOO\n")
+ (plz-event-source-parser--insert parser "data: YHOO\n")
(should (null events))
- (plz-event-source-parser-insert parser "data: +2\n")
+ (plz-event-source-parser--insert parser "data: +2\n")
(should (null events))
- (plz-event-source-parser-insert parser "data: 10\n")
+ (plz-event-source-parser--insert parser "data: 10\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
(should (equal "" (buffer-string)))))))
@@ -117,25 +117,25 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser ": test stream\n")
+ (plz-event-source-parser--insert parser ": test stream\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (null events))
- (plz-event-source-parser-insert parser "data: first event\n")
+ (plz-event-source-parser--insert parser "data: first event\n")
(should (null events))
- (plz-event-source-parser-insert parser "id: 1\n")
+ (plz-event-source-parser--insert parser "id: 1\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data:second event\n")
+ (plz-event-source-parser--insert parser "data:second event\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "id\n")
+ (plz-event-source-parser--insert parser "id\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "data: third event\n")
+ (plz-event-source-parser--insert parser "data: third event\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-3 event-2 event-1) events))
(should (equal "" (buffer-string)))))))
@@ -149,17 +149,17 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser "data\n")
+ (plz-event-source-parser--insert parser "data\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data\n")
+ (plz-event-source-parser--insert parser "data\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data\n")
+ (plz-event-source-parser--insert parser "data\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-2 event-1) events))
- (plz-event-source-parser-insert parser "data:\n")
+ (plz-event-source-parser--insert parser "data:\n")
(should (equal (list event-2 event-1) events))
(should (equal "" (buffer-string)))))))
@@ -170,11 +170,11 @@
:origin (buffer-name)))
(parser (plz-event-source-parser :buffer (buffer-name))))
(with-slots (events) parser
- (plz-event-source-parser-insert parser "data:test\n")
+ (plz-event-source-parser--insert parser "data:test\n")
(should (null events))
- (plz-event-source-parser-insert parser "\n")
+ (plz-event-source-parser--insert parser "\n")
(should (equal (list event-1) events))
- (plz-event-source-parser-insert parser "data: test\n")
+ (plz-event-source-parser--insert parser "data: test\n")
(should (equal (list event-1) events))
(should (equal "" (buffer-string)))))))
- [elpa] branch externals/plz-event-source created (now 544432be2d), ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source b33496a593 02/22: Remove plz-media-type.el, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 47fff98c63 06/22: Rename text/event-stream media type, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source b25a8bd7c8 07/22: Fix checkdoc issues, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 540072367a 03/22: Remove plz.el, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 92a81ca775 04/22: Use .git to locate dominating file, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 436a615c64 05/22: Rename buffer and http event source, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 8e1b769f08 20/22: Tweak vendor note, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 544432be2d 22/22: Split manual and README, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source a1f3cc7da9 14/22: Prefix parser functions with plz-event-source-parser,
ELPA Syncer <=
- [elpa] externals/plz-event-source abfc1f5271 18/22: Run tests on 29.3 as well, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source ae322c21ed 01/22: Initial commit, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 1c108a456a 15/22: Move private function, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 7d3c6a19d2 17/22: Update example in README, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 558ba9a77e 19/22: Add vendor note, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source de99b89df6 21/22: ELPA preparations, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 471a01eb83 10/22: Run handler code via a timer in the main loop, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 9654a785ef 11/22: Call handler functions only with the event object, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source c3874f9ad2 16/22: Make dispatch functions private, ELPA Syncer, 2024/05/01
- [elpa] externals/plz-event-source 4784930adc 13/22: Make insert function private, ELPA Syncer, 2024/05/01