Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@assistant-ui/react-markdown

Package Overview
Dependencies
Maintainers
2
Versions
96
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@assistant-ui/react-markdown - npm Package Compare versions

Comparing version
0.12.3
to
0.12.4
+34
src/memoization.test.ts
import { describe, it, expect } from "vitest";
import type { Element } from "hast";
import { areNodesEqual } from "./memoization";
const createNode = (overrides: Partial<Element> = {}): Element => ({
type: "element",
tagName: "p",
properties: { className: "foo" },
children: [],
...overrides,
});
describe("areNodesEqual", () => {
it("returns false if either node is undefined", () => {
expect(areNodesEqual(undefined, createNode())).toBe(false);
expect(areNodesEqual(createNode(), undefined)).toBe(false);
});
it("ignores position when comparing properties", () => {
const prev = createNode({ properties: { className: "foo", position: 1 } });
const next = createNode({ properties: { className: "foo", position: 2 } });
expect(areNodesEqual(prev, next)).toBe(true);
});
it("detects differences in children", () => {
const prev = createNode({
children: [{ type: "text", value: "a" }] as any,
});
const next = createNode({
children: [{ type: "text", value: "b" }] as any,
});
expect(areNodesEqual(prev, next)).toBe(false);
});
});
import classNames from "classnames";
export const withDefaultProps =
<TProps extends { className?: string | undefined }>({
className,
...defaultProps
}: Partial<TProps>) =>
({ className: classNameProp, ...props }: TProps) => {
return {
className: classNames(className, classNameProp),
...defaultProps,
...props,
} as TProps;
};
+1
-1

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

{"version":3,"file":"withDefaults.d.ts","sourceRoot":"","sources":["../../src/overrides/withDefaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAC1B,MAAM,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,gCAGjD,OAAO,CAAC,MAAM,CAAC,MACjB,wCAAwC,MAAM,KAKxC,MACN,CAAC"}
{"version":3,"file":"withDefaults.d.ts","sourceRoot":"","sources":["../../src/overrides/withDefaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAC1B,MAAM,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,gCAGjD,OAAO,CAAC,MAAM,CAAC,MACjB,wCAAwC,MAAM,KAKxC,MACN,CAAC"}

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

{"version":3,"file":"withDefaults.js","sourceRoot":"","sources":["../../src/overrides/withDefaults.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAoD,EAClD,SAAS,EACT,GAAG,YAAY,EACC,EAAE,EAAE,CACtB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,EAAU,EAAE,EAAE;IACjD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;QAC/C,GAAG,YAAY;QACf,GAAG,KAAK;KACC,CAAC;AACd,CAAC,CAAC"}
{"version":3,"file":"withDefaults.js","sourceRoot":"","sources":["../../src/overrides/withDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAoD,EAClD,SAAS,EACT,GAAG,YAAY,EACC,EAAE,EAAE,CACtB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,EAAU,EAAE,EAAE;IACjD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;QAC/C,GAAG,YAAY;QACf,GAAG,KAAK;KACC,CAAC;AACd,CAAC,CAAC"}
{
"name": "@assistant-ui/react-markdown",
"version": "0.12.3",
"version": "0.12.4",
"description": "Markdown rendering for assistant-ui",

@@ -43,3 +43,3 @@ "keywords": [

"peerDependencies": {
"@assistant-ui/react": "^0.12.9",
"@assistant-ui/react": "^0.12.11",
"@types/react": "*",

@@ -59,3 +59,3 @@ "react": "^18 || ^19"

"vitest": "^4.0.18",
"@assistant-ui/react": "0.12.9",
"@assistant-ui/react": "0.12.11",
"@assistant-ui/x-buildutils": "0.0.1"

@@ -62,0 +62,0 @@ },

import { describe, it, expect } from "vitest";
import type { Element } from "hast";
import { areNodesEqual } from "./memoization";
const createNode = (overrides: Partial<Element> = {}): Element => ({
type: "element",
tagName: "p",
properties: { className: "foo" },
children: [],
...overrides,
});
describe("areNodesEqual", () => {
it("returns false if either node is undefined", () => {
expect(areNodesEqual(undefined, createNode())).toBe(false);
expect(areNodesEqual(createNode(), undefined)).toBe(false);
});
it("ignores position when comparing properties", () => {
const prev = createNode({ properties: { className: "foo", position: 1 } });
const next = createNode({ properties: { className: "foo", position: 2 } });
expect(areNodesEqual(prev, next)).toBe(true);
});
it("detects differences in children", () => {
const prev = createNode({
children: [{ type: "text", value: "a" }] as any,
});
const next = createNode({
children: [{ type: "text", value: "b" }] as any,
});
expect(areNodesEqual(prev, next)).toBe(false);
});
});
import classNames from "classnames";
export const withDefaultProps =
<TProps extends { className?: string | undefined }>({
className,
...defaultProps
}: Partial<TProps>) =>
({ className: classNameProp, ...props }: TProps) => {
return {
className: classNames(className, classNameProp),
...defaultProps,
...props,
} as TProps;
};