@terminalfour/terminalfour-js 1.0.0-rc.1
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/LICENSE.md +106 -0
- package/README.md +169 -0
- package/dist/cjs/element-resolver.d.ts +115 -0
- package/dist/cjs/element-resolver.d.ts.map +1 -0
- package/dist/cjs/element-resolver.js +391 -0
- package/dist/cjs/element-resolver.js.map +1 -0
- package/dist/cjs/errors.d.ts +21 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +21 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/handlebars.d.ts +123 -0
- package/dist/cjs/handlebars.d.ts.map +1 -0
- package/dist/cjs/handlebars.js +306 -0
- package/dist/cjs/handlebars.js.map +1 -0
- package/dist/cjs/http-client.d.ts +21 -0
- package/dist/cjs/http-client.d.ts.map +1 -0
- package/dist/cjs/http-client.js +126 -0
- package/dist/cjs/http-client.js.map +1 -0
- package/dist/cjs/index.d.ts +37 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/media-category-ref.d.ts +78 -0
- package/dist/cjs/media-category-ref.d.ts.map +1 -0
- package/dist/cjs/media-category-ref.js +184 -0
- package/dist/cjs/media-category-ref.js.map +1 -0
- package/dist/cjs/media-library.d.ts +30 -0
- package/dist/cjs/media-library.d.ts.map +1 -0
- package/dist/cjs/media-library.js +77 -0
- package/dist/cjs/media-library.js.map +1 -0
- package/dist/cjs/models/content-item.d.ts +80 -0
- package/dist/cjs/models/content-item.d.ts.map +1 -0
- package/dist/cjs/models/content-item.js +682 -0
- package/dist/cjs/models/content-item.js.map +1 -0
- package/dist/cjs/models/media-category-item.d.ts +29 -0
- package/dist/cjs/models/media-category-item.d.ts.map +1 -0
- package/dist/cjs/models/media-category-item.js +33 -0
- package/dist/cjs/models/media-category-item.js.map +1 -0
- package/dist/cjs/models/media-item.d.ts +74 -0
- package/dist/cjs/models/media-item.d.ts.map +1 -0
- package/dist/cjs/models/media-item.js +188 -0
- package/dist/cjs/models/media-item.js.map +1 -0
- package/dist/cjs/models/section-item.d.ts +58 -0
- package/dist/cjs/models/section-item.d.ts.map +1 -0
- package/dist/cjs/models/section-item.js +166 -0
- package/dist/cjs/models/section-item.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/resources/channel-resource.d.ts +112 -0
- package/dist/cjs/resources/channel-resource.d.ts.map +1 -0
- package/dist/cjs/resources/channel-resource.js +107 -0
- package/dist/cjs/resources/channel-resource.js.map +1 -0
- package/dist/cjs/resources/content-resource.d.ts +50 -0
- package/dist/cjs/resources/content-resource.d.ts.map +1 -0
- package/dist/cjs/resources/content-resource.js +286 -0
- package/dist/cjs/resources/content-resource.js.map +1 -0
- package/dist/cjs/resources/content-type-resource.d.ts +283 -0
- package/dist/cjs/resources/content-type-resource.d.ts.map +1 -0
- package/dist/cjs/resources/content-type-resource.js +970 -0
- package/dist/cjs/resources/content-type-resource.js.map +1 -0
- package/dist/cjs/resources/group-resource.d.ts +96 -0
- package/dist/cjs/resources/group-resource.d.ts.map +1 -0
- package/dist/cjs/resources/group-resource.js +213 -0
- package/dist/cjs/resources/group-resource.js.map +1 -0
- package/dist/cjs/resources/list-resource.d.ts +111 -0
- package/dist/cjs/resources/list-resource.d.ts.map +1 -0
- package/dist/cjs/resources/list-resource.js +179 -0
- package/dist/cjs/resources/list-resource.js.map +1 -0
- package/dist/cjs/resources/media-resource.d.ts +69 -0
- package/dist/cjs/resources/media-resource.d.ts.map +1 -0
- package/dist/cjs/resources/media-resource.js +210 -0
- package/dist/cjs/resources/media-resource.js.map +1 -0
- package/dist/cjs/resources/media-type-resource.d.ts +70 -0
- package/dist/cjs/resources/media-type-resource.d.ts.map +1 -0
- package/dist/cjs/resources/media-type-resource.js +195 -0
- package/dist/cjs/resources/media-type-resource.js.map +1 -0
- package/dist/cjs/resources/navigation-resource.d.ts +664 -0
- package/dist/cjs/resources/navigation-resource.d.ts.map +1 -0
- package/dist/cjs/resources/navigation-resource.js +2349 -0
- package/dist/cjs/resources/navigation-resource.js.map +1 -0
- package/dist/cjs/resources/page-layout-resource.d.ts +83 -0
- package/dist/cjs/resources/page-layout-resource.d.ts.map +1 -0
- package/dist/cjs/resources/page-layout-resource.js +214 -0
- package/dist/cjs/resources/page-layout-resource.js.map +1 -0
- package/dist/cjs/resources/user-resource.d.ts +126 -0
- package/dist/cjs/resources/user-resource.d.ts.map +1 -0
- package/dist/cjs/resources/user-resource.js +317 -0
- package/dist/cjs/resources/user-resource.js.map +1 -0
- package/dist/cjs/section-ref.d.ts +185 -0
- package/dist/cjs/section-ref.d.ts.map +1 -0
- package/dist/cjs/section-ref.js +813 -0
- package/dist/cjs/section-ref.js.map +1 -0
- package/dist/cjs/site-structure.d.ts +18 -0
- package/dist/cjs/site-structure.d.ts.map +1 -0
- package/dist/cjs/site-structure.js +57 -0
- package/dist/cjs/site-structure.js.map +1 -0
- package/dist/cjs/t4-client.d.ts +121 -0
- package/dist/cjs/t4-client.d.ts.map +1 -0
- package/dist/cjs/t4-client.js +190 -0
- package/dist/cjs/t4-client.js.map +1 -0
- package/dist/cjs/type-registry.d.ts +31 -0
- package/dist/cjs/type-registry.d.ts.map +1 -0
- package/dist/cjs/type-registry.js +76 -0
- package/dist/cjs/type-registry.js.map +1 -0
- package/dist/cjs/types.d.ts +211 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils.d.ts +147 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +408 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/element-resolver.d.ts +115 -0
- package/dist/esm/element-resolver.d.ts.map +1 -0
- package/dist/esm/element-resolver.js +387 -0
- package/dist/esm/element-resolver.js.map +1 -0
- package/dist/esm/errors.d.ts +21 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +17 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/handlebars.d.ts +123 -0
- package/dist/esm/handlebars.d.ts.map +1 -0
- package/dist/esm/handlebars.js +300 -0
- package/dist/esm/handlebars.js.map +1 -0
- package/dist/esm/http-client.d.ts +21 -0
- package/dist/esm/http-client.d.ts.map +1 -0
- package/dist/esm/http-client.js +122 -0
- package/dist/esm/http-client.js.map +1 -0
- package/dist/esm/index.d.ts +37 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/media-category-ref.d.ts +78 -0
- package/dist/esm/media-category-ref.d.ts.map +1 -0
- package/dist/esm/media-category-ref.js +180 -0
- package/dist/esm/media-category-ref.js.map +1 -0
- package/dist/esm/media-library.d.ts +30 -0
- package/dist/esm/media-library.d.ts.map +1 -0
- package/dist/esm/media-library.js +73 -0
- package/dist/esm/media-library.js.map +1 -0
- package/dist/esm/models/content-item.d.ts +80 -0
- package/dist/esm/models/content-item.d.ts.map +1 -0
- package/dist/esm/models/content-item.js +676 -0
- package/dist/esm/models/content-item.js.map +1 -0
- package/dist/esm/models/media-category-item.d.ts +29 -0
- package/dist/esm/models/media-category-item.d.ts.map +1 -0
- package/dist/esm/models/media-category-item.js +29 -0
- package/dist/esm/models/media-category-item.js.map +1 -0
- package/dist/esm/models/media-item.d.ts +74 -0
- package/dist/esm/models/media-item.d.ts.map +1 -0
- package/dist/esm/models/media-item.js +184 -0
- package/dist/esm/models/media-item.js.map +1 -0
- package/dist/esm/models/section-item.d.ts +58 -0
- package/dist/esm/models/section-item.d.ts.map +1 -0
- package/dist/esm/models/section-item.js +162 -0
- package/dist/esm/models/section-item.js.map +1 -0
- package/dist/esm/resources/channel-resource.d.ts +112 -0
- package/dist/esm/resources/channel-resource.d.ts.map +1 -0
- package/dist/esm/resources/channel-resource.js +102 -0
- package/dist/esm/resources/channel-resource.js.map +1 -0
- package/dist/esm/resources/content-resource.d.ts +50 -0
- package/dist/esm/resources/content-resource.d.ts.map +1 -0
- package/dist/esm/resources/content-resource.js +282 -0
- package/dist/esm/resources/content-resource.js.map +1 -0
- package/dist/esm/resources/content-type-resource.d.ts +283 -0
- package/dist/esm/resources/content-type-resource.d.ts.map +1 -0
- package/dist/esm/resources/content-type-resource.js +964 -0
- package/dist/esm/resources/content-type-resource.js.map +1 -0
- package/dist/esm/resources/group-resource.d.ts +96 -0
- package/dist/esm/resources/group-resource.d.ts.map +1 -0
- package/dist/esm/resources/group-resource.js +208 -0
- package/dist/esm/resources/group-resource.js.map +1 -0
- package/dist/esm/resources/list-resource.d.ts +111 -0
- package/dist/esm/resources/list-resource.d.ts.map +1 -0
- package/dist/esm/resources/list-resource.js +174 -0
- package/dist/esm/resources/list-resource.js.map +1 -0
- package/dist/esm/resources/media-resource.d.ts +69 -0
- package/dist/esm/resources/media-resource.d.ts.map +1 -0
- package/dist/esm/resources/media-resource.js +206 -0
- package/dist/esm/resources/media-resource.js.map +1 -0
- package/dist/esm/resources/media-type-resource.d.ts +70 -0
- package/dist/esm/resources/media-type-resource.d.ts.map +1 -0
- package/dist/esm/resources/media-type-resource.js +190 -0
- package/dist/esm/resources/media-type-resource.js.map +1 -0
- package/dist/esm/resources/navigation-resource.d.ts +664 -0
- package/dist/esm/resources/navigation-resource.d.ts.map +1 -0
- package/dist/esm/resources/navigation-resource.js +2344 -0
- package/dist/esm/resources/navigation-resource.js.map +1 -0
- package/dist/esm/resources/page-layout-resource.d.ts +83 -0
- package/dist/esm/resources/page-layout-resource.d.ts.map +1 -0
- package/dist/esm/resources/page-layout-resource.js +209 -0
- package/dist/esm/resources/page-layout-resource.js.map +1 -0
- package/dist/esm/resources/user-resource.d.ts +126 -0
- package/dist/esm/resources/user-resource.d.ts.map +1 -0
- package/dist/esm/resources/user-resource.js +312 -0
- package/dist/esm/resources/user-resource.js.map +1 -0
- package/dist/esm/section-ref.d.ts +185 -0
- package/dist/esm/section-ref.d.ts.map +1 -0
- package/dist/esm/section-ref.js +808 -0
- package/dist/esm/section-ref.js.map +1 -0
- package/dist/esm/site-structure.d.ts +18 -0
- package/dist/esm/site-structure.d.ts.map +1 -0
- package/dist/esm/site-structure.js +53 -0
- package/dist/esm/site-structure.js.map +1 -0
- package/dist/esm/t4-client.d.ts +121 -0
- package/dist/esm/t4-client.d.ts.map +1 -0
- package/dist/esm/t4-client.js +186 -0
- package/dist/esm/t4-client.js.map +1 -0
- package/dist/esm/type-registry.d.ts +31 -0
- package/dist/esm/type-registry.d.ts.map +1 -0
- package/dist/esm/type-registry.js +72 -0
- package/dist/esm/type-registry.js.map +1 -0
- package/dist/esm/types.d.ts +211 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils.d.ts +147 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +355 -0
- package/dist/esm/utils.js.map +1 -0
- package/docs/channels.md +62 -0
- package/docs/content-types.md +313 -0
- package/docs/content.md +199 -0
- package/docs/error-handling.md +86 -0
- package/docs/getting-started.md +146 -0
- package/docs/groups-and-users.md +167 -0
- package/docs/handlebars.md +145 -0
- package/docs/lists.md +98 -0
- package/docs/media-types.md +111 -0
- package/docs/media.md +169 -0
- package/docs/navigation/a-to-z.md +62 -0
- package/docs/navigation/breadcrumbs.md +67 -0
- package/docs/navigation/css-selector.md +53 -0
- package/docs/navigation/generate-file.md +48 -0
- package/docs/navigation/keyword-search.md +134 -0
- package/docs/navigation/language-switcher.md +37 -0
- package/docs/navigation/link-menu.md +105 -0
- package/docs/navigation/pagination.md +80 -0
- package/docs/navigation/previous-next-fulltext.md +43 -0
- package/docs/navigation/publish-to-one-file.md +93 -0
- package/docs/navigation/related-content.md +79 -0
- package/docs/navigation/related-section-branch.md +31 -0
- package/docs/navigation/return-to-index.md +35 -0
- package/docs/navigation/section-details.md +51 -0
- package/docs/navigation/section-iterator.md +33 -0
- package/docs/navigation/section-meta-info.md +39 -0
- package/docs/navigation/site-map.md +58 -0
- package/docs/navigation/top-content.md +80 -0
- package/docs/navigation/top-stories.md +47 -0
- package/docs/navigation.md +134 -0
- package/docs/page-layouts.md +71 -0
- package/docs/sections.md +224 -0
- package/docs/typescript.md +124 -0
- package/package.json +64 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/** Configuration for the T4Client */
|
|
2
|
+
export interface T4ClientConfig {
|
|
3
|
+
/**
|
|
4
|
+
* Base URL of the T4 REST API, e.g. `https://mysite.edu/terminalfour/rs`.
|
|
5
|
+
* Trailing slashes are stripped. Must be an absolute http/https URL —
|
|
6
|
+
* https is strongly recommended because the API token is sent as a header.
|
|
7
|
+
*/
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
apiToken: string;
|
|
10
|
+
language?: string;
|
|
11
|
+
/** Maximum number of concurrent HTTP requests. Defaults to 10. */
|
|
12
|
+
concurrency?: number;
|
|
13
|
+
}
|
|
14
|
+
/** Optional language override for per-call language selection */
|
|
15
|
+
export interface LanguageOption {
|
|
16
|
+
language?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Raw content data transfer object from the T4 API */
|
|
19
|
+
export interface ContentDTO {
|
|
20
|
+
id: number;
|
|
21
|
+
contentTypeID: number;
|
|
22
|
+
name: string;
|
|
23
|
+
language: string;
|
|
24
|
+
status: number;
|
|
25
|
+
elements: Record<string, unknown>;
|
|
26
|
+
version: number;
|
|
27
|
+
owner: {
|
|
28
|
+
id: number;
|
|
29
|
+
type: string;
|
|
30
|
+
};
|
|
31
|
+
channels: number[];
|
|
32
|
+
sectionIDs?: number[];
|
|
33
|
+
archiveSection?: number | null;
|
|
34
|
+
lastModified?: number;
|
|
35
|
+
lastModifiedBy?: number;
|
|
36
|
+
lastModifierName?: string;
|
|
37
|
+
publishDate?: number;
|
|
38
|
+
expiryDate?: number;
|
|
39
|
+
reviewDate?: number;
|
|
40
|
+
}
|
|
41
|
+
/** Raw section shape from the T4 API */
|
|
42
|
+
export interface ApiSectionDTO {
|
|
43
|
+
id: number;
|
|
44
|
+
name: string;
|
|
45
|
+
parent: number | null;
|
|
46
|
+
show?: boolean;
|
|
47
|
+
status?: number;
|
|
48
|
+
path?: string;
|
|
49
|
+
pathMembers?: number[];
|
|
50
|
+
lastModified?: number;
|
|
51
|
+
'output-uri'?: string;
|
|
52
|
+
'file-name'?: string;
|
|
53
|
+
archive?: boolean;
|
|
54
|
+
channels?: Array<{
|
|
55
|
+
id: number;
|
|
56
|
+
pageLayout: number;
|
|
57
|
+
inheritedPageLayout: number;
|
|
58
|
+
}>;
|
|
59
|
+
inheritedPageLayouts?: Record<string, number>;
|
|
60
|
+
accessControl?: {
|
|
61
|
+
id: number;
|
|
62
|
+
type: number;
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
active: boolean;
|
|
65
|
+
};
|
|
66
|
+
metaData?: {
|
|
67
|
+
id: number;
|
|
68
|
+
type: number;
|
|
69
|
+
enabled: boolean;
|
|
70
|
+
active: boolean;
|
|
71
|
+
};
|
|
72
|
+
metaDatas?: Array<{
|
|
73
|
+
id: number;
|
|
74
|
+
value: string;
|
|
75
|
+
lang: string;
|
|
76
|
+
}>;
|
|
77
|
+
userIDs?: number[];
|
|
78
|
+
inheritedUserIDs?: number[];
|
|
79
|
+
groupIDs?: number[];
|
|
80
|
+
inheritedGroupIDs?: number[];
|
|
81
|
+
contentTypeScopes?: Array<{
|
|
82
|
+
id: number;
|
|
83
|
+
scope: number;
|
|
84
|
+
inherited: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
[key: string]: unknown;
|
|
87
|
+
}
|
|
88
|
+
/** Content type definition */
|
|
89
|
+
export interface ContentTypeData {
|
|
90
|
+
id: number;
|
|
91
|
+
name: string;
|
|
92
|
+
description: string;
|
|
93
|
+
minUserLevel: string;
|
|
94
|
+
workflow: number;
|
|
95
|
+
sharedGroups: number[];
|
|
96
|
+
primaryGroup: number;
|
|
97
|
+
directEdit: boolean;
|
|
98
|
+
fields: Record<string, ContentTypeFieldDef>;
|
|
99
|
+
}
|
|
100
|
+
/** Field definition within a content type */
|
|
101
|
+
export interface ContentTypeFieldDef {
|
|
102
|
+
name: string;
|
|
103
|
+
description: string;
|
|
104
|
+
type: string;
|
|
105
|
+
required: boolean;
|
|
106
|
+
maxSize: number;
|
|
107
|
+
listId: number;
|
|
108
|
+
listName: string;
|
|
109
|
+
shown: boolean;
|
|
110
|
+
useAsFilename: boolean;
|
|
111
|
+
/** HTML editor name. Only present on HTML elements with an explicit editor configured. Set to `null` to remove. */
|
|
112
|
+
editor?: string | null;
|
|
113
|
+
config?: {
|
|
114
|
+
contentTypeId: number;
|
|
115
|
+
contentTypeName: string;
|
|
116
|
+
contentTypeDescription: string;
|
|
117
|
+
layout: string;
|
|
118
|
+
minRepeats: number;
|
|
119
|
+
maxRepeats: number;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/** A node in the site hierarchy tree */
|
|
123
|
+
export interface HierarchyNode {
|
|
124
|
+
id: number;
|
|
125
|
+
name: string;
|
|
126
|
+
parentId: number | null;
|
|
127
|
+
children?: HierarchyNode[];
|
|
128
|
+
}
|
|
129
|
+
/** Options for retrieving the hierarchy tree */
|
|
130
|
+
export interface GetTreeOptions extends LanguageOption {
|
|
131
|
+
depth?: number;
|
|
132
|
+
}
|
|
133
|
+
/** Data required to add a new section */
|
|
134
|
+
export interface AddSectionData {
|
|
135
|
+
name: string;
|
|
136
|
+
parentId: number;
|
|
137
|
+
/** Whether the section appears in navigation on the published site. Defaults to true. */
|
|
138
|
+
show?: boolean;
|
|
139
|
+
/** Section status: 'approved' | 'pending' | 'inactive'. Defaults to 'approved'. */
|
|
140
|
+
status?: 'approved' | 'pending' | 'inactive';
|
|
141
|
+
/** Optional custom fields for the section (e.g. { Title: "My Section Title" }). */
|
|
142
|
+
customFields?: Record<string, unknown>;
|
|
143
|
+
}
|
|
144
|
+
/** A channel associated with a section (lightweight — just id and name) */
|
|
145
|
+
export interface SectionChannel {
|
|
146
|
+
id: number;
|
|
147
|
+
name: string;
|
|
148
|
+
}
|
|
149
|
+
/** Owner information for a section or content item */
|
|
150
|
+
export interface Owner {
|
|
151
|
+
id: number;
|
|
152
|
+
/** User level: 'admin', 'power-user', 'moderator', 'contributor', or 'visitor' */
|
|
153
|
+
type: string;
|
|
154
|
+
username: string;
|
|
155
|
+
firstName: string;
|
|
156
|
+
lastName: string;
|
|
157
|
+
emailAddress: string;
|
|
158
|
+
}
|
|
159
|
+
/** Accepted date input: Date object, timestamp in ms, or date string */
|
|
160
|
+
export type DateInput = Date | number | string;
|
|
161
|
+
/** Data required to create new content */
|
|
162
|
+
export interface CreateContentData {
|
|
163
|
+
type: number;
|
|
164
|
+
name: string;
|
|
165
|
+
fields: Record<string, unknown>;
|
|
166
|
+
/** Content status: 'draft' | 'pending' | 'approved' | 'inactive'. Defaults to 'pending'. */
|
|
167
|
+
status?: 'draft' | 'pending' | 'approved' | 'inactive';
|
|
168
|
+
/** Publish date. Accepts Date, timestamp (ms), or date string. */
|
|
169
|
+
publishDate?: DateInput;
|
|
170
|
+
/** Expiry date. Accepts Date, timestamp (ms), or date string. */
|
|
171
|
+
expiryDate?: DateInput;
|
|
172
|
+
/** Review date. Accepts Date, timestamp (ms), or date string. */
|
|
173
|
+
reviewDate?: DateInput;
|
|
174
|
+
/** Section ID where expired content is archived. */
|
|
175
|
+
archiveSection?: number;
|
|
176
|
+
/** Content owner user ID. Defaults to 0 (current user). */
|
|
177
|
+
owner?: number;
|
|
178
|
+
}
|
|
179
|
+
/** Data required to update existing content */
|
|
180
|
+
export interface UpdateContentData {
|
|
181
|
+
/** Updated content name. If omitted, keeps existing name. */
|
|
182
|
+
name?: string;
|
|
183
|
+
/** Updated fields. Only fields provided are changed; others keep existing values. */
|
|
184
|
+
fields?: Record<string, unknown>;
|
|
185
|
+
/** Updated status. If omitted, defaults to 'pending'. */
|
|
186
|
+
status?: 'draft' | 'pending' | 'approved' | 'inactive';
|
|
187
|
+
/** Publish date. Accepts Date, timestamp (ms), or date string. Pass null to clear. */
|
|
188
|
+
publishDate?: DateInput | null;
|
|
189
|
+
/** Expiry date. Accepts Date, timestamp (ms), or date string. Pass null to clear. */
|
|
190
|
+
expiryDate?: DateInput | null;
|
|
191
|
+
/** Review date. Accepts Date, timestamp (ms), or date string. Pass null to clear. */
|
|
192
|
+
reviewDate?: DateInput | null;
|
|
193
|
+
/** Section ID where expired content is archived. Pass null to clear. */
|
|
194
|
+
archiveSection?: number | null;
|
|
195
|
+
/** Content owner user ID. */
|
|
196
|
+
owner?: number;
|
|
197
|
+
}
|
|
198
|
+
/** Data required to move content to another section */
|
|
199
|
+
export interface MoveContentData {
|
|
200
|
+
sectionId: number;
|
|
201
|
+
}
|
|
202
|
+
/** Options for an HTTP request made by the internal HttpClient */
|
|
203
|
+
export interface HttpRequestOptions {
|
|
204
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'MOVE' | 'APPROVE' | 'COPY';
|
|
205
|
+
path: string;
|
|
206
|
+
body?: unknown;
|
|
207
|
+
headers?: Record<string, string>;
|
|
208
|
+
multipart?: boolean;
|
|
209
|
+
formData?: FormData;
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the effective language for an API request.
|
|
3
|
+
*
|
|
4
|
+
* Resolution order:
|
|
5
|
+
* 1. Explicit per-call override
|
|
6
|
+
* 2. Client-level default language
|
|
7
|
+
* 3. Hardcoded fallback "en"
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveLanguage(override?: string, defaultLang?: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Converts a DateInput (Date, timestamp in ms, or date string) to a
|
|
12
|
+
* millisecond timestamp suitable for the T4 API.
|
|
13
|
+
* Returns null if the input is null or undefined.
|
|
14
|
+
*/
|
|
15
|
+
export declare function toTimestamp(value: Date | number | string | null | undefined): number | null;
|
|
16
|
+
/**
|
|
17
|
+
* Decodes HTML entities in a string.
|
|
18
|
+
* Handles named entities (&, », etc.) and numeric/hex entities (/, ').
|
|
19
|
+
*/
|
|
20
|
+
export declare function decodeHtmlEntities(str: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Formats a byte count into a human-readable string.
|
|
23
|
+
* Examples: "0 B", "512 B", "15.0 KB", "5.0 MB"
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatFileSize(bytes: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Parses a human-readable file size string into bytes.
|
|
28
|
+
* Accepts: '2 KB', '5.0 MB', '512 B', '1024', etc.
|
|
29
|
+
* Returns 0 for invalid/unparseable input.
|
|
30
|
+
*/
|
|
31
|
+
export declare function parseFileSize(input: string | number | null | undefined): number;
|
|
32
|
+
/**
|
|
33
|
+
* Parses a T4 element key like "Title#2:1" into its parts.
|
|
34
|
+
* Returns null if the key doesn't match the expected format.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseElementKey(key: string): {
|
|
37
|
+
name: string;
|
|
38
|
+
elementId: number;
|
|
39
|
+
type: number;
|
|
40
|
+
} | null;
|
|
41
|
+
/**
|
|
42
|
+
* Maps T4 status codes to friendly strings.
|
|
43
|
+
* Sections use 0–2; content and media also use 3 (draft).
|
|
44
|
+
*/
|
|
45
|
+
export declare const STATUS_MAP: Record<number, string>;
|
|
46
|
+
/**
|
|
47
|
+
* Converts a numeric T4 status code to a friendly string.
|
|
48
|
+
*/
|
|
49
|
+
export declare function mapStatus(code: number): string;
|
|
50
|
+
/**
|
|
51
|
+
* Maps friendly status strings to T4 numeric status codes.
|
|
52
|
+
* Sections use 0–2; content also uses 3 (draft).
|
|
53
|
+
*/
|
|
54
|
+
export declare const STATUS_CODES: Record<string, number>;
|
|
55
|
+
/**
|
|
56
|
+
* Maps T4 auth level codes to friendly user level strings.
|
|
57
|
+
*/
|
|
58
|
+
export declare const AUTH_LEVEL_MAP: Record<number, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Maps friendly user level strings to T4 auth level codes.
|
|
61
|
+
*/
|
|
62
|
+
export declare const AUTH_LEVEL_REVERSE: Record<string, number>;
|
|
63
|
+
/**
|
|
64
|
+
* Recursively flattens a hierarchical group tree into a flat Map of id → name.
|
|
65
|
+
*/
|
|
66
|
+
export declare function flattenGroups(groups: Array<{
|
|
67
|
+
id: number;
|
|
68
|
+
name: string;
|
|
69
|
+
groupChildren?: unknown[];
|
|
70
|
+
}>, map?: Map<number, string>): Map<number, string>;
|
|
71
|
+
/** Accepted file input: a file path, URL, Blob, ReadableStream, or { file, filename } object */
|
|
72
|
+
export type FileInput = string | Blob | NodeJS.ReadableStream | {
|
|
73
|
+
file: string | Blob | NodeJS.ReadableStream;
|
|
74
|
+
filename?: string;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Resolves a file input (path, URL, Blob, or ReadableStream) to a Blob.
|
|
78
|
+
*/
|
|
79
|
+
export declare function resolveFileToBlob(file: string | Blob | NodeJS.ReadableStream): Promise<Blob>;
|
|
80
|
+
/**
|
|
81
|
+
* Derives a filename from a file input (path, URL, Blob, ReadableStream, or { file, filename }).
|
|
82
|
+
*/
|
|
83
|
+
export declare function deriveFilename(input: FileInput): string;
|
|
84
|
+
/**
|
|
85
|
+
* Logs a warning message when T4_DEBUG=1 is set.
|
|
86
|
+
* Used for graceful degradation paths where errors are caught and fallback
|
|
87
|
+
* values are returned — the warning makes these visible during debugging.
|
|
88
|
+
*/
|
|
89
|
+
export declare function debugWarn(message: string, error?: unknown): void;
|
|
90
|
+
/**
|
|
91
|
+
* Throws when running in a browser.
|
|
92
|
+
*
|
|
93
|
+
* The T4 API token is a full-privilege credential sent on every request. Bundling
|
|
94
|
+
* it into front-end code exposes it to anyone who opens devtools, so the SDK fails
|
|
95
|
+
* loudly at construction time — during development, when it's cheapest to fix —
|
|
96
|
+
* rather than silently shipping a leaked credential to production.
|
|
97
|
+
*
|
|
98
|
+
* There is no override. Detection deliberately requires both `window` and
|
|
99
|
+
* `window.document`, so genuine server-side runtimes without a DOM (Node, Deno,
|
|
100
|
+
* Bun, Cloudflare Workers) are unaffected.
|
|
101
|
+
*/
|
|
102
|
+
export declare function assertNotBrowser(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Validates and normalises a base URL.
|
|
105
|
+
*
|
|
106
|
+
* - Throws if the value isn't a parseable absolute URL or doesn't use http/https.
|
|
107
|
+
* - Warns when the scheme is `http:`, because every request sends the API token
|
|
108
|
+
* in an `Authorization` header and plain HTTP transmits it in cleartext.
|
|
109
|
+
* - Strips trailing slashes so `baseUrl + path` never produces a double slash.
|
|
110
|
+
*/
|
|
111
|
+
export declare function normaliseBaseUrl(baseUrl: string): string;
|
|
112
|
+
/** Default cache TTL in milliseconds (5 minutes) */
|
|
113
|
+
export declare const DEFAULT_CACHE_TTL: number;
|
|
114
|
+
/** Returns the current cache epoch. */
|
|
115
|
+
export declare function getCacheEpoch(): number;
|
|
116
|
+
/**
|
|
117
|
+
* Bumps the global cache epoch, causing all TTL-based caches to miss
|
|
118
|
+
* on their next read. This is the mechanism behind `T4Client.clearCache()`.
|
|
119
|
+
*/
|
|
120
|
+
export declare function invalidateAllCaches(): void;
|
|
121
|
+
/**
|
|
122
|
+
* A Map with time-to-live expiration on entries.
|
|
123
|
+
* Entries are lazily evicted on access — expired entries return undefined.
|
|
124
|
+
* Respects the global cache epoch: entries written before an epoch bump are stale.
|
|
125
|
+
*/
|
|
126
|
+
export declare class TtlMap<K, V> {
|
|
127
|
+
private readonly entries;
|
|
128
|
+
private readonly ttl;
|
|
129
|
+
constructor(ttl?: number);
|
|
130
|
+
get(key: K): V | undefined;
|
|
131
|
+
set(key: K, value: V): void;
|
|
132
|
+
clear(): void;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* A single-value cache with TTL expiration.
|
|
136
|
+
* Stores a promise that resolves to the cached value.
|
|
137
|
+
* Respects the global cache epoch: entries written before an epoch bump are stale.
|
|
138
|
+
*/
|
|
139
|
+
export declare class TtlValue<V> {
|
|
140
|
+
private entry;
|
|
141
|
+
private readonly ttl;
|
|
142
|
+
constructor(ttl?: number);
|
|
143
|
+
get(): V | undefined;
|
|
144
|
+
set(value: V): void;
|
|
145
|
+
clear(): void;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|