@tstdl/base 0.84.24 → 0.84.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/mail/templates/hello-name.d.ts +4 -1
- package/examples/mail/templates/hello-name.js +1 -1
- package/examples/template/templates/hello-jsx.d.ts +1 -1
- package/examples/template/templates/hello-name.d.ts +1 -1
- package/mail/models/mail-template.model.d.ts +9 -6
- package/package.json +1 -1
- package/templates/resolvers/jsx.template-resolver.d.ts +5 -5
- package/templates/resolvers/string.template-resolver.d.ts +5 -5
- package/templates/template.model.d.ts +11 -9
- package/templates/template.model.js +1 -3
- package/templates/tokens.d.ts +1 -1
|
@@ -31,6 +31,6 @@ function HelloMail({ name }) {
|
|
|
31
31
|
const template = (0, import_mail.mailTemplate)("hello-name", {
|
|
32
32
|
subject: (0, import_string_template_resolver.stringTemplateField)({ renderer: "handlebars", template: "Hello {{ name }} in subject!" }),
|
|
33
33
|
html: (0, import_jsx_template_resolver.jsxTemplateField)({ renderer: "mjml-jsx", template: HelloMail }),
|
|
34
|
-
text: (0, import_string_template_resolver.stringTemplateField)({ renderer: "
|
|
34
|
+
text: (0, import_string_template_resolver.stringTemplateField)({ renderer: "string", template: ({ name }) => `Hello ${name} in text!` })
|
|
35
35
|
});
|
|
36
36
|
var hello_name_default = template;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const template: import("../../../templates/template.model.js").Template<import("../../../types.js").Record<string, boolean>, any,
|
|
1
|
+
export declare const template: import("../../../templates/template.model.js").Template<import("../../../types.js").Record<string, boolean>, any, any>;
|
|
2
2
|
export default template;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const template: import("../../../templates/template.model.js").Template<import("../../../types.js").Record<string, boolean>, any,
|
|
1
|
+
declare const template: import("../../../templates/template.model.js").Template<import("../../../types.js").Record<string, boolean>, any, any>;
|
|
2
2
|
export default template;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { Template, TemplateField } from '../../templates/template.model.js';
|
|
2
|
-
|
|
2
|
+
import type { Record } from '../../types.js';
|
|
3
|
+
export type MailTemplate<Context extends Record = any> = Template<{
|
|
3
4
|
subject: false;
|
|
4
5
|
html: false;
|
|
5
6
|
text: false;
|
|
6
7
|
}, undefined, Context>;
|
|
7
|
-
|
|
8
|
-
subject?: TemplateField
|
|
9
|
-
html?: TemplateField
|
|
10
|
-
text?: TemplateField
|
|
11
|
-
}
|
|
8
|
+
type MailTemplateFields<Context extends Record> = {
|
|
9
|
+
subject?: TemplateField<string, string, any, Context>;
|
|
10
|
+
html?: TemplateField<string, string, any, Context>;
|
|
11
|
+
text?: TemplateField<string, string, any, Context>;
|
|
12
|
+
};
|
|
13
|
+
export declare function mailTemplate<Context extends Record>(name: string, fields: MailTemplateFields<Context>): MailTemplate<Context>;
|
|
14
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type { TypedOmit } from '../../types.js';
|
|
1
|
+
import type { Record, TypedOmit } from '../../types.js';
|
|
2
2
|
import type { ComponentClass, FunctionComponent } from 'preact';
|
|
3
3
|
import { TemplateField } from '../template.model.js';
|
|
4
4
|
import type { TemplateRenderer, TemplateRendererOptions, TemplateRendererString } from '../template.renderer.js';
|
|
5
5
|
import { TemplateResolver } from '../template.resolver.js';
|
|
6
|
-
export type JsxTemplate = FunctionComponent<
|
|
7
|
-
export declare class JsxTemplateField<Renderer extends string = string, Options = any> extends TemplateField<'string', Renderer, Options> {
|
|
8
|
-
template: JsxTemplate
|
|
6
|
+
export type JsxTemplate<Context extends Record = any> = FunctionComponent<Context> | ComponentClass<Context, any>;
|
|
7
|
+
export declare class JsxTemplateField<Renderer extends string = string, Options = any, Context extends Record = any> extends TemplateField<'string', Renderer, Options, Context> {
|
|
8
|
+
template: JsxTemplate<Context>;
|
|
9
9
|
}
|
|
10
10
|
export declare class JsxTemplateResolver extends TemplateResolver<JsxTemplateField, JsxTemplate> {
|
|
11
11
|
constructor();
|
|
12
12
|
canHandle(resolver: string): boolean;
|
|
13
13
|
resolve(field: JsxTemplateField): JsxTemplate;
|
|
14
14
|
}
|
|
15
|
-
export declare function jsxTemplateField<Renderer extends TemplateRenderer>(field: TypedOmit<JsxTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>, 'resolver'>): JsxTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>;
|
|
15
|
+
export declare function jsxTemplateField<Renderer extends TemplateRenderer, Context extends Record = any>(field: TypedOmit<JsxTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions], Context>, 'resolver'>): JsxTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions], Context>;
|
|
@@ -2,13 +2,13 @@ import type { Record, TypedOmit } from '../../types.js';
|
|
|
2
2
|
import { TemplateField } from '../template.model.js';
|
|
3
3
|
import type { TemplateRenderer, TemplateRendererOptions, TemplateRendererString } from '../template.renderer.js';
|
|
4
4
|
import { TemplateResolver } from '../template.resolver.js';
|
|
5
|
-
export type StringTemplate = string | ((context:
|
|
6
|
-
export declare class StringTemplateField<Renderer extends string = string, Options = any> extends TemplateField<'string', Renderer, Options> {
|
|
7
|
-
template: StringTemplate
|
|
5
|
+
export type StringTemplate<Context extends Record = any> = string | ((context: Context) => string | Promise<string>);
|
|
6
|
+
export declare class StringTemplateField<Renderer extends string = string, Options = any, Context extends Record = any> extends TemplateField<'string', Renderer, Options, Context> {
|
|
7
|
+
template: StringTemplate<Context>;
|
|
8
8
|
}
|
|
9
9
|
export declare class StringTemplateResolver extends TemplateResolver<StringTemplateField> {
|
|
10
10
|
constructor();
|
|
11
11
|
canHandle(resolver: string): boolean;
|
|
12
|
-
resolve(field: StringTemplateField): StringTemplate
|
|
12
|
+
resolve(field: StringTemplateField): StringTemplate<Record>;
|
|
13
13
|
}
|
|
14
|
-
export declare function stringTemplateField<Renderer extends TemplateRenderer>(field: TypedOmit<StringTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>, 'resolver'>): StringTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>;
|
|
14
|
+
export declare function stringTemplateField<Renderer extends TemplateRenderer, Context extends Record = any>(field: TypedOmit<StringTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions], Context>, 'resolver'>): StringTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions], Context>;
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import type { PickBy, Record, SimplifyObject } from '../types.js';
|
|
2
|
-
export type TemplateContext<T extends Template> = T[typeof templateContext];
|
|
3
|
-
|
|
4
|
-
export declare class TemplateField<Resolver extends string = string, Renderer extends string = string, Options = any> {
|
|
2
|
+
export type TemplateContext<T extends Template> = Parameters<NonNullable<T[typeof templateContext]>>[0];
|
|
3
|
+
declare const templateContext: unique symbol;
|
|
4
|
+
export declare class TemplateField<Resolver extends string = string, Renderer extends string = string, Options = any, Context extends Record = any> {
|
|
5
|
+
readonly [templateContext]?: (context: Context) => void;
|
|
5
6
|
resolver: Resolver;
|
|
6
7
|
renderer: Renderer;
|
|
7
8
|
options?: Options;
|
|
8
9
|
}
|
|
9
|
-
export type TemplateFields<Fields extends Record<string, boolean>, Resolver extends string = string, Renderer extends string = string, Options = any> = SimplifyObject<{
|
|
10
|
-
[P in keyof PickBy<Fields, true>]: TemplateField<Resolver, Renderer, Options>;
|
|
10
|
+
export type TemplateFields<Fields extends Record<string, boolean>, Resolver extends string = string, Renderer extends string = string, Options = any, Context extends Record = any> = SimplifyObject<{
|
|
11
|
+
[P in keyof PickBy<Fields, true>]: TemplateField<Resolver, Renderer, Options, Context>;
|
|
11
12
|
} & {
|
|
12
|
-
[P in keyof PickBy<Fields, false>]?: TemplateField<Resolver, Renderer, Options>;
|
|
13
|
+
[P in keyof PickBy<Fields, false>]?: TemplateField<Resolver, Renderer, Options, Context>;
|
|
13
14
|
}>;
|
|
14
|
-
export declare abstract class Template<Fields extends Record<string, boolean> = Record<string, boolean>, TemplateOptions = any, Context extends Record =
|
|
15
|
-
readonly [templateContext]?: Context;
|
|
15
|
+
export declare abstract class Template<Fields extends Record<string, boolean> = Record<string, boolean>, TemplateOptions = any, Context extends Record = any> {
|
|
16
|
+
readonly [templateContext]?: (context: Context) => void;
|
|
16
17
|
/** name of template */
|
|
17
18
|
name: string;
|
|
18
|
-
fields: TemplateFields<Fields>;
|
|
19
|
+
fields: TemplateFields<Fields, string, string, any, Context>;
|
|
19
20
|
options?: TemplateOptions;
|
|
20
21
|
}
|
|
21
22
|
export declare function simpleTemplate(name: string, template: TemplateField): Template;
|
|
23
|
+
export {};
|
|
@@ -20,8 +20,7 @@ var template_model_exports = {};
|
|
|
20
20
|
__export(template_model_exports, {
|
|
21
21
|
Template: () => Template,
|
|
22
22
|
TemplateField: () => TemplateField,
|
|
23
|
-
simpleTemplate: () => simpleTemplate
|
|
24
|
-
templateContext: () => templateContext
|
|
23
|
+
simpleTemplate: () => simpleTemplate
|
|
25
24
|
});
|
|
26
25
|
module.exports = __toCommonJS(template_model_exports);
|
|
27
26
|
var import_schema = require("../schema/index.js");
|
|
@@ -39,7 +38,6 @@ var __metadata = function(k, v) {
|
|
|
39
38
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
40
39
|
return Reflect.metadata(k, v);
|
|
41
40
|
};
|
|
42
|
-
const templateContext = Symbol("templateData");
|
|
43
41
|
let TemplateField = class TemplateField2 {
|
|
44
42
|
resolver;
|
|
45
43
|
renderer;
|
package/templates/tokens.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { TemplateRenderer } from './template.renderer.js';
|
|
2
2
|
import type { TemplateResolver } from './template.resolver.js';
|
|
3
3
|
export declare const TEMPLATE_RENDERERS: import("../container/index.js").InjectionToken<TemplateRenderer<string, any>[], any>;
|
|
4
|
-
export declare const TEMPLATE_RESOLVERS: import("../container/index.js").InjectionToken<TemplateResolver<import("./template.model.js").TemplateField<string, string, any>, unknown>[], any>;
|
|
4
|
+
export declare const TEMPLATE_RESOLVERS: import("../container/index.js").InjectionToken<TemplateResolver<import("./template.model.js").TemplateField<string, string, any, any>, unknown>[], any>;
|