refactor(hashline-edit): remove dead applyInsertBetween function
This function is no longer called from edit-operations.ts after the op/pos/end/lines schema refactor in PR #2079. Remove the function definition and its 3 dedicated test cases.
This commit is contained in:
parent
5d30ec80df
commit
fb92babee7
1
node_modules
Symbolic link
1
node_modules
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/Users/yeongyu/local-workspaces/oh-my-opencode/node_modules
|
||||||
@ -103,32 +103,6 @@ export function applyInsertBefore(
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
export function applyInsertBetween(
|
|
||||||
lines: string[],
|
|
||||||
afterAnchor: string,
|
|
||||||
beforeAnchor: string,
|
|
||||||
text: string | string[],
|
|
||||||
options?: EditApplyOptions
|
|
||||||
): string[] {
|
|
||||||
if (shouldValidate(options)) {
|
|
||||||
validateLineRef(lines, afterAnchor)
|
|
||||||
validateLineRef(lines, beforeAnchor)
|
|
||||||
}
|
|
||||||
const { line: afterLine } = parseLineRef(afterAnchor)
|
|
||||||
const { line: beforeLine } = parseLineRef(beforeAnchor)
|
|
||||||
if (beforeLine <= afterLine) {
|
|
||||||
throw new Error(`insert_between requires after_line (${afterLine}) < before_line (${beforeLine})`)
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = [...lines]
|
|
||||||
const newLines = stripInsertBoundaryEcho(lines[afterLine - 1], lines[beforeLine - 1], toNewLines(text))
|
|
||||||
if (newLines.length === 0) {
|
|
||||||
throw new Error(`insert_between requires non-empty text for ${afterAnchor}..${beforeAnchor}`)
|
|
||||||
}
|
|
||||||
result.splice(beforeLine - 1, 0, ...newLines)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
export function applyAppend(lines: string[], text: string | string[]): string[] {
|
export function applyAppend(lines: string[], text: string | string[]): string[] {
|
||||||
const normalized = toNewLines(text)
|
const normalized = toNewLines(text)
|
||||||
if (normalized.length === 0) {
|
if (normalized.length === 0) {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { describe, expect, it } from "bun:test"
|
import { describe, expect, it } from "bun:test"
|
||||||
import { applyHashlineEdits, applyInsertAfter, applyReplaceLines, applySetLine } from "./edit-operations"
|
import { applyHashlineEdits, applyInsertAfter, applyReplaceLines, applySetLine } from "./edit-operations"
|
||||||
import { applyAppend, applyInsertBetween, applyPrepend } from "./edit-operation-primitives"
|
import { applyAppend, applyPrepend } from "./edit-operation-primitives"
|
||||||
import { computeLineHash } from "./hash-computation"
|
import { computeLineHash } from "./hash-computation"
|
||||||
import type { HashlineEdit } from "./types"
|
import type { HashlineEdit } from "./types"
|
||||||
|
|
||||||
@ -56,16 +56,6 @@ describe("hashline edit operations", () => {
|
|||||||
expect(result).toEqual("line 1\nbefore 2\nline 2\nline 3")
|
expect(result).toEqual("line 1\nbefore 2\nline 2\nline 3")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("applies insert_between with dual anchors", () => {
|
|
||||||
//#given
|
|
||||||
const lines = ["line 1", "line 2", "line 3"]
|
|
||||||
|
|
||||||
//#when
|
|
||||||
const result = applyInsertBetween(lines, anchorFor(lines, 1), anchorFor(lines, 2), ["between"]).join("\n")
|
|
||||||
|
|
||||||
//#then
|
|
||||||
expect(result).toEqual("line 1\nbetween\nline 2\nline 3")
|
|
||||||
})
|
|
||||||
|
|
||||||
it("throws when insert_after receives empty text array", () => {
|
it("throws when insert_after receives empty text array", () => {
|
||||||
//#given
|
//#given
|
||||||
@ -85,13 +75,6 @@ describe("hashline edit operations", () => {
|
|||||||
).toThrow(/non-empty/i)
|
).toThrow(/non-empty/i)
|
||||||
})
|
})
|
||||||
|
|
||||||
it("throws when insert_between receives empty text array", () => {
|
|
||||||
//#given
|
|
||||||
const lines = ["line 1", "line 2"]
|
|
||||||
|
|
||||||
//#when / #then
|
|
||||||
expect(() => applyInsertBetween(lines, anchorFor(lines, 1), anchorFor(lines, 2), [])).toThrow(/non-empty/i)
|
|
||||||
})
|
|
||||||
|
|
||||||
it("applies mixed edits in one pass", () => {
|
it("applies mixed edits in one pass", () => {
|
||||||
//#given
|
//#given
|
||||||
@ -215,15 +198,6 @@ describe("hashline edit operations", () => {
|
|||||||
expect(result).toEqual(["before", "new 1", "new 2", "after"])
|
expect(result).toEqual(["before", "new 1", "new 2", "after"])
|
||||||
})
|
})
|
||||||
|
|
||||||
it("throws when insert_between payload contains only boundary echoes", () => {
|
|
||||||
//#given
|
|
||||||
const lines = ["line 1", "line 2", "line 3"]
|
|
||||||
|
|
||||||
//#when / #then
|
|
||||||
expect(() => applyInsertBetween(lines, anchorFor(lines, 1), anchorFor(lines, 2), ["line 1", "line 2"])).toThrow(
|
|
||||||
/non-empty/i
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
it("restores indentation for first replace_lines entry", () => {
|
it("restores indentation for first replace_lines entry", () => {
|
||||||
//#given
|
//#given
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user