iobroker.javascript
Version:
Rules Engine for ioBroker
1 lines • 633 B
JavaScript
function e(e,t,n,r,i={}){if(!e||!t)return!1;let a=e.getModel();if(!a)return!1;let o=i.source||`ai`,s=i.focusAfter!==!1,c;if(n){let e=a.getLineCount(),r=Math.max(1,Math.min(n.startLine,e)),i=Math.max(r,Math.min(n.endLine,e)),o=Math.max(1,n.startColumn),s=Math.min(n.endColumn,a.getLineMaxColumn(i));c=new t.Range(r,o,i,s)}else if(i.fallbackInsertAt===`end`){let e=a.getLineCount(),n=a.getLineMaxColumn(e);c=new t.Range(e,n,e,n)}else{let n=e.getPosition()??{lineNumber:1,column:1};c=new t.Range(n.lineNumber,n.column,n.lineNumber,n.column)}return e.executeEdits(o,[{range:c,text:r,forceMoveMarkers:!0}]),s&&e.focus(),!0}export{e as t};