Mercurial > core / lisp/lib/dat/pkg.lisp
changeset 356: |
aac665e2f5bf |
parent: |
87a8ae74a22c
|
child: |
de40bd522c84 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Tue, 21 May 2024 17:13:34 -0400 |
permissions: |
-rw-r--r-- |
description: |
stashed and revert some obj/color changes. added x/wayland feature splits, WITH-TCP-CLIENT and WITH-UDP-CLIENT impl (no tests) |
1 ;;; dat/pkg.lisp --- Data 6 (:export :serialize :deserialize 7 :serializer-error :deserializer-error 8 :serde :serde-error :dat-error)) 12 (:use :cl :sb-mop :std) 13 (:import-from :uiop :read-file-forms :slurp-stream-forms :with-output-file) 14 ;; TODO: hot-patch readtables into sxp classes/parsers 15 (:import-from :std/named-readtables :defreadtable :in-readtable) 18 :form :formp :sxp-error :sxp-fmt-error :sxp-syntax-error :reader :writer :fmt 19 :wrap :wrap! :wrap-from-string! :unwrap :unwrap! :unwrap-or 20 :sxpp :build-ast :load-ast :ast 21 :define-macro :define-fmt :read-sxp-file :write-sxp-file 22 :read-sxp-string :write-sxp-string :read-sxp-stream :write-sxp-stream 23 :make-sxp :sxp :formp :form 25 :wrap-object :unwrap-object)) 28 (:use :cl :std :dat/proto) 35 :read-csv-file-and-sort 39 (:use :cl :std :dat/proto :obj/time) 48 #:toml-redefine-table-error 49 #:toml-redefine-property-error 50 #:toml-modify-inline-table-error 51 #:toml-dotted-key-redefine-table-error 52 #:toml-dotted-key-open-table-array-error)) 55 (:use :cl :std :dat/proto :dat/csv) 57 :arff :arff-relation :arff-attributes :arff-data :arff-path 58 :parse-arff :parse-arff-string :parse-arff-stream 59 :remove-attribute-by-name)) 62 (:use :cl :std :dat/proto) 67 #:json-enable-reader-macro 73 (defpackage :dat/base64 74 (:use :cl :std :dat/proto) 75 (:export #:base64-stream-to-integer 76 #:base64-stream-to-string 77 #:base64-stream-to-stream 78 #:base64-stream-to-usb8-array 79 #:base64-string-to-integer 80 #:base64-string-to-string 81 #:base64-string-to-stream 82 #:base64-string-to-usb8-array 83 #:string-to-base64-string 84 #:string-to-base64-stream 85 #:usb8-array-to-base64-string 86 #:usb8-array-to-base64-stream 87 #:stream-to-base64-string 88 #:stream-to-base64-stream 89 #:integer-to-base64-string 90 #:integer-to-base64-stream 93 #:bad-base64-character 94 #:incomplete-base64-data 95 ;; For creating custom encode/decode tables. 98 #:+uri-decode-table+)) 100 (defpackage :dat/html 101 (:use :cl :std :dat/proto) 102 (:import-from :sb-ext :defglobal) 105 :parse-html5-fragment 129 :node-previous-sibling 131 :element-map-attributes 132 :element-map-attributes* 133 :element-map-children)) 136 (:use :cl :std :dat/proto :log) 137 (:shadow :read-char :unread-char) 150 :xml-node ; needed to support use in typep 151 ;; processing instruction objects 158 :make-xmlrep :xmlrep-add-child! 159 :xmlrep-tag :xmlrep-tagmatch 160 :xmlrep-attribs :xmlrep-children 161 :xmlrep-string-child :xmlrep-integer-child 162 :xmlrep-find-child-tags :xmlrep-find-child-tag 163 :xmlrep-attrib-value :xmlrep-boolean-attrib-value 164 ;; tree searching from Daniel Eliason 168 (defpackage :dat/bencode 169 (:use :cl :std :dat/proto :sb-gray) 173 :*bencode-binary-key-p*)) 175 (defpackage :dat/midi 177 (:use :cl :std :dat/proto) 178 (:export #:read-midi-file #:write-midi-file 180 #:midifile-format #:midifile-tracks #:midifile-division 181 #:message #:note-off-message #:note-on-message #:tempo-message 182 #:program-change-message #:pitch-bend-message 183 #:key-signature-message #:time-signature-message 184 #:smpte-offset-message 185 #:sequence/track-name-message 186 #:message-channel #:message-key #:message-time 187 #:message-velocity #:message-numerator #:message-denominator 188 #:message-sf #:message-mi #:message-tempo #:message-program 190 #:header #:header-type 191 #:unknown-event #:status #:data-byte #:dd #:bb #:cc #:nn)) 193 (defpackage :dat/qrcode 195 (:use :cl :std :dat/proto) 198 ;; QR code representation 199 ;; this should be enough to write another backend for QR symbol 208 (:use :cl :std :dat/proto)) 211 (:use :cl :std :dat/proto :png)) 213 (uiop:define-package :dat 214 (:use-reexport :dat/proto :dat/csv :dat/arff :dat/toml :dat/json :dat/sxp :dat/xml :dat/bencode