mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-25 10:08:29 +02:00
Fix lint
This commit is contained in:
@@ -13,12 +13,16 @@ describe('template-function-faker', () => {
|
|||||||
it('renders date results as unquoted ISO strings', async () => {
|
it('renders date results as unquoted ISO strings', async () => {
|
||||||
const { plugin } = await import('../src/index');
|
const { plugin } = await import('../src/index');
|
||||||
const fn = plugin.templateFunctions?.find((fn) => fn.name === 'faker.date.future');
|
const fn = plugin.templateFunctions?.find((fn) => fn.name === 'faker.date.future');
|
||||||
|
const onRender = fn?.onRender;
|
||||||
|
|
||||||
expect(fn?.onRender).toBeTypeOf('function');
|
expect(onRender).toBeTypeOf('function');
|
||||||
|
if (onRender == null) {
|
||||||
|
throw new Error("Expected template function 'faker.date.future' to define onRender");
|
||||||
|
}
|
||||||
|
|
||||||
const result = await fn!.onRender!(
|
const result = await onRender(
|
||||||
{} as Parameters<NonNullable<typeof fn.onRender>>[0],
|
{} as Parameters<typeof onRender>[0],
|
||||||
{ values: {} } as Parameters<NonNullable<typeof fn.onRender>>[1],
|
{ values: {} } as Parameters<typeof onRender>[1],
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(result).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/);
|
expect(result).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/);
|
||||||
|
|||||||
@@ -206,7 +206,10 @@ export const plugin: PluginDefinition = {
|
|||||||
// Create snippet generator
|
// Create snippet generator
|
||||||
const snippet = new HTTPSnippet(harRequest);
|
const snippet = new HTTPSnippet(harRequest);
|
||||||
const generateSnippet = (target: string, client: string): string => {
|
const generateSnippet = (target: string, client: string): string => {
|
||||||
const result = snippet.convert(target as any, client);
|
const result = snippet.convert(
|
||||||
|
target as Parameters<typeof snippet.convert>[0],
|
||||||
|
client as Parameters<typeof snippet.convert>[1],
|
||||||
|
);
|
||||||
return (Array.isArray(result) ? result.join('\n') : result || '').replace(/\r\n/g, '\n');
|
return (Array.isArray(result) ? result.join('\n') : result || '').replace(/\r\n/g, '\n');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,9 @@ function splitCommands(rawData: string): string[] {
|
|||||||
let inDollarQuote = false;
|
let inDollarQuote = false;
|
||||||
|
|
||||||
for (let i = 0; i < joined.length; i++) {
|
for (let i = 0; i < joined.length; i++) {
|
||||||
const ch = joined[i]!;
|
if (joined[i] === undefined) break; // Make TS happy
|
||||||
|
|
||||||
|
const ch = joined[i];
|
||||||
const next = joined[i + 1];
|
const next = joined[i + 1];
|
||||||
|
|
||||||
// Track quoting state to avoid splitting inside quoted strings
|
// Track quoting state to avoid splitting inside quoted strings
|
||||||
@@ -121,7 +123,11 @@ function splitCommands(rawData: string): string[] {
|
|||||||
const inQuote = inSingleQuote || inDoubleQuote || inDollarQuote;
|
const inQuote = inSingleQuote || inDoubleQuote || inDollarQuote;
|
||||||
|
|
||||||
// Split on ;, newline, or CRLF when not inside quotes and not escaped
|
// Split on ;, newline, or CRLF when not inside quotes and not escaped
|
||||||
if (!inQuote && !isEscaped(i) && (ch === ';' || ch === '\n' || (ch === '\r' && next === '\n'))) {
|
if (
|
||||||
|
!inQuote &&
|
||||||
|
!isEscaped(i) &&
|
||||||
|
(ch === ';' || ch === '\n' || (ch === '\r' && next === '\n'))
|
||||||
|
) {
|
||||||
if (ch === '\r') i++; // Skip the \n in \r\n
|
if (ch === '\r') i++; // Skip the \n in \r\n
|
||||||
if (current.trim()) {
|
if (current.trim()) {
|
||||||
commands.push(current.trim());
|
commands.push(current.trim());
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import { useHttpResponseEvents } from '../hooks/useHttpResponseEvents';
|
|||||||
import { Editor } from './core/Editor/LazyEditor';
|
import { Editor } from './core/Editor/LazyEditor';
|
||||||
import { type EventDetailAction, EventDetailHeader, EventViewer } from './core/EventViewer';
|
import { type EventDetailAction, EventDetailHeader, EventViewer } from './core/EventViewer';
|
||||||
import { EventViewerRow } from './core/EventViewerRow';
|
import { EventViewerRow } from './core/EventViewerRow';
|
||||||
import { HttpMethodTagRaw } from './core/HttpMethodTag';
|
|
||||||
import { HttpStatusTagRaw } from './core/HttpStatusTag';
|
import { HttpStatusTagRaw } from './core/HttpStatusTag';
|
||||||
import { Icon, type IconProps } from './core/Icon';
|
import { Icon, type IconProps } from './core/Icon';
|
||||||
import { KeyValueRow, KeyValueRows } from './core/KeyValueRow';
|
import { KeyValueRow, KeyValueRows } from './core/KeyValueRow';
|
||||||
|
|||||||
Reference in New Issue
Block a user