sage-nexus-ui 1.13.23 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index.mjs +1 -1
- package/dist/_virtual/index2.mjs +1 -1
- package/dist/components/NexusChat/AgentChatWindow.mjs +1 -1
- package/dist/components/NexusChat/NexusChatDialog.mjs +1 -1
- package/dist/generated/version.mjs +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.mjs +1 -1
- package/dist/node_modules/unified/lib/index.mjs +1 -1
- package/package.json +1 -1
package/dist/_virtual/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as
|
|
1
|
+
import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as o}from"../node_modules/style-to-js/cjs/index.mjs";var s=e(o());export{s as default};
|
package/dist/_virtual/index2.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as
|
|
1
|
+
import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as m}from"../node_modules/extend/index.mjs";var o=e(m());export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i,jsxs as e,Fragment as t}from"react/jsx-runtime";import{Box as o}from"../Box.mjs";import{Stack as r}from"../Stack.mjs";import{Caption as m}from"../Typography.mjs";import{GlassPaper as n}from"../GlassPaper.mjs";import{Paper as s}from"../Paper.mjs";import{ChatInput as l}from"./ChatInput.mjs";import"./ChatComponents/ChatAvatar.mjs";import"react";import"../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/Download";import"@mui/material";import"../../theme/tokens.mjs";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/material/styles";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Check";import"@mui/icons-material/StopCircle";import a from"./ChatComponents/SuggestedPrompts.mjs";import{AgentChatWindowHeader as p}from"./AgentChatWindowHeader.mjs";const c=({title:c="Nexus AI Chat",subtitle:d="Your intelligent assistant",showAiChip:
|
|
1
|
+
import{jsx as i,jsxs as e,Fragment as t}from"react/jsx-runtime";import{Box as o}from"../Box.mjs";import{Stack as r}from"../Stack.mjs";import{Caption as m}from"../Typography.mjs";import{GlassPaper as n}from"../GlassPaper.mjs";import{Paper as s}from"../Paper.mjs";import{ChatInput as l}from"./ChatInput.mjs";import"./ChatComponents/ChatAvatar.mjs";import"react";import"../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/Download";import"@mui/material";import"../../theme/tokens.mjs";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/material/styles";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Check";import"@mui/icons-material/StopCircle";import a from"./ChatComponents/SuggestedPrompts.mjs";import{AgentChatWindowHeader as p}from"./AgentChatWindowHeader.mjs";const c=({title:c="Nexus AI Chat",subtitle:d="Your intelligent assistant",showAiChip:h=!0,headerActions:u,body:x,followUpLabel:f="Suggested follow-ups:",followUpPrompts:C,onSelectFollowUp:b,onSend:g,inputDisabled:y=!1,inputPlaceholder:j="Ask me anything...",isStreaming:w=!1,onStop:S,inputActions:A,inputRef:k,isEmpty:D=!1,sx:I})=>{const P=Boolean(C&&C.length>0&&b),R=i(l,{onSend:g,disabled:y,placeholder:j,isStreaming:w,onStop:S,actions:A,inputRef:k});return e(o,{sx:[{display:"flex",flex:1,flexDirection:"column",minWidth:0,minHeight:0,height:"100%"},...Array.isArray(I)?I:I?[I]:[]],children:[i(p,{title:c,subtitle:d,showAiChip:h,actions:u}),D?e(n,{sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",px:2,pb:4},children:[x,i(o,{sx:{mt:3,width:"100%",maxWidth:700,minWidth:"min(40vw, 100%)"},children:R})]}):e(t,{children:[i(n,{sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",overflowY:"scroll"},children:x}),P&&e(r,{direction:{xs:"column",md:"row"},spacing:1,sx:{px:2,py:1,justifyContent:{xs:"center",sm:"flex-end"},alignItems:"center"},children:[i(m,{sx:{display:"block",mb:1},children:f}),i(a,{prompts:C??[],onSelect:b})]}),i(s,{sx:{borderRadius:0,border:"none"},children:i(o,{sx:{p:2,flexShrink:0},children:R})})]})]})};export{c as AgentChatWindow};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o,Fragment as i}from"react/jsx-runtime";import{useState as t}from"react";import{useTheme as n,useMediaQuery as r}from"@mui/material";import
|
|
1
|
+
import{jsx as e,jsxs as o,Fragment as i}from"react/jsx-runtime";import{useState as t}from"react";import{useTheme as n,useMediaQuery as r}from"@mui/material";import l from"@mui/icons-material/CloseFullscreen";import s from"@mui/icons-material/ExpandLess";import a from"@mui/icons-material/ExpandMore";import m from"@mui/icons-material/GridView";import c from"@mui/icons-material/History";import{ChatHistory as p}from"./ChatHistory.mjs";import{ChatInput as d}from"./ChatInput.mjs";import{Dialog as h}from"../Dialog.mjs";import{Box as x}from"../Box.mjs";import{Stack as f}from"../Stack.mjs";import{IconButton as u}from"../IconButton.mjs";import{AiChip as g}from"../AiChip.mjs";import{Caption as v,H1 as C,H2 as b}from"../Typography.mjs";import{AgentChatWindowHeader as w}from"./AgentChatWindowHeader.mjs";import"./ChatComponents/ChatAvatar.mjs";import"../Code.mjs";import"@mui/icons-material/Download";import"../../theme/tokens.mjs";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/material/styles";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Check";import"@mui/icons-material/StopCircle";import y from"./ChatComponents/SuggestedPrompts.mjs";import k from"./ChatComponents/MessageList.mjs";import S from"./WidgetParts/WidgetInput.mjs";function j({open:j,onClose:I,title:z="Ask Nexus",subtitle:D="Ready to help",avatarIcon:T,placeholder:A,suggestedPrompts:H=[],showAiChip:W=!0,isTyping:E,messages:F,streamingText:N,liveTraceEvents:B,showActivity:L=!1,onSend:O,onAbort:P,background:U,followUpPrompts:M,followUpLabel:X="Suggested follow-ups:",topOffset:$,conversations:G,activeConversationId:R,onSelectConversation:V,onDeleteConversation:Y,onNewConversation:q}){const J=n(),K=r(J.breakpoints.down("md")),[Q,Z]=t(!0),[_,ee]=t(!1),[oe,ie]=t(!1),te=F.length>0||E,ne=te&&M&&M.length>0,re=!K||Q,le=void 0!==G;return e(h,{open:j,fullScreen:!0,onClose:I,sx:$?{top:`${$}px`}:void 0,children:o(x,{sx:{display:"flex",flexDirection:"column",height:$?`calc(100vh - ${$}px)`:"100vh",overflow:"hidden"},children:[o(x,{sx:{display:"flex",flex:1,minHeight:0,overflow:"hidden"},children:[le&&e(x,{sx:{display:{xs:"none",md:"flex"},flexDirection:"column",minHeight:0,flexShrink:0},children:e(p,{conversations:G,activeConversationId:R??null,onSelectConversation:V??(()=>{}),onDeleteConversation:Y,onNewConversation:q,isCollapsed:oe,onToggleCollapse:()=>ie(e=>!e)})}),o(x,{sx:{display:"flex",flexDirection:"column",flex:1,minHeight:0,overflow:"hidden"},children:[o(x,{sx:{position:"relative",flexShrink:0},children:[e(w,{title:z,subtitle:D,showAiChip:!1,actions:K?e(f,{}):o(f,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[W&&e(g,{}),e(u,{title:"Close full view",size:"small",onClick:I,children:e(l,{sx:{fontSize:16}})})]})}),K&&o(f,{direction:"row",sx:{position:"absolute",top:6,right:4,alignItems:"center"},children:[le&&e(u,{title:"Chat history",size:"small",onClick:()=>ee(e=>!e),children:e(c,{sx:{fontSize:18}})}),e(u,{title:"Close full view",size:"small",onClick:I,children:e(l,{sx:{fontSize:16}})})]})]}),o(x,{sx:{flex:1,minHeight:0,position:"relative",display:"flex",flexDirection:"column",overflow:"hidden"},children:[U&&e(x,{sx:{position:"absolute",inset:0,zIndex:0,overflow:"hidden",pointerEvents:"none"},children:U}),o(x,te?{sx:{position:"relative",zIndex:1,flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:[e(x,{sx:{flex:1,minHeight:0,overflowY:"auto",background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},children:e(k,{messages:F,isTyping:E,streamingText:N,liveTraceEvents:B,onAbort:P,avatarIcon:T,showActivity:L})}),ne&&o(x,{sx:{bgcolor:"background.paper",borderTop:"1px solid",borderColor:"divider",px:2,pt:1,pb:re?.5:1,flexShrink:0},children:[o(f,{direction:"row",sx:{alignItems:"center",justifyContent:"space-between",mb:re?.75:0},children:[e(v,{children:X}),K&&e(u,{size:"small",onClick:()=>Z(e=>!e),title:Q?"Collapse suggestions":"Expand suggestions",children:e(Q?a:s,{sx:{fontSize:16}})})]}),re&&e(y,{prompts:M,onSelect:O})]}),e(S,{placeholder:A,isTyping:E,onSend:O})]}:{sx:{position:"relative",zIndex:1,flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",px:2,pb:4,background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)"},children:[o(f,{direction:"column",sx:{gap:2,alignItems:"center",mb:3},children:[e(C,{children:z}),e(b,{sx:{color:"text.secondary"},children:D})]}),e(x,{sx:{width:"100%",maxWidth:700,minWidth:"min(40vw, 100%)"},children:e(d,{onSend:O,disabled:E,placeholder:A,actions:H.length>0?e(u,{title:"Open prompt gallery",ariaLabel:"Open prompt gallery",size:"small",sx:{color:"text.jades"},children:e(m,{sx:{fontSize:18}})}):void 0})})]})]})]})]}),le&&K&&o(i,{children:[_&&e(x,{onClick:()=>ee(!1),sx:{position:"absolute",inset:0,zIndex:9,bgcolor:"rgba(0,0,0,0.45)"}}),e(x,{sx:{position:"absolute",top:0,left:0,bottom:0,width:288,zIndex:10,bgcolor:"background.paper",boxShadow:4,display:"flex",flexDirection:"column",overflow:"hidden",transform:_?"translateX(0)":"translateX(-100%)",transition:"transform 0.25s ease"},children:e(p,{conversations:G,activeConversationId:R??null,onSelectConversation:e=>{V?.(e),ee(!1)},onDeleteConversation:Y,onNewConversation:q?()=>{q(),ee(!1)}:void 0,onClose:()=>ee(!1)})})]})]})})}export{j as NexusChatDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const o="1.
|
|
1
|
+
const o="1.14.0";export{o as SAGE_NEXUS_UI_VERSION};
|
package/dist/index.d.ts
CHANGED
|
@@ -193,9 +193,6 @@ interface NexusChatDialogProps {
|
|
|
193
193
|
subtitle?: string;
|
|
194
194
|
avatarIcon?: React.ReactNode;
|
|
195
195
|
placeholder?: string;
|
|
196
|
-
emptyTitle?: string;
|
|
197
|
-
emptyDescription?: string;
|
|
198
|
-
dataSources?: string[];
|
|
199
196
|
suggestedPrompts?: string[];
|
|
200
197
|
showAiChip?: boolean;
|
|
201
198
|
isTyping: boolean;
|
|
@@ -221,7 +218,7 @@ interface NexusChatDialogProps {
|
|
|
221
218
|
onDeleteConversation?: (id: string) => void | Promise<boolean>;
|
|
222
219
|
onNewConversation?: () => void;
|
|
223
220
|
}
|
|
224
|
-
declare function NexusChatDialog({ open, onClose, title, subtitle, avatarIcon, placeholder,
|
|
221
|
+
declare function NexusChatDialog({ open, onClose, title, subtitle, avatarIcon, placeholder, suggestedPrompts, showAiChip, isTyping, messages, streamingText, liveTraceEvents, showActivity, onSend, onAbort, background, followUpPrompts, followUpLabel, topOffset, conversations, activeConversationId, onSelectConversation, onDeleteConversation, onNewConversation, }: NexusChatDialogProps): react_jsx_runtime.JSX.Element;
|
|
225
222
|
|
|
226
223
|
interface FABButtonProps {
|
|
227
224
|
onOpen: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{stringify as e}from"../../comma-separated-tokens/index.mjs";import{ok as t}from"../../devlop/lib/default.mjs";import{svg as n,html as r}from"../../property-information/index.mjs";import{stringify as o}from"../../space-separated-tokens/index.mjs";import s from"../../../_virtual/
|
|
1
|
+
import{stringify as e}from"../../comma-separated-tokens/index.mjs";import{ok as t}from"../../devlop/lib/default.mjs";import{svg as n,html as r}from"../../property-information/index.mjs";import{stringify as o}from"../../space-separated-tokens/index.mjs";import s from"../../../_virtual/index.mjs";import{whitespace as a}from"../../hast-util-whitespace/lib/index.mjs";import{name as i}from"../../estree-util-is-identifier-name/lib/index.mjs";import{VFileMessage as l}from"../../vfile-message/lib/index.mjs";import{find as p}from"../../property-information/lib/find.mjs";import{hastToReact as c}from"../../property-information/lib/hast-to-react.mjs";import{pointStart as u}from"../../unist-util-position/lib/index.mjs";const m={}.hasOwnProperty,f=new Map,d=/[A-Z]/g,y=new Set(["table","tbody","thead","tfoot","tr"]),x=new Set(["td","th"]),v="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function h(e,t){if(!t||void 0===t.Fragment)throw new TypeError("Expected `Fragment` in options");const o=t.filePath||void 0;let s;if(t.development){if("function"!=typeof t.jsxDEV)throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=function(e,t){return n;function n(n,r,o,s){const a=Array.isArray(o.children),i=u(n);return t(r,o,s,a,{columnNumber:i?i.column-1:void 0,fileName:e,lineNumber:i?i.line:void 0},void 0)}}(o,t.jsxDEV)}else{if("function"!=typeof t.jsx)throw new TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw new TypeError("Expected `jsxs` in production options");s=function(e,t,n){return r;function r(e,r,o,s){const a=Array.isArray(o.children)?n:t;return s?a(r,o,s):a(r,o)}}(0,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?n:r,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},i=g(a,e,void 0);return i&&"string"!=typeof i?i:a.create(e,a.Fragment,{children:i||void 0},void 0)}function g(e,r,o){return"element"===r.type?function(e,t,r){const o=e.schema;let s=o;"svg"===t.tagName.toLowerCase()&&"html"===o.space&&(s=n,e.schema=s);e.ancestors.push(t);const i=N(e,t.tagName,!1),l=function(e,t){const n={};let r,o;for(o in t.properties)if("children"!==o&&m.call(t.properties,o)){const s=w(e,o,t.properties[o]);if(s){const[o,a]=s;e.tableCellAlignToStyle&&"align"===o&&"string"==typeof a&&x.has(t.tagName)?r=a:n[o]=a}}if(r){(n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=r}return n}(e,t);let p=j(e,t);y.has(t.tagName)&&(p=p.filter(function(e){return"string"!=typeof e||!a(e)}));return b(e,l,i,t),E(l,p),e.ancestors.pop(),e.schema=o,e.create(t,i,l,r)}(e,r,o):"mdxFlowExpression"===r.type||"mdxTextExpression"===r.type?function(e,n){if(n.data&&n.data.estree&&e.evaluater){const r=n.data.estree.body[0];return t("ExpressionStatement"===r.type),e.evaluater.evaluateExpression(r.expression)}A(e,n.position)}(e,r):"mdxJsxFlowElement"===r.type||"mdxJsxTextElement"===r.type?function(e,r,o){const s=e.schema;let a=s;"svg"===r.name&&"html"===s.space&&(a=n,e.schema=a);e.ancestors.push(r);const i=null===r.name?e.Fragment:N(e,r.name,!0),l=function(e,n){const r={};for(const o of n.attributes)if("mdxJsxExpressionAttribute"===o.type)if(o.data&&o.data.estree&&e.evaluater){const n=o.data.estree.body[0];t("ExpressionStatement"===n.type);const s=n.expression;t("ObjectExpression"===s.type);const a=s.properties[0];t("SpreadElement"===a.type),Object.assign(r,e.evaluater.evaluateExpression(a.argument))}else A(e,n.position);else{const s=o.name;let a;if(o.value&&"object"==typeof o.value)if(o.value.data&&o.value.data.estree&&e.evaluater){const n=o.value.data.estree.body[0];t("ExpressionStatement"===n.type),a=e.evaluater.evaluateExpression(n.expression)}else A(e,n.position);else a=null===o.value||o.value;r[s]=a}return r}(e,r),p=j(e,r);return b(e,l,i,r),E(l,p),e.ancestors.pop(),e.schema=s,e.create(r,i,l,o)}(e,r,o):"mdxjsEsm"===r.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);A(e,t.position)}(e,r):"root"===r.type?function(e,t,n){const r={};return E(r,j(e,t)),e.create(t,e.Fragment,r,n)}(e,r,o):"text"===r.type?function(e,t){return t.value}(0,r):void 0}function b(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function E(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function j(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:f;for(;++r<t.children.length;){const s=t.children[r];let a;if(e.passKeys){const e="element"===s.type?s.tagName:"mdxJsxFlowElement"===s.type||"mdxJsxTextElement"===s.type?s.name:void 0;if(e){const t=o.get(e)||0;a=e+"-"+t,o.set(e,t+1)}}const i=g(e,s,a);void 0!==i&&n.push(i)}return n}function w(t,n,r){const a=p(t.schema,n);if(!(null==r||"number"==typeof r&&Number.isNaN(r))){if(Array.isArray(r)&&(r=a.commaSeparated?e(r):o(r)),"style"===a.property){let e="object"==typeof r?r:function(e,t){try{return s(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};const n=t,r=new l("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=v+"#cannot-parse-style-attribute",r}}(t,String(r));return"css"===t.stylePropertyNameCase&&(e=function(e){const t={};let n;for(n in e)m.call(e,n)&&(t[C(n)]=e[n]);return t}(e)),["style",e]}return["react"===t.elementAttributeNameCase&&a.space?c[a.property]||a.property:a.attribute,r]}}function N(e,t,n){let r;if(n)if(t.includes(".")){const e=t.split(".");let n,o=-1;for(;++o<e.length;){const t=i(e[o])?{type:"Identifier",name:e[o]}:{type:"Literal",value:e[o]};n=n?{type:"MemberExpression",object:n,property:t,computed:Boolean(o&&"Literal"===t.type),optional:!1}:t}r=n}else r=i(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else r={type:"Literal",value:t};if("Literal"===r.type){const t=r.value;return m.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);A(e)}function A(e,t){const n=new l("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=v+"#cannot-handle-mdx-estrees-without-createevaluater",n}function C(e){let t=e.replace(d,S);return"ms-"===t.slice(0,3)&&(t="-"+t),t}function S(e){return"-"+e.toLowerCase()}export{h as toJsxRuntime};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bail as e}from"../../bail/index.mjs";import t from"../../../_virtual/
|
|
1
|
+
import{bail as e}from"../../bail/index.mjs";import t from"../../../_virtual/index2.mjs";import s from"../../is-plain-obj/index.mjs";import{CallableInstance as r}from"./callable-instance.mjs";import{trough as n}from"../../trough/lib/index.mjs";import{VFile as i}from"../../vfile/lib/index.mjs";const o={}.hasOwnProperty;class c extends r{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=n()}copy(){const e=new c;let s=-1;for(;++s<this.attachers.length;){const t=this.attachers[s];e.use(...t)}return e.data(t(!0,{},this.namespace)),e}data(e,t){return"string"==typeof e?2===arguments.length?(p("data",this.frozen),this.namespace[e]=t,this):o.call(this.namespace,e)&&this.namespace[e]||void 0:e?(p("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...s]=this.attachers[this.freezeIndex];if(!1===s[0])continue;!0===s[0]&&(s[0]=void 0);const r=t.call(e,...s);"function"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=m(e),s=this.parser||this.Parser;return f("parse",s),s(String(t),t)}process(e,t){const s=this;return this.freeze(),f("process",this.parser||this.Parser),h("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,n){const i=m(e),o=s.parse(i);function c(e,s){e||!s?n(e):r?r(s):t(void 0,s)}s.run(o,i,function(e,t,r){if(e||!t||!r)return c(e);const n=t,i=s.stringify(n,r);var o;"string"==typeof(o=i)||function(e){return Boolean(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(o)?r.value=i:r.result=i,c(e,r)})}}processSync(t){let s,r=!1;return this.freeze(),f("processSync",this.parser||this.Parser),h("processSync",this.compiler||this.Compiler),this.process(t,function(t,n){r=!0,e(t),s=n}),l("processSync","process",r),s}run(e,t,s){u(e),this.freeze();const r=this.transformers;return s||"function"!=typeof t||(s=t,t=void 0),s?n(void 0,s):new Promise(n);function n(n,i){const o=m(t);r.run(e,o,function(t,r,o){const c=r||e;t?i(t):n?n(c):s(void 0,c,o)})}}runSync(t,s){let r,n=!1;return this.run(t,s,function(t,s){e(t),r=s,n=!0}),l("runSync","run",n),r}stringify(e,t){this.freeze();const s=m(t),r=this.compiler||this.Compiler;return h("stringify",r),u(e),r(e,s)}use(e,...r){const n=this.attachers,i=this.namespace;if(p("use",this.frozen),null==e);else if("function"==typeof e)f(e,r);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?a(e):c(e)}return this;function o(e){if("function"==typeof e)f(e,[]);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){const[t,...s]=e;f(t,s)}else c(e)}}function c(e){if(!("plugins"in e)&&!("settings"in e))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");a(e.plugins),e.settings&&(i.settings=t(!0,i.settings,e.settings))}function a(e){let t=-1;if(null==e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){o(e[t])}}}function f(e,r){let i=-1,o=-1;for(;++i<n.length;)if(n[i][0]===e){o=i;break}if(-1===o)n.push([e,...r]);else if(r.length>0){let[i,...c]=r;const a=n[o][1];s(a)&&s(i)&&(i=t(!0,a,i)),n[o]=[e,i,...c]}}}}const a=(new c).freeze();function f(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `parser`")}function h(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `compiler`")}function p(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function u(e){if(!s(e)||"string"!=typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function l(e,t,s){if(!s)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function m(e){return function(e){return Boolean(e&&"object"==typeof e&&"message"in e&&"messages"in e)}(e)?e:new i(e)}export{c as Processor,a as unified};
|