x-next 0.0.0-alpha.1 → 0.0.0-alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +24 -2
- package/package.json +50 -63
- package/x-next/_hooks/use-overflow.d.ts +5 -0
- package/x-next/_hooks/use-popup-manager.d.ts +11 -0
- package/x-next/_props/css.d.ts +13 -0
- package/x-next/_props/global.d.ts +1 -0
- package/x-next/_utils/config.d.ts +9 -0
- package/x-next/_utils/convert-case.d.ts +3 -0
- package/x-next/_utils/dom.d.ts +10 -0
- package/x-next/_utils/helpers.d.ts +12 -0
- package/x-next/_utils/icon.d.ts +59 -0
- package/{framework/es/util.d.ts → x-next/_utils/is.d.ts} +22 -36
- package/x-next/_utils/keyboard.d.ts +24 -0
- package/x-next/_utils/number.d.ts +0 -0
- package/x-next/_utils/vue-eco.d.ts +28 -0
- package/x-next/componets/button/index.vue.d.ts +162 -0
- package/x-next/componets/button/props.d.ts +45 -0
- package/x-next/componets/dialog/index.vue.d.ts +221 -0
- package/x-next/componets/dialog/props.d.ts +83 -0
- package/x-next/componets/dialog/use-props.d.ts +33 -0
- package/x-next/componets/dialog/use.d.ts +3 -0
- package/x-next/componets/dialog/warp.d.ts +2 -0
- package/x-next/componets/message/index.vue.d.ts +387 -0
- package/x-next/componets/message/props.d.ts +31 -0
- package/x-next/componets/message/warp.d.ts +3 -0
- package/x-next/componets/message-box/index.d.ts +3 -0
- package/x-next/componets/message-box/props.d.ts +52 -0
- package/x-next/componets/message-box/warp.d.ts +2 -0
- package/x-next/componets/notification/index.vue.d.ts +160 -0
- package/x-next/componets/notification/props.d.ts +54 -0
- package/x-next/componets/notification/warp.d.ts +3 -0
- package/x-next/componets/space/index.d.ts +42 -0
- package/x-next/componets/tag-cloud/index.d.ts +0 -0
- package/x-next/componets/trend-chart/components/trend-chart-curve.d.ts +114 -0
- package/x-next/componets/trend-chart/components/trend-chart-grid.d.ts +55 -0
- package/x-next/componets/trend-chart/components/trend-chart-labels.d.ts +22 -0
- package/x-next/componets/trend-chart/components/trend-chart.d.ts +270 -0
- package/x-next/componets/trend-chart/helpers/genPath.d.ts +8 -0
- package/x-next/componets/trend-chart/helpers/genPoints.d.ts +3 -0
- package/x-next/componets/trend-chart/helpers/getPadding.d.ts +7 -0
- package/x-next/componets/trend-chart/helpers/validatePadding.d.ts +2 -0
- package/x-next/componets/trend-chart/index.d.ts +2 -0
- package/x-next/componets/trend-chart/props.d.ts +206 -0
- package/x-next/icons/animation/animation-loading.vue.d.ts +55 -0
- package/x-next/icons/default/check-circle-fill.vue.d.ts +55 -0
- package/x-next/icons/default/close-circle-fill.vue.d.ts +55 -0
- package/x-next/icons/default/exclamation-circle-fill.vue.d.ts +55 -0
- package/x-next/icons/default/info-circle-fill.vue.d.ts +55 -0
- package/x-next/icons/default/minus-circle-fill.vue.d.ts +55 -0
- package/x-next/icons/index.d.ts +7 -0
- package/x-next/style.css +1 -0
- package/x-next/ui.d.ts +5 -0
- package/x-next/ui.js +1357 -0
- package/x-next/ui.umd.cjs +1 -0
- package/LICENSE +0 -21
- package/framework/es/client.io.js +0 -2
- package/framework/es/client.io.js.map +0 -1
- package/framework/es/exception.d.ts +0 -25
- package/framework/es/index.d.ts +0 -2
- package/framework/es/types.d.ts +0 -33
- package/framework/es/websocket.d.ts +0 -118
- package/framework/umd/client.io.js +0 -2
- package/framework/umd/client.io.js.map +0 -1
- package/framework/umd/exception.d.ts +0 -25
- package/framework/umd/index.d.ts +0 -2
- package/framework/umd/types.d.ts +0 -33
- package/framework/umd/util.d.ts +0 -36
- package/framework/umd/websocket.d.ts +0 -118
- package/index.d.ts +0 -159
@@ -0,0 +1 @@
|
|
1
|
+
(function(k,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(k=typeof globalThis<"u"?globalThis:k||self,t(k.ui={},k.Vue))})(this,function(k,t){"use strict";var bt=Object.defineProperty;var wt=(k,t,w)=>t in k?bt(k,t,{enumerable:!0,configurable:!0,writable:!0,value:w}):k[t]=w;var $=(k,t,w)=>wt(k,typeof t!="symbol"?t+"":t,w);const w="X",ue="x",_=e=>e?ue+"-"+e:e||"",T=e=>w+e,N=e=>{const n=_(e);return{block:n,element:r=>`${n}--${r}`,modifier:r=>`${n}-${r}`,is:r=>`${n}-is-${r}`}},Ce=["px","%","vh","vw","calc"],v=(e,n="px")=>{if(e===void 0)return"";const l=String(e);return Ce.some(o=>l.includes(o))?l:l+n},V=Object.prototype.toString;function ee(e){return V.call(e)==="[object Array]"}function te(e){return V.call(e)==="[object Object]"}const ne=e=>V.call(e)==="[object Promise]";function le(e){return V.call(e)==="[object String]"}function ye(e){return V.call(e)==="[object Number]"&&e===e}function h(e){return typeof e=="function"}function D(){return typeof window<"u"}const ge=1e3,ke=3e3,he=1;class pe{constructor(){$(this,"popupStack",{popup:new Set,dialog:new Set,message:new Set});$(this,"getNextZIndex",n=>(n==="message"?Array.from(this.popupStack.message).pop()||ke:Array.from(this.popupStack.popup).pop()||ge)+he);$(this,"add",n=>{const l=this.getNextZIndex(n);return this.popupStack[n].add(l),n==="dialog"&&this.popupStack.popup.add(l),l});$(this,"delete",(n,l)=>{this.popupStack[l].delete(n),l==="dialog"&&this.popupStack.popup.delete(n)});$(this,"isLastDialog",n=>this.popupStack.dialog.size>1?n===Array.from(this.popupStack.dialog).pop():!0)}}const j=new pe;function U(e,{visible:n,runOnMounted:l}={}){const o=t.ref(0),a=()=>{o.value=j.add(e)},r=()=>{j.delete(o.value,e)},f=()=>e==="dialog"?j.isLastDialog(o.value):!1;return t.watch(()=>n==null?void 0:n.value,s=>{s?a():r()},{immediate:!0}),l&&(t.onMounted(()=>{a()}),t.onBeforeUnmount(()=>{r()})),{zIndex:t.readonly(o),open:a,close:r,isLastDialog:f}}const oe=e=>e.replace(/^./,n=>n.toLowerCase()).replace(/-(\w)/g,(n,l)=>{var o;return(o=l==null?void 0:l.toUpperCase())!==null&&o!==void 0?o:""}),re=()=>{},Ee=(e,n)=>{var l;if(D)return(l=document.querySelector(e))!==null&&l!==void 0?l:void 0},Ne=e=>{if(e.tagName==="BODY")return window.innerWidth-(document.documentElement.offsetWidth||document.body.offsetWidth);const{borderLeftWidth:n,borderRightWidth:l}=window.getComputedStyle(e),o=Number(n.replace("px",""))+Number(l.replace("px",""));return e.offsetWidth-(e.clientWidth+o)},Be=e=>e.tagName==="BODY"?document.documentElement.scrollHeight>window.innerHeight:e.scrollHeight>e.offsetHeight,be=(e,n)=>{var l;if(!D||!e||!n)return"";let o=oe(n);o==="float"&&(o="cssFloat");try{const a=e.style[o];if(a)return a;const r=(l=document.defaultView)===null||l===void 0?void 0:l.getComputedStyle(e,"");return r?r[o]:""}catch{return e.style[o]}},z=(e,n,l)=>{if(!(!e||!n))if(te(n))Object.entries(n).forEach(([o,a])=>z(e,o,a));else{const o=oe(n);e.style[o]=l}},W=(e,n)=>{if(le(e)){const l=e[0]==="#"?`[id='${e.slice(1)}']`:e;return Ee(l)}return e},we=D?(e,n,l,o=!1)=>{e.addEventListener(n,l,o)}:re,Oe=D?(e,n,l,o=!1)=>{e.removeEventListener(n,l,o)}:re,Se=(e,n)=>{let l=!1;const o={overflow:"",width:""},a=s=>s.tagName==="BODY",r=()=>{if(e.value){const s=e.value;if(!l&&s.style.overflow!=="hidden"){const m=Ne(s);if(m>0||Be(s)){o.overflow=s.style.overflow,o.width=s.style.width;let u=0;a(s)&&(u=s.getBoundingClientRect().left||0),z(s,{width:`calc(100% - ${Math.ceil(m-u)}px)`,overflow:"hidden"}),l=!0}}}},f=()=>{if(e.value&&l){const s=e.value;z(s,{overflow:o.overflow,width:o.width}),l=!1}};return t.watch(()=>n==null?void 0:n.value,s=>{e.value&&!a(e.value)&&(s&&z(s,{position:"absolute"}),be(e.value,"position")==="static"&&z(e.value,{position:"relative"}))}),{setOverflowHidden:r,resetOverflow:f}},$e={ENTER:"Enter",ESC:"Escape",BACKSPACE:"Backspace",TAB:"Tab",SPACE:" ",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight"},M=e=>e;var O;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.FUNCTIONAL_COMPONENT=2]="FUNCTIONAL_COMPONENT",e[e.STATEFUL_COMPONENT=4]="STATEFUL_COMPONENT",e[e.COMPONENT=6]="COMPONENT",e[e.TEXT_CHILDREN=8]="TEXT_CHILDREN",e[e.ARRAY_CHILDREN=16]="ARRAY_CHILDREN",e[e.SLOTS_CHILDREN=32]="SLOTS_CHILDREN",e[e.TELEPORT=64]="TELEPORT",e[e.SUSPENSE=128]="SUSPENSE",e[e.COMPONENT_SHOULD_KEEP_ALIVE=256]="COMPONENT_SHOULD_KEEP_ALIVE",e[e.COMPONENT_KEPT_ALIVE=512]="COMPONENT_KEPT_ALIVE"})(O||(O={}));const Te=e=>!!(e&&e.shapeFlag&O.ELEMENT),Ve=(e,n)=>!!(e&&e.shapeFlag&O.COMPONENT),ze=(e,n)=>!!(e&&e.shapeFlag&8),Me=(e,n)=>!!(e&&e.shapeFlag&O.ARRAY_CHILDREN),Le=(e,n)=>!!(e&&e.shapeFlag&O.SLOTS_CHILDREN),R=(e,n=!1)=>{var l,o;const a=[];for(const r of e??[])Te(r)||Ve(r)||n&&ze(r,r.children)?a.push(r):Me(r,r.children)?a.push(...R(r.children,n)):Le(r,r.children)?a.push(...R((o=(l=r.children).default)===null||o===void 0?void 0:o.call(l),n)):ee(r)&&a.push(...R(r,n));return a},Ae={renderTo:{type:M([String,Object]),default:"body"},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},top:{type:[String,Number],default:"3vh"},center:{type:Boolean,default:!1},width:{type:[String,Number],default:0},height:{type:[String,Number],default:0},minWidth:{type:[String,Number],default:0},minHeight:{type:[String,Number],default:0},title:{type:String,default:""},mask:{type:Boolean,default:!0},destroyOnClosed:{type:Boolean,default:!0},onBeforeCancel:{type:Function},maskToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!0},fullscreen:{type:Boolean,default:!1},messageBox:{type:Boolean,default:!1},popupClass:{type:String,default:void 0},showClose:{type:Boolean,default:!0},showHeaderBottomLine:{type:Boolean,default:!1}},De=["width","minWidth","height","minHeight"],Re=t.defineComponent({name:T("Dialog"),inheritAttrs:!1,props:Ae,emits:["closed","close","open","opened","update:modelValue"],setup(e,{emit:n}){const l=N("dialog"),o=l.block,a=N("message-box"),r=a.block,f=t.computed(()=>[o,e.messageBox&&"is-message-box",e.popupClass&&e.popupClass]),s=t.computed(()=>W(e.renderTo)),m=t.ref(),u=t.computed(()=>e.disabled||!s.value),C=t.computed(()=>({zIndex:p.value})),c=t.computed(()=>{const y={};return e.fullscreen||(!e.center&&e.top&&(y.top=v(e.top)),De.forEach(B=>{e[B]&&(y[B]=v(e[B]))})),y}),i=t.ref(!1),d=t.computed(()=>e.modelValue),g=t.computed(()=>d.value||i.value),{zIndex:p,isLastDialog:b}=U("dialog",{visible:d}),{setOverflowHidden:yt,resetOverflow:ie}=Se(s,m),de=(y,B)=>{n("update:modelValue",!1),n("close",e.messageBox?y:void 0,e.messageBox?B:void 0)},gt=()=>{i.value=!1,ie(),n("closed")},kt=()=>{n("opened")},H=t.reactive({ok:!1,cancel:!1}),A=(y,B)=>{let F=!0;if(H[y]=!0,h(e.onBeforeCancel)&&(F=e.onBeforeCancel(y)??!1),ne(F)){F.then(Bt=>{H[y]=!1,Bt&&de(y,B)});return}H[y]=!1,F&&de(y,B)},ht=()=>{e.maskToClose&&e.mask&&A("cancel")},pt=y=>{A("cancel",y)},Et=y=>{A("ok",y)};let x=!1;const fe=y=>{e.escToClose&&y.key===$e.ESC&&b()&&A("cancel")},Nt=()=>{e.escToClose&&!x&&(x=!0,we(document.documentElement,"keydown",fe))},me=()=>{x=!1,Oe(document.documentElement,"keydown",fe)};return t.onBeforeUnmount(()=>{ie(),me()}),t.watch(()=>d.value,y=>{y?(n("open"),yt(),i.value=!0,Nt()):me()},{immediate:!0}),{cls:f,ns:o,cn:l,cnOMB:a,messageBoxNs:r,containerStyle:c,dialogStyle:C,dialogRef:m,teleportContainer:s,teleportDisabled:u,modelVisible:d,mergeVisible:g,interceptClose:A,afterLeave:gt,afterEnter:kt,handleMaskClick:ht,handleCancel:pt,handleOk:Et,loadingObj:H}}}),E=(e,n)=>{const l=e.__vccOpts||e;for(const[o,a]of n)l[o]=a;return l};function Ie(e,n,l,o,a,r){return t.openBlock(),t.createBlock(t.Teleport,{to:e.teleportContainer,disabled:e.teleportDisabled},[!e.destroyOnClosed||e.mergeVisible?t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:0,ref:"dialogRef",class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.dialogStyle)},[t.createVNode(t.Transition,{name:"x-fade-in-standard",appear:""},{default:t.withCtx(()=>[e.mask?t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass([e.cn.element("mask")])},null,2)),[[t.vShow,e.modelVisible]]):t.createCommentVNode("",!0)]),_:1}),t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("wrapper"),{"is-center":e.center}]),onClick:n[1]||(n[1]=t.withModifiers((...f)=>e.handleMaskClick&&e.handleMaskClick(...f),["self"]))},[t.createVNode(t.Transition,{name:"x-zoom-in",appear:"",onAfterEnter:e.afterEnter,onAfterLeave:e.afterLeave},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("container"),{"is-fullscreen":e.fullscreen}]),style:t.normalizeStyle(e.containerStyle)},[t.createElementVNode("div",{class:t.normalizeClass([e.messageBox?e.cnOMB.element("header"):e.cn.element("header"),e.showHeaderBottomLine&&"is-bottom-line"])},[t.renderSlot(e.$slots,"title",{},()=>[t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("header-title")])},t.toDisplayString(e.title),3)])],2),t.createElementVNode("div",{class:t.normalizeClass([e.messageBox?e.cnOMB.element("body"):e.cn.element("body")])},[t.renderSlot(e.$slots,"default")],2),t.createElementVNode("div",{class:t.normalizeClass([e.messageBox?e.cnOMB.element("footer"):e.cn.element("footer")])},[t.renderSlot(e.$slots,"footer",{cancel:e.handleCancel,ok:e.handleOk,loadingObj:e.loadingObj})],2),e.showClose?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass([e.cn.element("close-icon"),e.messageBox&&e.cnOMB.element("close-icon")]),onClick:n[0]||(n[0]=f=>e.interceptClose("cancel"))},null,2)):t.createCommentVNode("",!0)],6),[[t.vShow,e.modelVisible]])]),_:3},8,["onAfterEnter","onAfterLeave"])],2)],6)),[[t.vShow,e.mergeVisible]]):t.createCommentVNode("",!0)],8,["to","disabled"])}const se=E(Re,[["render",Ie]]),Pe={disabled:Boolean,block:Boolean,loading:Boolean,loadingFill:{type:Boolean,default:!1},debounce:{type:Number,default:0},shape:{type:M(String),default:void 0},link:{type:Boolean,default:!1},type:{type:M(String),default:void 0},status:{type:M(String),default:void 0},plain:{type:Boolean,default:!1},size:{type:M(String),default:"medium"},border:{type:Boolean,default:!0}},He=e=>le(e)?e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(""):"",Fe=(e,n="px")=>{if(e===void 0)return"";const l=typeof e=="number"?`${e}`:e;return["px","%","vh","vw","calc"].some(a=>l.includes(a))?l:l+n};function S(e){return t.defineComponent({name:_(`Icon${He(e)}`),props:{size:{type:[Number,String],default:void 0},rotate:{type:Number,default:void 0},spin:{type:Boolean,default:!1},color:{type:String,default:void 0},fillColor:{type:Array,default:void 0}},setup(n){const l="x-icon",o=t.computed(()=>{const r={};return n.size&&(r.fontSize=Fe(n.size)),n.rotate&&(r.transform=`rotate(${n.rotate}deg)`),n.color&&(r.color=n.color),r});return{cls:t.computed(()=>[l,{[`${l}-loading`]:n.spin}]),styles:o}}})}const je=S("animation-loading");function Ue(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 50 50",class:"icon-loading-svg"},[t.createElementVNode("circle",{cx:"25",cy:"25",r:"20",class:"path",fill:"none",stroke:"currentColor"})],-1)]),6)}const We=E(je,[["render",Ue],["__scopeId","data-v-62d46830"]]),Ze=t.defineComponent({name:T("Button"),components:{AnimationLoading:We},props:Pe,emits:["click"],setup(e){const n=t.reactive({clicked:!1,isDebounce:!1}),l=N("button"),o=t.computed(()=>[l.block,e.type&&l.modifier(e.type),e.status&&l.modifier(e.status),e.disabled&&l.is("disabled"),e.block&&l.modifier("block"),e.plain&&l.is("plain"),e.shape&&l.modifier(e.shape),e.link&&l.modifier("is-link"),e.size&&l.modifier(e.size),!e.border&&l.modifier("is-hide-border"),r.value&&l.modifier("is-loading")]),a=()=>{e.debounce>0&&!n.isDebounce&&(n.isDebounce=!0,setTimeout(()=>{n.isDebounce=!1},e.debounce))},r=t.computed(()=>e.loading||n.clicked||n.isDebounce),f=t.getCurrentInstance(),s=(u,C)=>{const c=u(C);ne(c)&&(n.clicked=!0,c.finally(()=>{n.clicked=!1}))};return{cn:l,cls:o,handleClick:async u=>{var c,i,d,g;if((i=(c=u.target).blur)==null||i.call(c),r.value)return;a();const C=(g=(d=f==null?void 0:f.vnode)==null?void 0:d.props)==null?void 0:g.onClick;ee(C)?C.forEach(p=>s(p,u)):h(C)&&s(C,u)},isLoading:r}}}),Ke=["disabled"];function Xe(e,n,l,o,a,r){const f=t.resolveComponent("AnimationLoading");return t.openBlock(),t.createElementBlock("button",{class:t.normalizeClass(e.cls),type:"button",disabled:e.disabled,onClick:n[0]||(n[0]=(...s)=>e.handleClick&&e.handleClick(...s))},[t.withDirectives(t.createElementVNode("span",{class:t.normalizeClass([e.cn.element("loading")])},[t.createVNode(f)],2),[[t.vShow,e.isLoading]]),e.$slots.prefix?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass([e.cn.element("prefix")])},[t.renderSlot(e.$slots,"prefix")],2)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default"),e.$slots.suffix?(t.openBlock(),t.createElementBlock("span",{key:1,class:t.normalizeClass([e.cn.element("suffix")])},[t.renderSlot(e.$slots,"suffix")],2)):t.createCommentVNode("",!0)],10,Ke)}const I=E(Ze,[["render",Xe]]),ae=t.defineComponent({name:T("Space"),props:{direction:{type:String,default:"horizontal"},size:{type:[Number,String],default:"small"},align:{type:String,default:"center"},fill:{type:Boolean,default:!1}},setup(e,{slots:n}){const l=N("space"),o=t.computed(()=>[l.block,l.element(e.direction),e.fill&&"is-fill",l.element(`${e.direction}-${e.align}`)]);function a(f){if(ye(f))return f;switch(f){case"mini":return 4;case"small":return 8;case"medium":return 16;case"large":return 24;default:return 8}}const r=f=>{const s={};if(f)return s;const m=`${a(e.size)}px`,u=`${a(e.size)}px`;return e.direction==="horizontal"&&(s.marginRight=m),e.direction==="vertical"&&(s.marginBottom=u),s};return()=>{var s;const f=R((s=n.default)==null?void 0:s.call(n),!0).filter(m=>m.type!==t.Comment);return React.createElement("div",{class:[o.value]},f.map((m,u)=>{var c;const C=n.split&&u>0;return React.createElement(t.Fragment,{key:`space-item-${u}`},C&&React.createElement("div",{className:l.element("split"),style:r(!1)},(c=n.split)==null?void 0:c.call(n)),React.createElement("div",{className:l.element("item"),style:r(u===f.length-1)},m))}))}}}),ce=N("dialog"),Ye=e=>{const n=document.createElement("div"),l=()=>{t.render(null,n)},o=c=>{if(c==="cancel")return e.beforeOnCancel?e.beforeOnCancel():!0;if(c==="ok")return e.beforeOnOk?e.beforeOnOk():!0},a=(c,i)=>{c==="cancel"&&e.onCancel&&e.onCancel(i),c==="ok"&&e.onOk&&e.onOk(i)},r=c=>{if(t.isVNode(c))return c;if(h(c)){const i=c();return t.isVNode(i)?i:null}return React.createElement("div",{className:ce.element("header-title")}," ",c," ")},f=c=>{if(t.isVNode(c))return c;if(h(c)){const i=c();return t.isVNode(i)?i:null}return React.createElement("div",{className:ce.element("content")}," ",e.content," ")},s=()=>()=>React.createElement(React.Fragment,null,e.title&&r(e.title)),m=()=>()=>React.createElement(React.Fragment,null,e.content&&f(e.content)),u=()=>{if(t.isVNode(e.footer)||h(e.footer))return e.footer;const c=(e==null?void 0:e.cancelText)||"取消",i=(e==null?void 0:e.okText)||"确认";return d=>{var g,p;return React.createElement(ae,{size:12},!e.hideCancel&&React.createElement(I,{size:"small",onClick:d.cancel,loading:(g=d.loadingObj)==null?void 0:g.cancel},c),!e.hideOk&&React.createElement(I,{type:"primary",size:"small",onClick:d.ok,loading:(p=d.loadingObj)==null?void 0:p.ok},i))}},C=t.createVNode(se,{width:(e==null?void 0:e.width)??368,height:(e==null?void 0:e.height)??"auto",modelValue:!0,renderTo:e==null?void 0:e.renderTo,center:e!=null&&e.top?!1:(e==null?void 0:e.center)??!0,top:(e==null?void 0:e.top)??0,mask:(e==null?void 0:e.mask)??!0,maskToClose:(e==null?void 0:e.maskToClose)??!0,popupClass:e.popupClass,onClose:a,onBeforeCancel:o,"onUpdate:modelValue":()=>{C.component.props.modelValue=!1},onClosed:l,onOpened:()=>{}},{title:s(),default:m(),footer:u()});t.render(C,n)},Ge=["success","warning","error","strong","info"],qe=S("close-circle-fill");function Je(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter",filter:""},[t.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4 4 12.954 4 24s8.954 20 20 20Zm4.955-27.771-4.95 4.95-4.95-4.95a1 1 0 0 0-1.414 0l-1.414 1.414a1 1 0 0 0 0 1.414l4.95 4.95-4.95 4.95a1 1 0 0 0 0 1.414l1.414 1.414a1 1 0 0 0 1.414 0l4.95-4.95 4.95 4.95a1 1 0 0 0 1.414 0l1.414-1.414a1 1 0 0 0 0-1.414l-4.95-4.95 4.95-4.95a1 1 0 0 0 0-1.414l-1.414-1.414a1 1 0 0 0-1.414 0Z",fill:"currentColor",stroke:"none"})],-1)]),6)}const Z=E(qe,[["render",Je]]),Qe=S("check-circle-fill");function xe(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter",filter:""},[t.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4 4 12.954 4 24s8.954 20 20 20Zm10.207-24.379a1 1 0 0 0 0-1.414l-1.414-1.414a1 1 0 0 0-1.414 0L22 26.172l-4.878-4.88a1 1 0 0 0-1.415 0l-1.414 1.415a1 1 0 0 0 0 1.414l7 7a1 1 0 0 0 1.414 0l11.5-11.5Z",fill:"currentColor",stroke:"none"})],-1)]),6)}const K=E(Qe,[["render",xe]]),_e=S("exclamation-circle-fill");function ve(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter",filter:""},[t.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4 4 12.954 4 24s8.954 20 20 20Zm-2-11a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v2Zm4-18a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V15Z",fill:"currentColor",stroke:"none"})],-1)]),6)}const X=E(_e,[["render",ve]]),et=S("info-circle-fill");function tt(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter",filter:""},[t.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4 4 12.954 4 24s8.954 20 20 20Zm2-30a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2Zm0 17h1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1v-8a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v11Z",fill:"currentColor",stroke:"none"})],-1)]),6)}const Y=E(et,[["render",tt]]),nt=S("minus-circle-fill");function lt(e,n,l,o,a,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},n[0]||(n[0]=[t.createElementVNode("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor","stroke-width":"4","stroke-linecap":"butt","stroke-linejoin":"miter",filter:""},[t.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24 44c11.046 0 20-8.954 20-20S35.046 4 24 4 4 12.954 4 24s8.954 20 20 20Zm-7-22a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H17Z",fill:"currentColor",stroke:"none"})],-1)]),6)}const G=E(nt,[["render",lt]]),ot=t.defineComponent({name:T("Message"),components:{CloseCircleFill:Z,CheckCircleFill:K,ExclamationCircleFill:X,InfoCircleFill:Y,MinusCircleFill:G},props:{id:{type:String,default:""},message:{type:[String,Number,Object],default:""},type:{type:String,default:"success"},duration:{type:Number,default:1500},center:{type:Boolean,default:!1},onClose:{type:Function,default:()=>{}},offset:{type:Number,default:20},zIndex:{type:Number,default:0},showClose:{type:Boolean,default:!1},useHTML:Boolean,popupClass:{type:String,default:void 0}},emits:["destroy"],setup(e){const n=N("message"),l=t.computed(()=>[n.block,n.modifier(e.type),e.center&&n.modifier("center"),e.showClose&&!e.center&&n.element("show-close"),e.popupClass&&e.popupClass]),o=t.ref(!1);let a=null;const r=()=>{a=setTimeout(()=>{o.value=!1},e.duration)};t.onMounted(()=>{o.value=!0,e.duration!==0&&r()}),t.onUnmounted(()=>{clearTimeout(a)});const{zIndex:f}=U("message",{runOnMounted:!0}),s=t.computed(()=>({top:`${e.offset}px`,zIndex:f.value}));return{cn:n,cls:l,styles:s,visible:o,handleClose:()=>{o.value=!1}}}}),rt=["innerHTML"],st={key:1};function at(e,n,l,o,a,r){const f=t.resolveComponent("CheckCircleFill"),s=t.resolveComponent("ExclamationCircleFill"),m=t.resolveComponent("MinusCircleFill"),u=t.resolveComponent("CloseCircleFill"),C=t.resolveComponent("InfoCircleFill");return t.openBlock(),t.createBlock(t.Transition,{name:"x-message-slide-top",onBeforeLeave:e.onClose,onAfterLeave:n[1]||(n[1]=c=>e.$emit("destroy"))},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.styles)},[e.$slots.icon?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass([e.cn.element("icon"),e.cn.modifier(`icon-${e.type}`)])},[t.renderSlot(e.$slots,"icon",{},()=>[e.type==="success"?(t.openBlock(),t.createBlock(f,{key:0})):e.type==="warning"?(t.openBlock(),t.createBlock(s,{key:1})):e.type==="strong"?(t.openBlock(),t.createBlock(m,{key:2})):e.type==="error"?(t.openBlock(),t.createBlock(u,{key:3})):e.type==="info"?(t.openBlock(),t.createBlock(C,{key:4})):t.createCommentVNode("",!0)])],2)),t.renderSlot(e.$slots,"default",{},()=>[e.useHTML?(t.openBlock(),t.createElementBlock("span",{key:0,innerHTML:e.message},null,8,rt)):(t.openBlock(),t.createElementBlock("span",st,t.toDisplayString(e.message),1)),e.showClose?(t.openBlock(),t.createElementBlock("span",{key:2,class:t.normalizeClass([e.cn.element("close-icon")]),onClick:n[0]||(n[0]=(...c)=>e.handleClose&&e.handleClose(...c))},null,2)):t.createCommentVNode("",!0)])],6),[[t.vShow,e.visible]])]),_:3},8,["onBeforeLeave"])}const ct=E(ot,[["render",at]]),q=new WeakMap,P=e=>{(typeof e=="string"||t.isVNode(e))&&(e={message:e});const n=W(e.renderTo||"body");q.has(n)||q.set(n,[]);const l=q.get(n);let o=e.offset||20;l.forEach(c=>{var i;o+=((i=c.el)==null?void 0:i.offsetHeight)+20});const a=e.onClose;let r={};r={...e,onClose:()=>{var d;const c=l.findIndex(g=>g===m);if(c<0)return;const i=((d=m.el)==null?void 0:d.offsetHeight)+20;l.slice(c+1).forEach(g=>{var b;const p=(b=g.component)==null?void 0:b.props.offset;g.component.props.offset=p-i}),l.splice(c,1),a&&a(m)},onDestroy:()=>{t.render(null,u)},offset:o};const m=t.createVNode(ct,r,h(r.message)||t.isVNode(r.message)?{default:h(r.message)?r.message:()=>r.message}:null),u=document.createElement("div");return t.render(m,u),n.tagName==="BODY"?m.el.style.position="fixed":(n.style.position="relative",m.el.style.position="absolute"),n.appendChild(u.firstElementChild),l.push(m),{close:()=>{m.component.proxy.handleClose()}}};(()=>{Ge.forEach(e=>{P[e]=n=>te(n)?P({type:e,...n}):P({message:n,type:e})})})();const it=["info","success","warning","strong","error"],J=N("message-box"),Q=e=>{const n=document.createElement("div"),l=()=>{t.render(null,n)},o=i=>{if(i==="cancel")return e.beforeOnCancel?e.beforeOnCancel():!0;if(i==="ok")return e.beforeOnOk?e.beforeOnOk():!0},a=(i,d)=>{i==="cancel"&&e.onCancel&&e.onCancel(d),i==="ok"&&e.onOk&&e.onOk(d)},r=i=>{let d;switch(i){case"warning":d=React.createElement(X,{size:"22px",color:"#f6c64b"});break;case"strong":d=React.createElement(G,{size:"22px",color:"#ff7125"});break;case"error":d=React.createElement(Z,{size:"22px",color:"#e24f48"});break;case"success":d=React.createElement(K,{size:"22px",color:"#68d1ab"});break;case"info":d=React.createElement(Y,{size:"22px",color:"#2355f5"});break}return React.createElement("div",{className:J.element("icon")},d)},f=i=>{if(t.isVNode(i))return i;if(h(i)){const d=i();return t.isVNode(d)?d:null}return React.createElement("div",{className:J.element("title")}," ",i," ")},s=i=>{if(t.isVNode(i))return i;if(h(i)){const d=i();return t.isVNode(d)?d:null}return React.createElement("div",{className:J.element("content")}," ",e.content," ")},m=()=>()=>React.createElement(React.Fragment,null,r(e.type||"success"),e.title&&f(e.title)),u=()=>()=>React.createElement(React.Fragment,null,e.content&&s(e.content)),C=()=>{if(t.isVNode(e.footer)||h(e.footer))return e.footer;const i=(e==null?void 0:e.cancelText)||"取消",d=(e==null?void 0:e.okText)||"确认";return g=>{var p,b;return React.createElement(ae,{size:12},!e.hideCancel&&React.createElement(I,{size:"small",onClick:g.cancel,loading:(p=g.loadingObj)==null?void 0:p.cancel},i),!e.hideOk&&React.createElement(I,{type:"primary",size:"small",onClick:g.ok,loading:(b=g.loadingObj)==null?void 0:b.ok},d))}},c=t.createVNode(se,{messageBox:!0,width:(e==null?void 0:e.width)??358,height:(e==null?void 0:e.height)??"auto",modelValue:!0,renderTo:e==null?void 0:e.renderTo,center:e!=null&&e.top?!1:(e==null?void 0:e.center)??!0,top:(e==null?void 0:e.top)??0,mask:(e==null?void 0:e.mask)??!0,maskToClose:(e==null?void 0:e.maskToClose)??!0,popupClass:e.popupClass,onClose:a,onBeforeCancel:o,"onUpdate:modelValue":()=>{c.component.props.modelValue=!1},onClosed:l,onOpened:()=>{}},{title:m(),default:u(),footer:C()});t.render(c,n)};(()=>{it.forEach(e=>{Q[e]=(n,l)=>{const o=[],a=[];let r=()=>!0,f=()=>!0;return setTimeout(()=>{Q({title:n,content:l,type:e,beforeOnCancel:f,beforeOnOk:r,onOk:()=>{o.forEach(s=>h(s)&&s())},onCancel:()=>{a.forEach(s=>h(s)&&s())}})},0),{ok(...s){return s.length===1&&o.push(s[0]),s.length===2&&(r=s[0],o.push(s[1])),this},cancel(...s){return s.length===1&&a.push(s[0]),s.length===2&&(f=s[0],a.push(s[1])),this}}}})})();const dt={position:{type:String,default:"top-right"},offset:{type:Number,default:0},title:{type:String,default:""},type:{type:String,default:"info"},message:{type:String,default:void 0},duration:{type:Number,default:3e3},showClose:{type:Boolean,default:!0},onClose:{type:Function,default:()=>{}},renderToBody:{type:Boolean,default:!1}},ft=t.defineComponent({name:T("Notification"),props:dt,emits:["close","destroy"],setup(e){const n=N("notification"),l=n.block,o=t.computed(()=>[l,n.modifier(r.value.ver)]),{zIndex:a}=U("message",{runOnMounted:!0}),r=t.computed(()=>{const d=e.position.split("-");return{hor:d[1],ver:d[0]}}),f=t.computed(()=>`x-notification-slide-${r.value.hor}`),s=t.computed(()=>{const d={};return d.position=e.renderToBody?"fixed":"absolute",d.zIndex=a.value,d[r.value.hor]="20px",d[r.value.ver]=`${e.offset}px`,d}),m=t.ref(!1);let u=0;const C=()=>{setTimeout(()=>{m.value=!1},e.duration)},c=t.computed(()=>e.type==="info"?Y:e.type==="warning"?X:e.type==="strong"?G:e.type==="success"?K:e.type==="error"?Z:""),i=()=>{m.value=!1};return t.onMounted(()=>{e.duration!==0&&C(),m.value=!0}),t.onUnmounted(()=>{clearTimeout(u)}),{ns:l,cn:n,cls:o,animationClsName:f,positionStyle:s,visible:m,positionPropMap:r,currentIcon:c,handleClose:i}}});function mt(e,n,l,o,a,r){return t.openBlock(),t.createBlock(t.Transition,{name:e.animationClsName,onBeforeLeave:n[1]||(n[1]=f=>e.$emit("close")),onAfterLeave:n[2]||(n[2]=f=>e.$emit("destroy"))},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass(e.cls),style:t.normalizeStyle(e.positionStyle)},[t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("header")])},[t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("icon"),e.cn.modifier(`icon-${e.type}`)])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.currentIcon)))],2),t.createElementVNode("div",null,[t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("title")])},t.toDisplayString(e.title),3),t.createElementVNode("div",{class:t.normalizeClass([e.cn.element("message")])},[t.renderSlot(e.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.message),1)])],2)])],2),e.showClose?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass([e.cn.element("close-icon")]),onClick:n[0]||(n[0]=t.withModifiers((...f)=>e.handleClose&&e.handleClose(...f),["self"]))},null,2)):t.createCommentVNode("",!0)],6),[[t.vShow,e.visible]])]),_:3},8,["name"])}const ut=E(ft,[["render",mt]]),L=new WeakMap,Ct=e=>{const n=W(e.renderTo||"body"),l=document.createElement("div");L.get(n)||L.set(n,{}),L.get(n)[e.position]||(L.get(n)[e.position]=[]);const o=L.get(n)[e.position];let a=e.offset||20;o.forEach(C=>{var c;a+=((c=C.el)==null?void 0:c.offsetHeight)+20});const r=n.tagName==="BODY";r||(n.style.position="relative",n.style.overflowX="hidden");const f=e.onClose,s=()=>{var i;const C=o.findIndex(d=>d===u);if(C<0)return;const c=((i=u.el)==null?void 0:i.offsetHeight)+20;o.slice(C+1).forEach(d=>{var p;const g=(p=d.component)==null?void 0:p.props.offset;d.component.props.offset=g-c}),o.splice(C,1),f&&f(u)},m=()=>{t.render(null,l)},u=t.createVNode(ut,{message:e.message,title:e.title,type:e.type,offset:a,renderToBody:r,position:e.position,duration:e.duration??3e3,showClose:e.showClose??!0,onClose:s,onDestroy:m},h(e.message)||t.isVNode(e.message)?{default:h(e.message)?e.message:()=>e.message}:null);t.render(u,l),o.push(u),n==null||n.appendChild(l.firstChild)};k.Dialog=Ye,k.Message=P,k.MessageBox=Q,k.Notification=Ct,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
package/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2020 Pudon
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
@@ -1,2 +0,0 @@
|
|
1
|
-
function consoleLog(e,t,n,c){console.log("".concat("\n"," %c ").concat(e," %c ").concat(t," ").concat("\n"),"color: ".concat(n,"; background: ").concat(c,"; padding:5px 0;border-radius:3px 0 0 3px;"),"color:#666666;background: #f1f5fa; padding:5px 0;border-radius:0 3px 3px 0;")}function now(){return"".concat((new Date).getHours()<10?"0"+(new Date).getHours():(new Date).getHours(),":").concat((new Date).getMinutes()<10?"0"+(new Date).getMinutes():(new Date).getMinutes(),":").concat((new Date).getSeconds()<10?"0"+(new Date).getSeconds():(new Date).getSeconds())}function jsonStringify2Parse(t){if("string"==typeof t)try{return JSON.parse(t)}catch(e){return JSON.parse(JSON.stringify('{"value":'.concat(t)))}return{}}var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var WebSocketBucketState,Exception=function(c){function e(e,t){var n=c.call(this,t)||this;return n.name="Client.io Error",n.message="Error message",n.name=e||n.name,n.message=t||n.message,n.stack=(new Error).stack,n}return __extends(e,c),e}(Error),WebSocketBucket=(!function(e){e.CONNECTING="CONNECTING",e.OPEN="OPEN",e.CLOSING="CLOSING",e.CLOSED="CLOSED",e.FAIL="FAIL"}(WebSocketBucketState=WebSocketBucketState||{}),function(){function k(){this.bucketName=k.DEFAULT_NAME,this.buckets=new Map,this.bucketName=k.DEFAULT_NAME}return k.create=function(e){var c,o,t,n=e.url,a=e.name,r=e.heartbeat,s=e.heartRate,s=void 0===s?3e3:s,i=e.restartTime,i=void 0===i?5e3:i,u=e.restartTimes,u=void 0===u?0:u,f=e.restartedTimes,g=void 0===f?0:f,f=e.receive,e=e.send;if(/(ws|wss):\/\/\s*/.test(n))return c=a||k.getBucketName(a),t=new WebSocket(n),o=-1,t.onopen=function(e){consoleLog("".concat(c," ▶ SUCCESS"),"◔ ".concat(now()),"#ffffff","#1bc800"),k.setBucketKeyValue("restartedTimes",0,c),k.bindMessage(a)},t.onerror=function(e){consoleLog("".concat(c," ▶ ERROR"),"◔ ".concat(now()," ▶ ").concat(c),"#ffffff","#c80000")},t.onclose=function(e){consoleLog("".concat(c," ▶ CLOSE"),"◔ ".concat(now()," ▶ ").concat(c),"#ffffff","#000000"),clearInterval(o);var t=k.getBucket(c),n=(t.restartedTimes!==g?g=t.restartedTimes+1:g+=1,Math.pow(2,g-1)*t.restartTime);consoleLog("".concat(c," ▶ REBOOT WAITING"),"◔ ".concat(now()," ▶ ").concat(c," RESTART IN ").concat(Math.round(n/1e3)," SECONDS"),"#ffffff","#00c8b4"),setTimeout(function(){t.restartedTimes=g,k.create(t)},n)},"function"==typeof r&&(o=setInterval(function(){r(function(e){k.sendMessage(e,c)})},s)),t={name:c,client:t,url:n,heartbeat:r,heartRate:s,heartRateTimer:o,restartTime:i,restartTimes:u,restartedTimes:g,receive:f,send:e,receiveMessageCallbacks:new Map},k.getInstance().buckets.set(c,t),k.getBucketClient(c);throw new Error("传入的url必须是ws或wss地址")},k.getBucket=function(e){e=k.getBucketName(e);if(!k.getInstance().buckets.has(e))throw new Exception("名称为".concat(e,"是WebSocket实例不存在"),k.NO_BUCKET);var t=k.getInstance().buckets.get(e);if(t&&t.client instanceof WebSocket)return t;throw new Exception("名称为".concat(e,"是WebSocket实例不存在"),k.NO_BUCKET_CLIENT)},k.setBucketKeyValue=function(e,t,n){var c=k.getBucket(n);if(!c||"object"!=typeof c||!Reflect.has(c,e))throw new Exception("名称为".concat(k.getBucketName(n),"的WebSocket Bucket不存在").concat(e,"属性"),k.NO_BUCKET_KEY);c[e]=t,k.getInstance().buckets.set(n,c)},k.getBucketClient=function(e){try{return k.getBucket(e).client}catch(e){console.log("Exception",e)}},k.getBucketName=function(e){return e||k.getInstance().bucketName},k.getBucketClientState=function(e){try{switch(k.getBucketClient(e).readyState){case WebSocket.CONNECTING:return WebSocketBucketState.CONNECTING;case WebSocket.OPEN:return WebSocketBucketState.OPEN;case WebSocket.CLOSING:return WebSocketBucketState.CLOSING;case WebSocket.CLOSED:return WebSocketBucketState.CLOSED;default:return WebSocketBucketState.FAIL}}catch(e){return WebSocketBucketState.FAIL}},k.wsErrorEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onerror=function(e){"function"==typeof t?t(e):console.warn("监听ws报错的回调函数wsError不存在")}}catch(e){console.warn("".concat(e))}},k.wsCloseEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onclose=function(e){"function"==typeof t?t(e):console.warn("监听ws关闭的回调函数wsClose不存在")}}catch(e){console.warn("".concat(e))}},k.wsOpenEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onopen=function(e){"function"==typeof t?t(e):console.warn("wsOpenEventListener缺少回调函数")}}catch(e){console.warn("".concat(e))}},k.sendMessage=function(e,t,n){if(void 0===e&&(e=""),void 0===n&&(n=!1),["CONNECTING","CLOSING","CLOSED"].includes(k.getBucketClientState(t=void 0===t?void 0:t)))n||console.warn("BUCKET:".concat(k.getBucketName(t),"|STATUS:").concat(k.getBucketClientState(t),"|无法进行消息发送"));else try{var c=k.getBucket(t).send;"function"==typeof c&&(e=c(e)),k.getBucketClient(t).send(e)}catch(e){console.warn("".concat(e))}},k.bindMessage=function(e){0<k.getBucket(e).receiveMessageCallbacks.size&&k.registerOnMessage(e)},k.receiveMessage=function(e,t){try{var n;"function"==typeof e?(n="".concat(e),k.getBucket(t).receiveMessageCallbacks.get(n)||k.getBucket(t).receiveMessageCallbacks.set(n,e)):console.warn("receiveMessage缺少回调"),k.registerOnMessage(t)}catch(e){console.warn("".concat(e))}},k.registerOnMessage=function(n){k.getBucketClient(n).onmessage=function(t){var e=k.getBucket(n).receive;"function"==typeof e&&(t=e(t,function(e){k.sendMessage(e,n)})),k.getBucket(n).receiveMessageCallbacks.forEach(function(e){try{e(t)}catch(e){console.warn("".concat(e))}})}},k.getInstance=function(){var e=k.instance;return e=e&&e instanceof k?e:k.instance=new k},k.NO_BUCKET="10001",k.NO_BUCKET_CLIENT="10002",k.NO_BUCKET_KEY="10003",k.DEFAULT_NAME="DEFAULT_BUCKET",k}());export{WebSocketBucket,jsonStringify2Parse};
|
2
|
-
//# sourceMappingURL=client.io.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"client.io.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Exception Class
|
3
|
-
* throw diy Exception
|
4
|
-
* https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error
|
5
|
-
* 目前原生的错误类型
|
6
|
-
* Error [一般错误类型]
|
7
|
-
* SyntaxError [语法错误]
|
8
|
-
* ReferenceError [不存在的变量]
|
9
|
-
* RangeError [超出有效范围]
|
10
|
-
* TypeError [非预期类型]
|
11
|
-
* URIError [URI参数错误]
|
12
|
-
* EvalError [eval函数没有正确执行]
|
13
|
-
* example:: throw new Exception() catch(error) error.message,error.name,error.code,error.stack
|
14
|
-
* NewException extends Exception diy yourself Exception;
|
15
|
-
*/
|
16
|
-
export declare class Exception extends Error {
|
17
|
-
name: string;
|
18
|
-
message: string;
|
19
|
-
/**
|
20
|
-
* Error constructor
|
21
|
-
* @param {String} name 自定义错误名称
|
22
|
-
* @param {String|Number} message 自定义错误提示
|
23
|
-
*/
|
24
|
-
constructor(name?: string, message?: string);
|
25
|
-
}
|
package/framework/es/index.d.ts
DELETED
package/framework/es/types.d.ts
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
export declare type WebSocketUrl = `ws://${string}` | `wss://${string}`;
|
2
|
-
export declare type Heartbeat = (callback: HeartbeatCallback) => void;
|
3
|
-
export declare type HeartbeatCallback = (msg: string) => void;
|
4
|
-
export declare type ReceiveInterceptor = (event: MessageEvent<any>, send: (msg: SendMsg) => void) => any;
|
5
|
-
export declare type SendInterceptor = (event: any) => any;
|
6
|
-
export declare type WebSocketBucketCreate = {
|
7
|
-
url: WebSocketUrl;
|
8
|
-
name?: string;
|
9
|
-
heartbeat?: Heartbeat;
|
10
|
-
heartRate?: Millisecond;
|
11
|
-
restartTime?: Millisecond;
|
12
|
-
restartTimes?: number;
|
13
|
-
restartedTimes?: number;
|
14
|
-
receive?: ReceiveInterceptor;
|
15
|
-
send?: SendInterceptor;
|
16
|
-
};
|
17
|
-
export declare type WebSocketBucketOptions = {
|
18
|
-
name: string;
|
19
|
-
client: WebSocket;
|
20
|
-
url: WebSocketUrl;
|
21
|
-
heartbeat?: Heartbeat;
|
22
|
-
heartRate: Millisecond;
|
23
|
-
heartRateTimer: number;
|
24
|
-
restartTime: Millisecond;
|
25
|
-
restartTimes: number;
|
26
|
-
restartedTimes: number;
|
27
|
-
receive?: ReceiveInterceptor;
|
28
|
-
send?: SendInterceptor;
|
29
|
-
receiveMessageCallbacks: Map<string, (event: MessageEvent<any>) => void>;
|
30
|
-
[key: string]: unknown;
|
31
|
-
};
|
32
|
-
export declare type Millisecond = number;
|
33
|
-
export declare type SendMsg = string | ArrayBufferLike | Blob | ArrayBufferView;
|
@@ -1,118 +0,0 @@
|
|
1
|
-
import { SendMsg, WebSocketBucketCreate, WebSocketBucketOptions } from './types';
|
2
|
-
declare enum WebSocketBucketState {
|
3
|
-
CONNECTING = "CONNECTING",
|
4
|
-
OPEN = "OPEN",
|
5
|
-
CLOSING = "CLOSING",
|
6
|
-
CLOSED = "CLOSED",
|
7
|
-
FAIL = "FAIL"
|
8
|
-
}
|
9
|
-
/**
|
10
|
-
* @class WebSocketBucket
|
11
|
-
* @public
|
12
|
-
* @classdesc WebSocket快速部署开发,可同开多个WebSocket,并分别命名,可对多个Client进行监听,每一个Bucket为Client运行所必需的空间环境。
|
13
|
-
* @example
|
14
|
-
* WebSocketBucket.create({url:'wss://ws.demo.com/socket-io'})
|
15
|
-
* WebSocketBucket.sendMessage('Hello World')
|
16
|
-
*/
|
17
|
-
export declare class WebSocketBucket {
|
18
|
-
static NO_BUCKET: string;
|
19
|
-
static NO_BUCKET_CLIENT: string;
|
20
|
-
static NO_BUCKET_KEY: string;
|
21
|
-
static DEFAULT_NAME: string;
|
22
|
-
client: WebSocket | undefined;
|
23
|
-
buckets: Map<string, WebSocketBucketOptions>;
|
24
|
-
bucketName: string;
|
25
|
-
static instance: WebSocketBucket;
|
26
|
-
constructor();
|
27
|
-
/**
|
28
|
-
* create
|
29
|
-
* 创建一个Bucket空间
|
30
|
-
* @param url {string} 服务地址(SSL)
|
31
|
-
* @param name {string} 实例名称
|
32
|
-
* @param heartbeat {function} (sendMessage,instanceName)=>void 心跳执行函数 send {Function} 消息发送函数
|
33
|
-
* @param heartRate 心跳频率 毫秒
|
34
|
-
* @param restartTime 重启时间,按照通用方式,例如第一次3秒后重连如果没连上第二次就3*2=6秒后重连,如果还没有连上第三次就是3*2*2=12秒后重连,以此类推直到重连上为止,一旦重连上重连等待时间就会自动回到3秒这个初始值
|
35
|
-
* @param restartTimes 重启次数,0为不限制,>0为最大重启次数
|
36
|
-
* @param restartedTimes 已重启次数
|
37
|
-
* @param receive 接收拦截器
|
38
|
-
* @param send 发送拦截器
|
39
|
-
*/
|
40
|
-
static create({ url, name, heartbeat, heartRate, restartTime, restartTimes, restartedTimes, receive, send, }: WebSocketBucketCreate): WebSocket | undefined;
|
41
|
-
/**
|
42
|
-
* readBucket
|
43
|
-
* 读取Bucket空间
|
44
|
-
* @param name
|
45
|
-
* @return WebSocketBucketOptions
|
46
|
-
*/
|
47
|
-
static getBucket(name: string | undefined): WebSocketBucketOptions;
|
48
|
-
/**
|
49
|
-
* setBucketKeyValue
|
50
|
-
* 设置Bucket属性值
|
51
|
-
* @param key
|
52
|
-
* @param value
|
53
|
-
* @param name
|
54
|
-
*/
|
55
|
-
static setBucketKeyValue(key: string, value: number, name: string): void;
|
56
|
-
/**
|
57
|
-
* 获取Bucket客户端
|
58
|
-
* @param name
|
59
|
-
*/
|
60
|
-
static getBucketClient(name: string | undefined): WebSocket | undefined;
|
61
|
-
/**
|
62
|
-
* 获取Bucket空间名称
|
63
|
-
* @param name
|
64
|
-
*/
|
65
|
-
static getBucketName(name: string | undefined): string;
|
66
|
-
/**
|
67
|
-
* 获取Bucket客户端状态
|
68
|
-
* @param name
|
69
|
-
*/
|
70
|
-
static getBucketClientState(name: string | undefined): WebSocketBucketState;
|
71
|
-
/**
|
72
|
-
* 监听WebSocket报错
|
73
|
-
* @param callback
|
74
|
-
* @param name
|
75
|
-
*/
|
76
|
-
static wsErrorEventListener(callback: (event: Event) => void, name?: undefined): void;
|
77
|
-
/**
|
78
|
-
* 监听WebSocket关闭
|
79
|
-
* @param callback
|
80
|
-
* @param name
|
81
|
-
*/
|
82
|
-
static wsCloseEventListener(callback: (event: CloseEvent) => void, name?: undefined): void;
|
83
|
-
/**
|
84
|
-
* 监听WebSocket打开
|
85
|
-
* @param callback
|
86
|
-
* @param name
|
87
|
-
*/
|
88
|
-
static wsOpenEventListener(callback: (event: Event) => void, name?: undefined): void;
|
89
|
-
/**
|
90
|
-
* 发送消息
|
91
|
-
* @param msg 消息
|
92
|
-
* @param name Bucket名称
|
93
|
-
* @param isCloseWarn 是否关闭警告
|
94
|
-
*/
|
95
|
-
static sendMessage(msg?: SendMsg, name?: string | undefined, isCloseWarn?: boolean): void;
|
96
|
-
/**
|
97
|
-
* 绑定消息
|
98
|
-
* @param name
|
99
|
-
*/
|
100
|
-
static bindMessage(name: string | undefined): void;
|
101
|
-
/**
|
102
|
-
* 接收消息
|
103
|
-
* @param callback 接收消息的回调函数
|
104
|
-
* @param name Bucket名称
|
105
|
-
*/
|
106
|
-
static receiveMessage(callback: (event: MessageEvent<any>) => void, name?: string): void;
|
107
|
-
/**
|
108
|
-
* 注册消息接收事件
|
109
|
-
* @param name
|
110
|
-
*/
|
111
|
-
static registerOnMessage(name?: string): void;
|
112
|
-
/**
|
113
|
-
* 获取单例实例
|
114
|
-
* @description 采用单例方式有利于减少内存占用
|
115
|
-
*/
|
116
|
-
static getInstance(): WebSocketBucket;
|
117
|
-
}
|
118
|
-
export {};
|
@@ -1,2 +0,0 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Transform={})}(this,function(e){"use strict";function g(e,t,n,c){console.log("".concat("\n"," %c ").concat(e," %c ").concat(t," ").concat("\n"),"color: ".concat(n,"; background: ").concat(c,"; padding:5px 0;border-radius:3px 0 0 3px;"),"color:#666666;background: #f1f5fa; padding:5px 0;border-radius:0 3px 3px 0;")}function d(){return"".concat((new Date).getHours()<10?"0"+(new Date).getHours():(new Date).getHours(),":").concat((new Date).getMinutes()<10?"0"+(new Date).getMinutes():(new Date).getMinutes(),":").concat((new Date).getSeconds()<10?"0"+(new Date).getSeconds():(new Date).getSeconds())}var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};var t,o=function(c){var e=o,t=c;if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}function o(e,t){var n=c.call(this,t)||this;return n.name="Client.io Error",n.message="Error message",n.name=e||n.name,n.message=t||n.message,n.stack=(new Error).stack,n}return r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n),o}(Error),n=((n=t=t||{}).CONNECTING="CONNECTING",n.OPEN="OPEN",n.CLOSING="CLOSING",n.CLOSED="CLOSED",n.FAIL="FAIL",k.create=function(e){var c,o,t,n=e.url,r=e.name,a=e.heartbeat,s=e.heartRate,s=void 0===s?3e3:s,i=e.restartTime,i=void 0===i?5e3:i,u=e.restartTimes,u=void 0===u?0:u,f=e.restartedTimes,l=void 0===f?0:f,f=e.receive,e=e.send;if(/(ws|wss):\/\/\s*/.test(n))return c=r||k.getBucketName(r),t=new WebSocket(n),o=-1,t.onopen=function(e){g("".concat(c," ▶ SUCCESS"),"◔ ".concat(d()),"#ffffff","#1bc800"),k.setBucketKeyValue("restartedTimes",0,c),k.bindMessage(r)},t.onerror=function(e){g("".concat(c," ▶ ERROR"),"◔ ".concat(d()," ▶ ").concat(c),"#ffffff","#c80000")},t.onclose=function(e){g("".concat(c," ▶ CLOSE"),"◔ ".concat(d()," ▶ ").concat(c),"#ffffff","#000000"),clearInterval(o);var t=k.getBucket(c),n=(t.restartedTimes!==l?l=t.restartedTimes+1:l+=1,Math.pow(2,l-1)*t.restartTime);g("".concat(c," ▶ REBOOT WAITING"),"◔ ".concat(d()," ▶ ").concat(c," RESTART IN ").concat(Math.round(n/1e3)," SECONDS"),"#ffffff","#00c8b4"),setTimeout(function(){t.restartedTimes=l,k.create(t)},n)},"function"==typeof a&&(o=setInterval(function(){a(function(e){k.sendMessage(e,c)})},s)),t={name:c,client:t,url:n,heartbeat:a,heartRate:s,heartRateTimer:o,restartTime:i,restartTimes:u,restartedTimes:l,receive:f,send:e,receiveMessageCallbacks:new Map},k.getInstance().buckets.set(c,t),k.getBucketClient(c);throw new Error("传入的url必须是ws或wss地址")},k.getBucket=function(e){e=k.getBucketName(e);if(!k.getInstance().buckets.has(e))throw new o("名称为".concat(e,"是WebSocket实例不存在"),k.NO_BUCKET);var t=k.getInstance().buckets.get(e);if(t&&t.client instanceof WebSocket)return t;throw new o("名称为".concat(e,"是WebSocket实例不存在"),k.NO_BUCKET_CLIENT)},k.setBucketKeyValue=function(e,t,n){var c=k.getBucket(n);if(!c||"object"!=typeof c||!Reflect.has(c,e))throw new o("名称为".concat(k.getBucketName(n),"的WebSocket Bucket不存在").concat(e,"属性"),k.NO_BUCKET_KEY);c[e]=t,k.getInstance().buckets.set(n,c)},k.getBucketClient=function(e){try{return k.getBucket(e).client}catch(e){console.log("Exception",e)}},k.getBucketName=function(e){return e||k.getInstance().bucketName},k.getBucketClientState=function(e){try{switch(k.getBucketClient(e).readyState){case WebSocket.CONNECTING:return t.CONNECTING;case WebSocket.OPEN:return t.OPEN;case WebSocket.CLOSING:return t.CLOSING;case WebSocket.CLOSED:return t.CLOSED;default:return t.FAIL}}catch(e){return t.FAIL}},k.wsErrorEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onerror=function(e){"function"==typeof t?t(e):console.warn("监听ws报错的回调函数wsError不存在")}}catch(e){console.warn("".concat(e))}},k.wsCloseEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onclose=function(e){"function"==typeof t?t(e):console.warn("监听ws关闭的回调函数wsClose不存在")}}catch(e){console.warn("".concat(e))}},k.wsOpenEventListener=function(t,e){void 0===e&&(e=void 0);try{k.getBucketClient(e).onopen=function(e){"function"==typeof t?t(e):console.warn("wsOpenEventListener缺少回调函数")}}catch(e){console.warn("".concat(e))}},k.sendMessage=function(e,t,n){if(void 0===e&&(e=""),void 0===n&&(n=!1),["CONNECTING","CLOSING","CLOSED"].includes(k.getBucketClientState(t=void 0===t?void 0:t)))n||console.warn("BUCKET:".concat(k.getBucketName(t),"|STATUS:").concat(k.getBucketClientState(t),"|无法进行消息发送"));else try{var c=k.getBucket(t).send;"function"==typeof c&&(e=c(e)),k.getBucketClient(t).send(e)}catch(e){console.warn("".concat(e))}},k.bindMessage=function(e){0<k.getBucket(e).receiveMessageCallbacks.size&&k.registerOnMessage(e)},k.receiveMessage=function(e,t){try{var n;"function"==typeof e?(n="".concat(e),k.getBucket(t).receiveMessageCallbacks.get(n)||k.getBucket(t).receiveMessageCallbacks.set(n,e)):console.warn("receiveMessage缺少回调"),k.registerOnMessage(t)}catch(e){console.warn("".concat(e))}},k.registerOnMessage=function(n){k.getBucketClient(n).onmessage=function(t){var e=k.getBucket(n).receive;"function"==typeof e&&(t=e(t,function(e){k.sendMessage(e,n)})),k.getBucket(n).receiveMessageCallbacks.forEach(function(e){try{e(t)}catch(e){console.warn("".concat(e))}})}},k.getInstance=function(){var e=k.instance;return e=e&&e instanceof k?e:k.instance=new k},k.NO_BUCKET="10001",k.NO_BUCKET_CLIENT="10002",k.NO_BUCKET_KEY="10003",k.DEFAULT_NAME="DEFAULT_BUCKET",k);function k(){this.bucketName=k.DEFAULT_NAME,this.buckets=new Map,this.bucketName=k.DEFAULT_NAME}e.WebSocketBucket=n,e.jsonStringify2Parse=function(t){if("string"==typeof t)try{return JSON.parse(t)}catch(e){return JSON.parse(JSON.stringify('{"value":'.concat(t)))}return{}},Object.defineProperty(e,"__esModule",{value:!0})});
|
2
|
-
//# sourceMappingURL=client.io.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"client.io.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Exception Class
|
3
|
-
* throw diy Exception
|
4
|
-
* https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error
|
5
|
-
* 目前原生的错误类型
|
6
|
-
* Error [一般错误类型]
|
7
|
-
* SyntaxError [语法错误]
|
8
|
-
* ReferenceError [不存在的变量]
|
9
|
-
* RangeError [超出有效范围]
|
10
|
-
* TypeError [非预期类型]
|
11
|
-
* URIError [URI参数错误]
|
12
|
-
* EvalError [eval函数没有正确执行]
|
13
|
-
* example:: throw new Exception() catch(error) error.message,error.name,error.code,error.stack
|
14
|
-
* NewException extends Exception diy yourself Exception;
|
15
|
-
*/
|
16
|
-
export declare class Exception extends Error {
|
17
|
-
name: string;
|
18
|
-
message: string;
|
19
|
-
/**
|
20
|
-
* Error constructor
|
21
|
-
* @param {String} name 自定义错误名称
|
22
|
-
* @param {String|Number} message 自定义错误提示
|
23
|
-
*/
|
24
|
-
constructor(name?: string, message?: string);
|
25
|
-
}
|
package/framework/umd/index.d.ts
DELETED
package/framework/umd/types.d.ts
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
export declare type WebSocketUrl = `ws://${string}` | `wss://${string}`;
|
2
|
-
export declare type Heartbeat = (callback: HeartbeatCallback) => void;
|
3
|
-
export declare type HeartbeatCallback = (msg: string) => void;
|
4
|
-
export declare type ReceiveInterceptor = (event: MessageEvent<any>, send: (msg: SendMsg) => void) => any;
|
5
|
-
export declare type SendInterceptor = (event: any) => any;
|
6
|
-
export declare type WebSocketBucketCreate = {
|
7
|
-
url: WebSocketUrl;
|
8
|
-
name?: string;
|
9
|
-
heartbeat?: Heartbeat;
|
10
|
-
heartRate?: Millisecond;
|
11
|
-
restartTime?: Millisecond;
|
12
|
-
restartTimes?: number;
|
13
|
-
restartedTimes?: number;
|
14
|
-
receive?: ReceiveInterceptor;
|
15
|
-
send?: SendInterceptor;
|
16
|
-
};
|
17
|
-
export declare type WebSocketBucketOptions = {
|
18
|
-
name: string;
|
19
|
-
client: WebSocket;
|
20
|
-
url: WebSocketUrl;
|
21
|
-
heartbeat?: Heartbeat;
|
22
|
-
heartRate: Millisecond;
|
23
|
-
heartRateTimer: number;
|
24
|
-
restartTime: Millisecond;
|
25
|
-
restartTimes: number;
|
26
|
-
restartedTimes: number;
|
27
|
-
receive?: ReceiveInterceptor;
|
28
|
-
send?: SendInterceptor;
|
29
|
-
receiveMessageCallbacks: Map<string, (event: MessageEvent<any>) => void>;
|
30
|
-
[key: string]: unknown;
|
31
|
-
};
|
32
|
-
export declare type Millisecond = number;
|
33
|
-
export declare type SendMsg = string | ArrayBufferLike | Blob | ArrayBufferView;
|
package/framework/umd/util.d.ts
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
export declare function isArray(obj: any): obj is any[];
|
2
|
-
export declare function isNull(obj: any): obj is null;
|
3
|
-
export declare function isBoolean(obj: unknown): obj is boolean;
|
4
|
-
export declare function isObject(obj: any): obj is Record<string, unknown>;
|
5
|
-
export declare const isPromise: <T>(obj: unknown) => obj is Promise<T>;
|
6
|
-
export declare function isString(obj: any): obj is string;
|
7
|
-
export declare function isNumber(obj: any): obj is number;
|
8
|
-
export declare function isRegExp(obj: any): boolean;
|
9
|
-
export declare function isDate(obj: any): boolean;
|
10
|
-
export declare function isColor(color: any): boolean;
|
11
|
-
export declare function isUndefined(obj: any): obj is undefined;
|
12
|
-
export declare function isFunction(obj: any): obj is (...args: any[]) => any;
|
13
|
-
export declare function isClass(value: unknown): boolean;
|
14
|
-
export declare function isEmptyObject(obj: any): boolean;
|
15
|
-
export declare function isEmpty(obj: any): boolean;
|
16
|
-
export declare function isExist(obj: any): boolean;
|
17
|
-
export declare function isWindow(el: any): el is Window;
|
18
|
-
/**
|
19
|
-
* 控制台消息打印
|
20
|
-
* @param name
|
21
|
-
* @param message
|
22
|
-
* @param color
|
23
|
-
* @param bgColor
|
24
|
-
*/
|
25
|
-
export declare function consoleLog(name: string, message: string, color: string, bgColor: string): void;
|
26
|
-
/**
|
27
|
-
* 当前时间
|
28
|
-
* @description 用于控制台打印使用
|
29
|
-
*/
|
30
|
-
export declare function now(): string;
|
31
|
-
/**
|
32
|
-
* jsonStringify2Parse
|
33
|
-
* @param value
|
34
|
-
* @description 将JSON字符串转换为JSON对象
|
35
|
-
*/
|
36
|
-
export declare function jsonStringify2Parse(value: unknown): any;
|
@@ -1,118 +0,0 @@
|
|
1
|
-
import { SendMsg, WebSocketBucketCreate, WebSocketBucketOptions } from './types';
|
2
|
-
declare enum WebSocketBucketState {
|
3
|
-
CONNECTING = "CONNECTING",
|
4
|
-
OPEN = "OPEN",
|
5
|
-
CLOSING = "CLOSING",
|
6
|
-
CLOSED = "CLOSED",
|
7
|
-
FAIL = "FAIL"
|
8
|
-
}
|
9
|
-
/**
|
10
|
-
* @class WebSocketBucket
|
11
|
-
* @public
|
12
|
-
* @classdesc WebSocket快速部署开发,可同开多个WebSocket,并分别命名,可对多个Client进行监听,每一个Bucket为Client运行所必需的空间环境。
|
13
|
-
* @example
|
14
|
-
* WebSocketBucket.create({url:'wss://ws.demo.com/socket-io'})
|
15
|
-
* WebSocketBucket.sendMessage('Hello World')
|
16
|
-
*/
|
17
|
-
export declare class WebSocketBucket {
|
18
|
-
static NO_BUCKET: string;
|
19
|
-
static NO_BUCKET_CLIENT: string;
|
20
|
-
static NO_BUCKET_KEY: string;
|
21
|
-
static DEFAULT_NAME: string;
|
22
|
-
client: WebSocket | undefined;
|
23
|
-
buckets: Map<string, WebSocketBucketOptions>;
|
24
|
-
bucketName: string;
|
25
|
-
static instance: WebSocketBucket;
|
26
|
-
constructor();
|
27
|
-
/**
|
28
|
-
* create
|
29
|
-
* 创建一个Bucket空间
|
30
|
-
* @param url {string} 服务地址(SSL)
|
31
|
-
* @param name {string} 实例名称
|
32
|
-
* @param heartbeat {function} (sendMessage,instanceName)=>void 心跳执行函数 send {Function} 消息发送函数
|
33
|
-
* @param heartRate 心跳频率 毫秒
|
34
|
-
* @param restartTime 重启时间,按照通用方式,例如第一次3秒后重连如果没连上第二次就3*2=6秒后重连,如果还没有连上第三次就是3*2*2=12秒后重连,以此类推直到重连上为止,一旦重连上重连等待时间就会自动回到3秒这个初始值
|
35
|
-
* @param restartTimes 重启次数,0为不限制,>0为最大重启次数
|
36
|
-
* @param restartedTimes 已重启次数
|
37
|
-
* @param receive 接收拦截器
|
38
|
-
* @param send 发送拦截器
|
39
|
-
*/
|
40
|
-
static create({ url, name, heartbeat, heartRate, restartTime, restartTimes, restartedTimes, receive, send, }: WebSocketBucketCreate): WebSocket | undefined;
|
41
|
-
/**
|
42
|
-
* readBucket
|
43
|
-
* 读取Bucket空间
|
44
|
-
* @param name
|
45
|
-
* @return WebSocketBucketOptions
|
46
|
-
*/
|
47
|
-
static getBucket(name: string | undefined): WebSocketBucketOptions;
|
48
|
-
/**
|
49
|
-
* setBucketKeyValue
|
50
|
-
* 设置Bucket属性值
|
51
|
-
* @param key
|
52
|
-
* @param value
|
53
|
-
* @param name
|
54
|
-
*/
|
55
|
-
static setBucketKeyValue(key: string, value: number, name: string): void;
|
56
|
-
/**
|
57
|
-
* 获取Bucket客户端
|
58
|
-
* @param name
|
59
|
-
*/
|
60
|
-
static getBucketClient(name: string | undefined): WebSocket | undefined;
|
61
|
-
/**
|
62
|
-
* 获取Bucket空间名称
|
63
|
-
* @param name
|
64
|
-
*/
|
65
|
-
static getBucketName(name: string | undefined): string;
|
66
|
-
/**
|
67
|
-
* 获取Bucket客户端状态
|
68
|
-
* @param name
|
69
|
-
*/
|
70
|
-
static getBucketClientState(name: string | undefined): WebSocketBucketState;
|
71
|
-
/**
|
72
|
-
* 监听WebSocket报错
|
73
|
-
* @param callback
|
74
|
-
* @param name
|
75
|
-
*/
|
76
|
-
static wsErrorEventListener(callback: (event: Event) => void, name?: undefined): void;
|
77
|
-
/**
|
78
|
-
* 监听WebSocket关闭
|
79
|
-
* @param callback
|
80
|
-
* @param name
|
81
|
-
*/
|
82
|
-
static wsCloseEventListener(callback: (event: CloseEvent) => void, name?: undefined): void;
|
83
|
-
/**
|
84
|
-
* 监听WebSocket打开
|
85
|
-
* @param callback
|
86
|
-
* @param name
|
87
|
-
*/
|
88
|
-
static wsOpenEventListener(callback: (event: Event) => void, name?: undefined): void;
|
89
|
-
/**
|
90
|
-
* 发送消息
|
91
|
-
* @param msg 消息
|
92
|
-
* @param name Bucket名称
|
93
|
-
* @param isCloseWarn 是否关闭警告
|
94
|
-
*/
|
95
|
-
static sendMessage(msg?: SendMsg, name?: string | undefined, isCloseWarn?: boolean): void;
|
96
|
-
/**
|
97
|
-
* 绑定消息
|
98
|
-
* @param name
|
99
|
-
*/
|
100
|
-
static bindMessage(name: string | undefined): void;
|
101
|
-
/**
|
102
|
-
* 接收消息
|
103
|
-
* @param callback 接收消息的回调函数
|
104
|
-
* @param name Bucket名称
|
105
|
-
*/
|
106
|
-
static receiveMessage(callback: (event: MessageEvent<any>) => void, name?: string): void;
|
107
|
-
/**
|
108
|
-
* 注册消息接收事件
|
109
|
-
* @param name
|
110
|
-
*/
|
111
|
-
static registerOnMessage(name?: string): void;
|
112
|
-
/**
|
113
|
-
* 获取单例实例
|
114
|
-
* @description 采用单例方式有利于减少内存占用
|
115
|
-
*/
|
116
|
-
static getInstance(): WebSocketBucket;
|
117
|
-
}
|
118
|
-
export {};
|