Socket
Socket
Sign inDemoInstall

codejar

Package Overview
Dependencies
0
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.3.0 to 3.4.0

1

codejar.d.ts

@@ -9,2 +9,3 @@ declare type Options = {

history: boolean;
window: typeof window;
};

@@ -11,0 +12,0 @@ export declare type Position = {

35

codejar.js

@@ -0,3 +1,6 @@

const globalWindow = window;
export function CodeJar(editor, highlight, opt = {}) {
const options = Object.assign({ tab: '\t', indentOn: /{$/, spellcheck: false, catchTab: true, preserveIdent: true, addClosing: true, history: true }, opt);
const options = Object.assign({ tab: '\t', indentOn: /{$/, spellcheck: false, catchTab: true, preserveIdent: true, addClosing: true, history: true, window: globalWindow }, opt);
const window = options.window;
const document = window.document;
let listeners = [];

@@ -86,3 +89,3 @@ let history = [];

function save() {
const s = window.getSelection();
const s = getSelection();
const pos = { start: 0, end: 0, dir: undefined };

@@ -124,3 +127,3 @@ visit(editor, el => {

function restore(pos) {
const s = window.getSelection();
const s = getSelection();
let startNode, startOffset = 0;

@@ -170,3 +173,3 @@ let endNode, endOffset = 0;

function beforeCursor() {
const s = window.getSelection();
const s = getSelection();
const r0 = s.getRangeAt(0);

@@ -179,3 +182,3 @@ const r = document.createRange();

function afterCursor() {
const s = window.getSelection();
const s = getSelection();
const r0 = s.getRangeAt(0);

@@ -249,10 +252,10 @@ const r = document.createRange();

&& !escapeCharacter
// Only if string or have empty space after
&& (`"'`.includes(event.key) || ['', ' ', '\n'].includes(charAfter))) {
// Place closing char.
preventDefault(event);
const pos = save();
preventDefault(event);
const text = event.key + close[open.indexOf(event.key)];
const wrapText = pos.start == pos.end ? '' : getSelection().toString();
const text = event.key + wrapText + close[open.indexOf(event.key)];
insert(text);
pos.start = ++pos.end;
pos.start++;
pos.end++;
restore(pos);

@@ -330,3 +333,6 @@ }

preventDefault(event);
const text = (event.originalEvent || event).clipboardData.getData('text/plain');
const text = (event.originalEvent || event)
.clipboardData
.getData('text/plain')
.replace(/\r/g, '');
const pos = save();

@@ -395,2 +401,9 @@ insert(text);

}
function getSelection() {
var _a;
if (((_a = editor.parentNode) === null || _a === void 0 ? void 0 : _a.nodeType) == Node.DOCUMENT_FRAGMENT_NODE) {
return editor.parentNode.getSelection();
}
return window.getSelection();
}
return {

@@ -397,0 +410,0 @@ updateOptions(options) {

@@ -0,1 +1,3 @@

const globalWindow = window
type Options = {

@@ -9,2 +11,3 @@ tab: string

history: boolean
window: typeof window
}

@@ -34,4 +37,9 @@

history: true,
window: globalWindow,
...opt
}
const window = options.window
const document = window.document
let listeners: [string, any][] = []

@@ -123,3 +131,3 @@ let history: HistoryRecord[] = []

function save(): Position {
const s = window.getSelection()!
const s = getSelection()
const pos: Position = {start: 0, end: 0, dir: undefined}

@@ -161,3 +169,3 @@

function restore(pos: Position) {
const s = window.getSelection()!
const s = getSelection()
let startNode: Node | undefined, startOffset = 0

@@ -210,3 +218,3 @@ let endNode: Node | undefined, endOffset = 0

function beforeCursor() {
const s = window.getSelection()!
const s = getSelection()
const r0 = s.getRangeAt(0)

@@ -220,3 +228,3 @@ const r = document.createRange()

function afterCursor() {
const s = window.getSelection()!
const s = getSelection()
const r0 = s.getRangeAt(0)

@@ -295,11 +303,11 @@ const r = document.createRange()

&& !escapeCharacter
// Only if string or have empty space after
&& (`"'`.includes(event.key) || ['', ' ', '\n'].includes(charAfter))
) {
// Place closing char.
preventDefault(event)
const pos = save()
preventDefault(event)
const text = event.key + close[open.indexOf(event.key)]
const wrapText = pos.start == pos.end ? '' : getSelection().toString()
const text = event.key + wrapText + close[open.indexOf(event.key)]
insert(text)
pos.start = ++pos.end
pos.start++
pos.end++
restore(pos)

@@ -380,3 +388,6 @@ }

preventDefault(event)
const text = ((event as any).originalEvent || event).clipboardData.getData('text/plain')
const text = ((event as any).originalEvent || event)
.clipboardData
.getData('text/plain')
.replace(/\r/g, '')
const pos = save()

@@ -456,2 +467,9 @@ insert(text)

function getSelection() {
if (editor.parentNode?.nodeType == Node.DOCUMENT_FRAGMENT_NODE) {
return (editor.parentNode as Document).getSelection()!
}
return window.getSelection()!
}
return {

@@ -458,0 +476,0 @@ updateOptions(options: Partial<Options>) {

{
"name": "codejar",
"version": "3.3.0",
"version": "3.4.0",
"description": "An embeddable code editor for the browser",

@@ -24,4 +24,4 @@ "license": "MIT",

"gzip-size-cli": "^3.0.0",
"release-it": "^14.0.3",
"typescript": "^3.8.3"
"release-it": "^14.5.1",
"typescript": "^4.2.3"
},

@@ -28,0 +28,0 @@ "release-it": {

@@ -63,2 +63,3 @@ <p align="center"><a href="https://medv.io/codejar/"><img src="https://medv.io/assets/codejar.svg" width="72"></a></p>

- `history` records history. Default `true`.
- `window` window object. Default: `window`.

@@ -65,0 +66,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc