Socket
Socket
Sign inDemoInstall

muggle-string

Package Overview
Dependencies
0
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.0 to 0.3.1

1

out/index.d.ts

@@ -6,2 +6,3 @@ import { Segment } from "./types";

export declare function toString<T extends Segment<any>>(segments: T[]): string;
export declare function create(source: string): Segment[];
export declare function replace<T extends Segment<any>>(segments: T[], pattern: string | RegExp, ...replacers: (T | ((match: string) => T))[]): void;

@@ -8,0 +9,0 @@ export declare function replaceAll<T extends Segment<any>>(segments: T[], pattern: RegExp, ...replacers: (T | ((match: string) => T))[]): void;

@@ -17,3 +17,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceRange = exports.replaceSourceRange = exports.replaceAll = exports.replace = exports.toString = exports.getLength = void 0;
exports.replaceRange = exports.replaceSourceRange = exports.replaceAll = exports.replace = exports.create = exports.toString = exports.getLength = void 0;
const binarySearch_1 = require("./binarySearch");

@@ -35,2 +35,6 @@ const track_1 = require("./track");

exports.toString = toString;
function create(source) {
return [[source, undefined, 0]];
}
exports.create = create;
function replace(segments, pattern, ...replacers) {

@@ -37,0 +41,0 @@ const str = toString(segments);

2

out/track.d.ts

@@ -5,2 +5,2 @@ import { Segment, StackNode } from "./types";

export declare function resetOffsetStack(): void;
export declare function track<T extends Segment<any>[]>(segments: T): [T, StackNode[]];
export declare function track<T extends Segment<any>[]>(segments: T, stacks?: StackNode[]): [T, StackNode[]];

@@ -18,4 +18,3 @@ "use strict";

exports.resetOffsetStack = resetOffsetStack;
function track(segments) {
const stacks = [];
function track(segments, stacks = []) {
return [

@@ -81,25 +80,32 @@ new Proxy(segments, {

}
let remainDeleteCount = deleteCount;
let stacksDeleteStart;
let stacksDeleteLength = 0;
let stackEnd = 0;
let _stackStart = 0;
let operateIndex;
for (let i = 0; i < stacks.length; i++) {
const stack = stacks[i];
const stackStart = stackEnd;
stackEnd = stackStart + stack.length;
while (start >= stackStart && start < stackEnd && remainDeleteCount && stack.length) {
const stackStart = _stackStart;
const stackEnd = stackStart + stack.length;
_stackStart = stackEnd;
if (start >= stackStart) {
operateIndex = i + 1;
const originalLength = stack.length;
stack.length = start - stackStart;
stacks.splice(operateIndex, 0, { stack: stack.stack, length: originalLength - stack.length });
break;
}
}
if (operateIndex === undefined) {
throw new Error('Invalid splice operation');
}
let _deleteCount = deleteCount;
for (let i = operateIndex; i < stacks.length; i++) {
const stack = stacks[i];
while (_deleteCount > 0 && stack.length > 0) {
stack.length--;
remainDeleteCount--;
stackEnd--;
_deleteCount--;
}
if (!stack.length) {
stacksDeleteStart !== null && stacksDeleteStart !== void 0 ? stacksDeleteStart : (stacksDeleteStart = i);
stacksDeleteLength++;
if (_deleteCount === 0) {
break;
}
if (remainDeleteCount <= 0)
break;
}
if (stacksDeleteStart !== undefined) {
stacks.splice(stacksDeleteStart, stacksDeleteLength);
}
stacks.splice(operateIndex, 0, { stack: getStack(), length: items.length });
return segments.splice(start, deleteCount, ...items);

@@ -106,0 +112,0 @@ }

{
"name": "muggle-string",
"version": "0.3.0",
"version": "0.3.1",
"main": "out/index.js",

@@ -5,0 +5,0 @@ "license": "MIT",

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