@dlightjs/types
Advanced tools
Comparing version 0.9.30 to 0.10.0
@@ -256,4 +256,4 @@ import { HtmlNode, CustomNode, DLNode } from '@dlightjs/dlight'; | ||
} | ||
type DefaultProp<T> = T & { | ||
_$idDefault: true; | ||
type ContentProp<T> = T & { | ||
_$idContent: true; | ||
}; | ||
@@ -263,8 +263,14 @@ type RemoveOptional<T> = { | ||
}; | ||
type DefaultKeyName<T> = { | ||
[K in keyof T]-?: T[K] extends DefaultProp<infer _> ? K : never; | ||
type ContentKeyName<T> = { | ||
[K in keyof T]-?: T[K] extends ContentProp<infer _> ? K : never; | ||
}[keyof T]; | ||
type CustomClassTag<T, O> = DefaultKeyName<RemoveOptional<O>> extends undefined ? () => DLightObject<T> : undefined extends O[DefaultKeyName<RemoveOptional<O>>] ? (defaultProp?: O[DefaultKeyName<RemoveOptional<O>>] extends (DefaultProp<infer U> | undefined) ? U : never) => DLightObject<T> : (defaultProp: O[DefaultKeyName<RemoveOptional<O>>] extends DefaultProp<infer U> ? U : never) => DLightObject<T>; | ||
type CustomClassTag<T, O> = ContentKeyName<RemoveOptional<O>> extends undefined ? () => DLightObject<T> : undefined extends O[ContentKeyName<RemoveOptional<O>>] ? (content?: O[ContentKeyName<RemoveOptional<O>>] extends (ContentProp<infer U> | undefined) ? U : never) => DLightObject<T> : (content: O[ContentKeyName<RemoveOptional<O>>] extends ContentProp<infer U> ? U : never) => DLightObject<T>; | ||
type CustomSubViewTag<T> = T extends { | ||
"content": infer U; | ||
} ? (content: U) => DLightObject<Omit<T, "content">> : T extends { | ||
"content"?: infer U; | ||
} ? (content?: U) => DLightObject<Omit<T, "content">> : () => DLightObject<T>; | ||
type CustomTagType<T, G> = CustomClassTag<T & CustomNodeProps & DLightHTMLAttributes<G>, T> & Useless; | ||
type Typed<T = {}, G = {}> = CustomTagType<T, G> & Useless; | ||
type SubTyped<T> = CustomSubViewTag<T> & Useless; | ||
type Pretty = any; | ||
@@ -282,2 +288,2 @@ type UnTyped<T> = T extends Typed<infer U> ? U : never; | ||
export { DLightHTMLAttributes, DLightHTMLAttributesFunc, DLightHtmlTagFunc, DefaultProp, Pretty, RemoveOptional, Typed, UnTyped, _, a, abbr, acronym, address, animate, animateMotion, animateTransform, applet, area, article, aside, audio, b, base, basefont, bdi, bdo, bgsound, big, blink, blockquote, body, br, button, canvas, caption, center, circle, cite, clipPath, code, col, colgroup, data, datalist, dd, defs, del, desc, details, dfn, dialog, dir, div, dl, dt, ellipse, em, embed, feBlend, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feDistantLight, feDropShadow, feFlood, feFuncA, feFuncB, feFuncG, feFuncR, feGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset, fePointLight, feSpecularLighting, feSpotLight, feTile, feTurbulence, fieldset, figcaption, figure, filter, font, footer, foreignObject, form, frame, frameset, g, h1, h2, h3, h4, h5, h6, head, header, hgroup, hr, html, htmlTag, i, iframe, image, img, input, ins, isindex, kbd, keygen, label, legend, li, line, linearGradient, link, listing, main, map, mark, marker, marquee, mask, menu, menuitem, meta, metadata, meter, mpath, multicol, nav, nextid, nobr, noembed, noframes, noscript, object, ol, optgroup, option, output, p, param, path, pattern, picture, plaintext, polygon, polyline, pre, progress, q, radialGradient, rb, rect, rp, rt, rtc, ruby, s, samp, script, section, select, set, slot, small, source, spacer, span, stop, strike, strong, style, sub, summary, sup, svg, switch_, symbol, table, tag, tbody, td, template, text, textPath, textarea, tfoot, th, thead, time, title, tr, track, tspan, tt, u, ul, use, var_, video, view, wbr, xmp }; | ||
export { ContentProp, DLightHTMLAttributes, DLightHTMLAttributesFunc, DLightHtmlTagFunc, Pretty, RemoveOptional, SubTyped, Typed, UnTyped, _, a, abbr, acronym, address, animate, animateMotion, animateTransform, applet, area, article, aside, audio, b, base, basefont, bdi, bdo, bgsound, big, blink, blockquote, body, br, button, canvas, caption, center, circle, cite, clipPath, code, col, colgroup, data, datalist, dd, defs, del, desc, details, dfn, dialog, dir, div, dl, dt, ellipse, em, embed, feBlend, feColorMatrix, feComponentTransfer, feComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feDistantLight, feDropShadow, feFlood, feFuncA, feFuncB, feFuncG, feFuncR, feGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset, fePointLight, feSpecularLighting, feSpotLight, feTile, feTurbulence, fieldset, figcaption, figure, filter, font, footer, foreignObject, form, frame, frameset, g, h1, h2, h3, h4, h5, h6, head, header, hgroup, hr, html, htmlTag, i, iframe, image, img, input, ins, isindex, kbd, keygen, label, legend, li, line, linearGradient, link, listing, main, map, mark, marker, marquee, mask, menu, menuitem, meta, metadata, meter, mpath, multicol, nav, nextid, nobr, noembed, noframes, noscript, object, ol, optgroup, option, output, p, param, path, pattern, picture, plaintext, polygon, polyline, pre, progress, q, radialGradient, rb, rect, rp, rt, rtc, ruby, s, samp, script, section, select, set, slot, small, source, spacer, span, stop, strike, strong, style, sub, summary, sup, svg, switch_, symbol, table, tag, tbody, td, template, text, textPath, textarea, tfoot, th, thead, time, title, tr, track, tspan, tt, u, ul, use, var_, video, view, wbr, xmp }; |
{ | ||
"name": "@dlightjs/types", | ||
"version": "0.9.30", | ||
"version": "0.10.0", | ||
"description": "DLight types helper", | ||
@@ -27,3 +27,3 @@ "author": { | ||
"csstype": "^3.1.1", | ||
"@dlightjs/dlight": "0.9.30" | ||
"@dlightjs/dlight": "0.10.0" | ||
}, | ||
@@ -30,0 +30,0 @@ "scripts": { |
74605
325
+ Added@dlightjs/dlight@0.10.0(transitive)
- Removed@dlightjs/dlight@0.9.30(transitive)
Updated@dlightjs/dlight@0.10.0