Home / Function/ mapArraysDiff() — drizzle-orm Function Reference

mapArraysDiff() — drizzle-orm Function Reference

Architecture documentation for the mapArraysDiff() function in jsonDiffer.js from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  9996c7a6_7ccf_96a1_145d_f1d2537e79b6["mapArraysDiff()"]
  42cd5bcb_caa4_6b61_11ea_da1b767eeadd["jsonDiffer.js"]
  9996c7a6_7ccf_96a1_145d_f1d2537e79b6 -->|defined in| 42cd5bcb_caa4_6b61_11ea_da1b767eeadd
  3b61cdb0_0771_3cda_8dbf_5ecbe8a49a2b["applyJsonDiff()"]
  3b61cdb0_0771_3cda_8dbf_5ecbe8a49a2b -->|calls| 9996c7a6_7ccf_96a1_145d_f1d2537e79b6
  style 9996c7a6_7ccf_96a1_145d_f1d2537e79b6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-kit/src/jsonDiffer.js lines 56–88

const mapArraysDiff = (source, diff) => {
	const sequence = [];
	let sourceIndex = 0;
	for (let i = 0; i < diff.length; i++) {
		const it = diff[i];
		if (it.length === 1) {
			sequence.push({ type: 'same', value: source[sourceIndex] });
			sourceIndex += 1;
		} else {
			if (it[0] === '-') {
				sequence.push({ type: 'removed', value: it[1] });
			} else {
				sequence.push({ type: 'added', value: it[1], before: '' });
			}
		}
	}
	const result = sequence.reverse().reduce(
		(acc, it) => {
			if (it.type === 'same') {
				acc.prev = it.value;
			}

			if (it.type === 'added' && acc.prev) {
				it.before = acc.prev;
			}
			acc.result.push(it);
			return acc;
		},
		{ result: [] },
	);

	return result.result.reverse();
};

Domain

Subdomains

Called By

Frequently Asked Questions

What does mapArraysDiff() do?
mapArraysDiff() is a function in the drizzle-orm codebase, defined in drizzle-kit/src/jsonDiffer.js.
Where is mapArraysDiff() defined?
mapArraysDiff() is defined in drizzle-kit/src/jsonDiffer.js at line 56.
What calls mapArraysDiff()?
mapArraysDiff() is called by 1 function(s): applyJsonDiff.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free