From c2cc489d6b53cbb29b785130f510530b2709ca80 Mon Sep 17 00:00:00 2001 From: Oleksandr_Halichenko Date: Fri, 3 Oct 2025 18:13:08 +0300 Subject: [PATCH] fixed huge declaration file --- CHANGELOG.md | 3 +++ index.d.ts | 1 - index.js | 1 - package-lock.json | 21 +++++++++--------- package.json | 10 ++++----- src/expect.ts | 4 ++-- src/index.ts | 2 ++ src/matchers.ts | 34 ++++++++++++++++++++++++++++-- test/expect.spec.ts | 2 +- test/poll.spec.ts | 2 +- test/validationTransformer.spec.ts | 3 +-- 11 files changed, 58 insertions(+), 25 deletions(-) delete mode 100644 index.d.ts delete mode 100644 index.js create mode 100644 src/index.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index b98bf9e..c2ee033 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how :pencil: - chore +## 1.4.1 +- :beetle: fixed huge declaration file + ## 1.4.0 - :rocket: dropped chai dependency in favor of own `expect` implementation diff --git a/index.d.ts b/index.d.ts deleted file mode 100644 index e3ffdc6..0000000 --- a/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { getValidation, getPollValidation, verify, validationRegexp, poll, expect } from './src/verify'; \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index a73816f..0000000 --- a/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/verify'); diff --git a/package-lock.json b/package-lock.json index b5adac1..96946c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20 +1,20 @@ { "name": "@qavajs/validation", - "version": "1.4.0", + "version": "1.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@qavajs/validation", - "version": "1.4.0", + "version": "1.4.1", "license": "MIT", "dependencies": { "ajv": "^8.17.1" }, "devDependencies": { - "@types/node": "^24.6.0", + "@types/node": "^24.6.2", "@vitest/coverage-v8": "^3.2.4", - "typescript": "^5.9.2", + "typescript": "^5.9.3", "vitest": "^3.2.4" } }, @@ -921,10 +921,11 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.0.tgz", - "integrity": "sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==", + "version": "24.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.2.tgz", + "integrity": "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~7.13.0" } @@ -2093,9 +2094,9 @@ } }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 45e6355..015e46f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "@qavajs/validation", - "version": "1.4.0", + "version": "1.4.1", "description": "Lib that transform plain english definition to validation functions", - "main": "index.js", + "main": "./lib/index.js", "scripts": { "build": "tsc", "test": "vitest --coverage run" @@ -20,14 +20,14 @@ "Alexandr Legchilov" ], "license": "MIT", - "types": "./index.d.ts", + "types": "./lib/index.d.ts", "bugs": { "url": "https://github.com/qavajs/validation/issues" }, "homepage": "https://github.com/qavajs/validation#readme", "devDependencies": { - "@types/node": "^24.6.0", - "typescript": "^5.9.2", + "@types/node": "^24.6.2", + "typescript": "^5.9.3", "@vitest/coverage-v8": "^3.2.4", "vitest": "^3.2.4" }, diff --git a/src/expect.ts b/src/expect.ts index 3df6a6a..e8da502 100644 --- a/src/expect.ts +++ b/src/expect.ts @@ -8,7 +8,7 @@ export class SoftAssertionError extends AssertionError { name: string = 'SoftAssertionError'; } -type MatcherContext = { +export type MatcherContext = { received: Target; isNot: boolean; isSoft: boolean; @@ -17,7 +17,7 @@ type MatcherContext = { asString(value: any): string; }; -type MatcherResult = { +export type MatcherResult = { pass: boolean; message: string; }; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..ebb216f --- /dev/null +++ b/src/index.ts @@ -0,0 +1,2 @@ +export { getValidation, getPollValidation, verify, validationRegexp, poll, expect } from './verify'; +export { AssertionError, SoftAssertionError } from './expect'; \ No newline at end of file diff --git a/src/matchers.ts b/src/matchers.ts index c5cea91..d8b40f4 100644 --- a/src/matchers.ts +++ b/src/matchers.ts @@ -1,7 +1,37 @@ -import { expect as base } from './expect'; +import { expect as base, type MatcherResult, type MatcherContext } from './expect'; import Ajv from 'ajv'; -export const expect = base.extend({ +export type BaseMatchers = { + toSimpleEqual(this: MatcherContext, expected: any): MatcherResult; + toEqual(this: MatcherContext, expected: any): MatcherResult; + toCaseInsensitiveEqual(this: MatcherContext, expected: string): MatcherResult; + toBe(this: MatcherContext, expected: any): MatcherResult; + toBeGreaterThan(this: MatcherContext, expected: number): MatcherResult; + toBeGreaterThanOrEqual(this: MatcherContext, expected: number): MatcherResult; + toBeLessThan(this: MatcherContext, expected: number): MatcherResult; + toBeLessThanOrEqual(this: MatcherContext, expected: number): MatcherResult; + toBeNaN(this: MatcherContext): MatcherResult; + toBeNull(this: MatcherContext): MatcherResult; + toBeUndefined(this: MatcherContext): MatcherResult; + toBeTruthy(this: MatcherContext): MatcherResult; + toContain(this: MatcherContext, expected: any): MatcherResult; + toDeepEqual(this: MatcherContext, expected: any): MatcherResult; + toStrictEqual(this: MatcherContext, expected: any): MatcherResult; + toHaveLength(this: MatcherContext, expected: number): MatcherResult; + toHaveProperty(this: MatcherContext, key: string, value?: any): MatcherResult; + toMatch(this: MatcherContext, expected: string | RegExp): MatcherResult; + toThrow(this: MatcherContext<() => any>, expected?: string | RegExp): MatcherResult; + toSatisfy(this: MatcherContext, expected: (received: any) => boolean): MatcherResult; + toResolveWith(this: MatcherContext>, expected: any): Promise; + toRejectWith(this: MatcherContext>, expected: string): Promise; + toPass(this: MatcherContext<() => any>): Promise; + toMatchSchema(this: MatcherContext, schema: object): MatcherResult; + toHaveMembers(this: MatcherContext, expected: any[]): MatcherResult; + toIncludeMembers(this: MatcherContext, expected: any[]): MatcherResult; + toHaveType(this: MatcherContext, expected: string): MatcherResult; +} + +export const expect = base.extend({ toSimpleEqual(expected: any) { const pass = this.received == expected; const message = this.formatMessage(this.received, expected, 'to equal', this.isNot); diff --git a/test/expect.spec.ts b/test/expect.spec.ts index ff73d63..cce4535 100644 --- a/test/expect.spec.ts +++ b/test/expect.spec.ts @@ -1,4 +1,4 @@ -import { expect } from '../src/matchers'; +import { expect } from '../src'; import { test, describe, expect as vitestExpect } from 'vitest'; describe('Basic assertions', () => { diff --git a/test/poll.spec.ts b/test/poll.spec.ts index 5ab3c3b..a2c594e 100644 --- a/test/poll.spec.ts +++ b/test/poll.spec.ts @@ -1,5 +1,5 @@ import { test, expect } from 'vitest'; -import { getPollValidation, poll } from '../src/verify'; +import { getPollValidation, poll } from '../src'; function asyncActualValueString() { let index = 0; diff --git a/test/validationTransformer.spec.ts b/test/validationTransformer.spec.ts index 1e2607a..b325573 100644 --- a/test/validationTransformer.spec.ts +++ b/test/validationTransformer.spec.ts @@ -1,6 +1,5 @@ import { test, expect } from 'vitest'; -import { getValidation } from '../src/verify'; -import { AssertionError, SoftAssertionError } from '../src/expect'; +import { getValidation, AssertionError, SoftAssertionError } from '../src'; type TestParams = { testName: string;