From 56f45b215dae89107cc30638594360c382aaeafe Mon Sep 17 00:00:00 2001 From: chenhaoli Date: Fri, 17 Nov 2023 11:42:18 +0800 Subject: [PATCH] chore: tweaks --- .media/ipc.png | Bin 13885 -> 15063 bytes README.md | 8 +++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.media/ipc.png b/.media/ipc.png index a444c01180aa75bbed37e61e294c9d674738fb6d..b3466ed724a91d0214e5a2996864474b4867b03c 100644 GIT binary patch literal 15063 zcmeIZXEdDA7dJ{sL?k36M3;yVUGx}+h#rLKUG&}tgCHRxqDAi{dMCQklIV39y_eBO zAH7VukN^L@?|MJnb>9zn-EZ%+)-2Cy`|Pv#KKr-NvyZTMY6|!6(A^;*Ah@Tb_(qd} z;FcHx!HwG6L_p1JBN}Po521&q!fV3mUhY7kK~!X5Nr*YYsSNtn6N ztC@hSF$WAX9e;+zZdP0&tnhdY9(#gA4`MgUFpEF%7aN#`NZelg)f5zu$Kj4Av8ZbN zz%0e(g-JbpK;mfd zqB`MCZ{gehZo{=UUG8W1mtfj+^;+Q`LKg4YVxXcA$Zsi2GWgr_zj#Wq@kj6PPo*d? zkzXN_goFgv+U)8wOad<`wdGm1JM=$02<&wkR>sOo3DNjj^BSl;eI-DBg|J{_BFD_k zo)(qtD5z}EGNX6|(cZq8<(1Ln)y$1{(ZMeSZ5A}0Zno1oOXoY-jm^X0kZmd1P1YBy z7kl3GCC__&$^O|LIJsT+56+&UK1^kGpl7i=JNuTlTbG9}v-#?yaro2Iey%^Eqk-;BsuNdN}bMlQt#oy z{dULOe{FZwG;w=-prO#G-OxQlvqQ|865_`dV)W&}XD~c$;{ttFRTHpS$=w$)aI`de zvT_642*t;)Hb){G8~4U8Iy%=T@%Xdzo)Y}#CAM+zG;RGb zbon57asThZncM8HK;P=!KZ~VX$1|r_*_%hUQ`?W*mzK{lng|qQ=W@^C`N#RaNB@=- z;Tyxpmtq5Ju}E~p%7O93*7I&;_0Gv223NatQn`KNvb(HJKp^U>^hQPtn!Y>lWA<=u z{*N0A2`SZ+F9f9bR}(4AzP^6&@M(_BeVIQ*G7ou_Yt2d+5`BXSOYi7O%iUD3w3R8< zJSbF@tV}Q{nNS`-En_#Rl`E@d@?Z4!_SkXs^78gNOW6>WIKpBG1xS03FqlD*AbdLe zCSbMy=lTCl0!lTG2}!2!reK8)k>)iocD+=Rt}-`LdDJ3_9q}w3Zgi$_CW& zv4aT(*cfNMIC-`mr?!lAW{RA;@1R~j?cr>K?CQjGfM;ttV|bbGgS36-sf6fMX>87# zIZ>KVe-@K-@5g{7d)1|@i_443`)-vWM;b=}QO+HO6`N)JVVqWc3cu7Z|60Tb#T50nh;!Gt2nNlxR-Z(@qG z9qLea5HUR%R%tk&rvXh?Xo&)%IwH[hRJAETk-bG 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 literal 13885 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 C2FURM diff --git a/README.md b/README.md index 5fbb7f3..cbac08a 100644 --- a/README.md +++ b/README.md @@ -35,14 +35,12 @@ Unport is designed to solve the complexity of JSContext environments such as [No ## 💡 Features -1. Provides a unified Port paradigm. You only need to define the message types that different JSContexts need to pass, and you will get a unified type of Port: +1. Provides a unified Port paradigm. You only need to define the message types ([MessageDefinition](#messagedefinition)) and Intermediate communication channel ([UnportChannel](#unportchannel)) that different JSContexts need to pass, and you will get a unified type of Port: +2. 100% type inference. Users only need to maintain the message types between JSContexts, and leave the rest to unport. +3. Lightweight size and succinct API. ![IPC](https://github.com/ulivz/unport/blob/main/.media/ipc.png?raw=true) -1. 100% type inference. Users only need to maintain the types of communication between JSContexts, and leave the rest to unport. -2. Lightweight and succinct API. - - ## 🛠️ Install