object-shape-tester
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -46,2 +46,5 @@ "use strict"; | ||
} | ||
if ((0, common_1.isRuntimeTypeOf)(shape, 'function')) { | ||
return (0, common_1.isRuntimeTypeOf)(subject, 'function'); | ||
} | ||
if ((0, common_1.isObject)(subject)) { | ||
@@ -48,0 +51,0 @@ const objectSubject = subject; |
@@ -41,2 +41,5 @@ import { getObjectTypedKeys, isObject, isRuntimeTypeOf, } from '@augment-vir/common'; | ||
} | ||
if (isRuntimeTypeOf(shape, 'function')) { | ||
return isRuntimeTypeOf(subject, 'function'); | ||
} | ||
if (isObject(subject)) { | ||
@@ -43,0 +46,0 @@ const objectSubject = subject; |
@@ -51,3 +51,3 @@ import { ArrayElement, AtLeastTuple } from '@augment-vir/common'; | ||
export declare function specifier<Parts extends BaseParts, Type extends ShapeSpecifierType>(parts: Parts, specifierType: Type): ShapeSpecifier<Parts, Type>; | ||
export type ShapeToRunTimeType<Shape, IsExact extends boolean = false> = Shape extends object ? Shape extends ShapeDefinition<infer InnerShape> ? ShapeToRunTimeType<InnerShape, IsExact> : Shape extends ShapeSpecifier<any, any> ? Shape extends ShapeSpecifier<any, typeof exactSymbol> ? SpecifierToRunTimeType<Shape, true> : SpecifierToRunTimeType<Shape, IsExact> : { | ||
export type ShapeToRunTimeType<Shape, IsExact extends boolean = false> = Shape extends Function ? Shape : Shape extends object ? Shape extends ShapeDefinition<infer InnerShape> ? ShapeToRunTimeType<InnerShape, IsExact> : Shape extends ShapeSpecifier<any, any> ? Shape extends ShapeSpecifier<any, typeof exactSymbol> ? SpecifierToRunTimeType<Shape, true> : SpecifierToRunTimeType<Shape, IsExact> : { | ||
[PropName in keyof Shape]: Shape[PropName] extends ShapeSpecifier<any, typeof exactSymbol> ? ShapeToRunTimeType<Shape[PropName], true> : ShapeToRunTimeType<Shape[PropName], IsExact>; | ||
@@ -54,0 +54,0 @@ } : Shape; |
{ | ||
"name": "object-shape-tester", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Test object properties and value types.", | ||
@@ -38,35 +38,35 @@ "keywords": [], | ||
"dependencies": { | ||
"@augment-vir/common": "^14.2.2", | ||
"type-fest": "^3.11.1" | ||
"@augment-vir/common": "^15.5.0", | ||
"type-fest": "^4.0.0" | ||
}, | ||
"devDependencies": { | ||
"@augment-vir/browser-testing": "^14.2.2", | ||
"@augment-vir/node-js": "^14.2.2", | ||
"@open-wc/testing": "^3.1.8", | ||
"@augment-vir/browser-testing": "^15.5.0", | ||
"@augment-vir/node-js": "^15.5.0", | ||
"@open-wc/testing": "^3.2.0", | ||
"@types/chai": "^4.3.5", | ||
"@types/mocha": "^10.0.1", | ||
"@web/dev-server-esbuild": "^0.4.1", | ||
"@web/test-runner": "^0.16.1", | ||
"@web/test-runner-commands": "^0.7.0", | ||
"@web/test-runner-playwright": "^0.10.0", | ||
"@web/test-runner-visual-regression": "^0.8.0", | ||
"concurrently": "^8.1.0", | ||
"cspell": "^6.31.1", | ||
"esbuild": "^0.17.19", | ||
"@web/test-runner": "^0.17.0", | ||
"@web/test-runner-commands": "^0.8.0", | ||
"@web/test-runner-playwright": "^0.10.1", | ||
"@web/test-runner-visual-regression": "^0.8.2", | ||
"concurrently": "^8.2.0", | ||
"cspell": "^6.31.2", | ||
"esbuild": "^0.18.16", | ||
"istanbul-smart-text-reporter": "^1.1.2", | ||
"markdown-code-example-inserter": "^0.3.1", | ||
"npm-check-updates": "^16.10.12", | ||
"npm-check-updates": "^16.10.16", | ||
"prettier": "^2.8.8", | ||
"prettier-plugin-interpolated-html-tags": "^0.0.4", | ||
"prettier-plugin-jsdoc": "^0.4.2", | ||
"prettier-plugin-multiline-arrays": "^1.1.4", | ||
"prettier-plugin-organize-imports": "^3.2.2", | ||
"prettier-plugin-packagejson": "^2.4.3", | ||
"prettier-plugin-multiline-arrays": "^2.0.0", | ||
"prettier-plugin-organize-imports": "^3.2.3", | ||
"prettier-plugin-packagejson": "^2.4.5", | ||
"prettier-plugin-sort-json": "^1.0.0", | ||
"prettier-plugin-toml": "^0.3.1", | ||
"typescript": "^5.1.3", | ||
"virmator": "^6.6.2", | ||
"vite": "^4.3.9", | ||
"typescript": "^5.1.6", | ||
"virmator": "^7.2.5", | ||
"vite": "^4.4.6", | ||
"vite-tsconfig-paths": "^4.2.0" | ||
} | ||
} |
53155
26
892
+ Added@augment-vir/common@15.6.1(transitive)
+ Addedtype-fest@4.35.0(transitive)
- Removed@augment-vir/common@14.4.0(transitive)
- Removedtype-fest@3.13.1(transitive)
Updated@augment-vir/common@^15.5.0
Updatedtype-fest@^4.0.0