@cranq/document-utils
Advanced tools
Comparing version 1.0.2 to 1.0.3
import { DeepDocument } from "./DeepDocument"; | ||
import { Field } from "./Field"; | ||
export declare type Fieldify<T> = T extends Array<DeepDocument> ? Array<string> : T extends Array<DeepDocument | undefined> ? Array<string | undefined> : T extends DeepDocument ? string : T extends DeepDocument | undefined ? string | undefined : T extends Field ? T : never; | ||
export declare type Fieldify<T> = T extends Array<DeepDocument> ? Array<string> : T extends Array<DeepDocument | undefined> ? Array<string | undefined> : T extends DeepDocument ? string : T extends Field ? T : never; |
{ | ||
"name": "@cranq/document-utils", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "Document store manipulation utilities", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -5,3 +5,20 @@ import {Field} from "./Field"; | ||
describe("Fieldify", () => { | ||
describe("when param is not array", () => { | ||
describe("for primitives", () => { | ||
type F = Fieldify<boolean>; | ||
it("should retain original type", () => { | ||
const f: F = true; | ||
}); | ||
describe("that are nullable", () => { | ||
type F = Fieldify<boolean | undefined>; | ||
it("should retain original type", () => { | ||
const f1: F = true; | ||
const f2: F = undefined; | ||
}); | ||
}); | ||
}); | ||
describe("for deep document", () => { | ||
type D = { | ||
@@ -27,3 +44,3 @@ foo: number; | ||
describe("and nullable", () => { | ||
describe("that are nullable", () => { | ||
type D = { | ||
@@ -41,3 +58,3 @@ foo: number; | ||
describe("when param is array", () => { | ||
describe("for array of deep documents", () => { | ||
type D = { | ||
@@ -63,3 +80,3 @@ foo: number; | ||
describe("and nullable", () => { | ||
describe("that are nullable", () => { | ||
type D = { | ||
@@ -66,0 +83,0 @@ foo: number; |
@@ -13,6 +13,4 @@ import {DeepDocument} from "./DeepDocument"; | ||
? string | ||
: T extends DeepDocument | undefined | ||
? string | undefined | ||
: T extends Field | ||
? T | ||
: never; | ||
: T extends Field | ||
? T | ||
: never; |
214561
3204