@paroicms/public-server-lib 0.32.0 → 0.34.0
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/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/server-image-cache-engine.helper.d.ts +17 -4
- package/dist/server-image-cache-engine.helper.js +15 -8
- package/dist/server-image-cache-engine.helper.js.map +1 -1
- package/package.json +4 -4
- package/types/backend-plugin-types.d.ts +73 -34
- package/dist/url.helpers.d.ts +0 -40
- package/dist/url.helpers.js +0 -44
- package/dist/url.helpers.js.map +0 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -4,6 +4,5 @@ export * from "./html-helpers/html-helpers.js";
|
|
|
4
4
|
export * from "./obfuscate.helper.js";
|
|
5
5
|
export * from "./server-image-cache-engine.helper.js";
|
|
6
6
|
export * from "./simple-i18n.js";
|
|
7
|
-
export * from "./url.helpers.js";
|
|
8
7
|
export * from "./vite-config.helper.js";
|
|
9
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export declare function isImageSize(imageSize: string): imageSize is ImageSize;
|
|
3
|
-
export declare function isVariantName(variantName: string): variantName is VariantName;
|
|
1
|
+
import { type ResizeRule, type SizeName } from "@paroicms/public-anywhere-lib";
|
|
4
2
|
export declare function generateImageSlug(fromName?: string): string | undefined;
|
|
5
|
-
export declare function
|
|
3
|
+
export declare function applyPixelRatioToSizeName(renderedSizeName: SizeName, pixelRatio: number): SizeName;
|
|
4
|
+
export declare function applyPixelRatioToResizeRule(renderedResizeRule: ResizeRule, pixelRatio: number): ResizeRule;
|
|
5
|
+
export declare function rawToRenderedSize(rawResizeR: {
|
|
6
|
+
rawWidth: number;
|
|
7
|
+
rawHeight: number;
|
|
8
|
+
}, pixelRatio: number): {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function renderedToRawSize(renderedSize: {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}, pixelRatio: number): {
|
|
16
|
+
rawWidth: number;
|
|
17
|
+
rawHeight: number;
|
|
18
|
+
};
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { nbVal } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { generateSlug } from "@paroicms/public-anywhere-lib";
|
|
3
|
-
export function isImageSize(imageSize) {
|
|
4
|
-
return /^[0-9]+x|x[0-9]+|x[0-9]+x|[0-9]+x[0-9]+$/.test(imageSize);
|
|
5
|
-
}
|
|
6
|
-
export function isVariantName(variantName) {
|
|
7
|
-
return /^[0-9]+x[0-9]+$/.test(variantName);
|
|
8
|
-
}
|
|
9
3
|
export function generateImageSlug(fromName) {
|
|
10
4
|
if (!fromName)
|
|
11
5
|
return;
|
|
12
6
|
return generateSlug(fromName).substring(0, 12).replace(/-$/g, "");
|
|
13
7
|
}
|
|
14
|
-
export function
|
|
15
|
-
|
|
8
|
+
export function applyPixelRatioToSizeName(renderedSizeName, pixelRatio) {
|
|
9
|
+
return applyPixelRatioToResizeRule(renderedSizeName, pixelRatio);
|
|
10
|
+
}
|
|
11
|
+
export function applyPixelRatioToResizeRule(renderedResizeRule, pixelRatio) {
|
|
12
|
+
const splitted = renderedResizeRule.split("x");
|
|
16
13
|
if (splitted.length === 3) {
|
|
17
14
|
const value = splitted[1];
|
|
18
15
|
splitted[1] = `${Math.round(nbVal(value) * pixelRatio)}`;
|
|
@@ -27,4 +24,14 @@ export function applyRatioToImageSize(imageSize, pixelRatio) {
|
|
|
27
24
|
}
|
|
28
25
|
return splitted.join("x");
|
|
29
26
|
}
|
|
27
|
+
export function rawToRenderedSize(rawResizeR, pixelRatio) {
|
|
28
|
+
const width = Math.round(rawResizeR.rawWidth / pixelRatio);
|
|
29
|
+
const height = Math.round(rawResizeR.rawHeight / pixelRatio);
|
|
30
|
+
return { width, height };
|
|
31
|
+
}
|
|
32
|
+
export function renderedToRawSize(renderedSize, pixelRatio) {
|
|
33
|
+
const rawWidth = Math.round(renderedSize.width * pixelRatio);
|
|
34
|
+
const rawHeight = Math.round(renderedSize.height * pixelRatio);
|
|
35
|
+
return { rawWidth, rawHeight };
|
|
36
|
+
}
|
|
30
37
|
//# sourceMappingURL=server-image-cache-engine.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-image-cache-engine.helper.js","sourceRoot":"","sources":["../src/server-image-cache-engine.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"server-image-cache-engine.helper.js","sourceRoot":"","sources":["../src/server-image-cache-engine.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAkC,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7F,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,gBAA0B,EAC1B,UAAkB;IAElB,OAAO,2BAA2B,CAAC,gBAAgB,EAAE,UAAU,CAAa,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,kBAA8B,EAC9B,UAAkB;IAElB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,MAAM,KAAK,EAAE;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;QAC7E,IAAI,KAAK,KAAK,EAAE;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAe,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAmD,EACnD,UAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,YAA+C,EAC/C,UAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/public-server-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Common utilitaries for paroicms plugins (backend side).",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"repository": {
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
17
17
|
"test": "vitest",
|
|
18
|
-
"test:
|
|
18
|
+
"test:once": "vitest run",
|
|
19
19
|
"clear": "rimraf dist/*",
|
|
20
20
|
"dev": "tsc --watch --preserveWatchOutput"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
24
|
-
"@paroicms/internal-anywhere-lib": "1.
|
|
25
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
24
|
+
"@paroicms/internal-anywhere-lib": "1.29.0",
|
|
25
|
+
"@paroicms/public-anywhere-lib": "0.23.0",
|
|
26
26
|
"@types/express": "~4.17.21"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import type { Obj } from "@paroi/data-formatters-lib";
|
|
2
2
|
import type {
|
|
3
|
-
ImageSize,
|
|
4
3
|
JsonFieldValue,
|
|
4
|
+
MImageVariant,
|
|
5
|
+
MSourceImage,
|
|
6
|
+
MSourceMedia,
|
|
5
7
|
ParsedNodelId,
|
|
6
8
|
ReadFieldValue,
|
|
9
|
+
ResizeRule,
|
|
7
10
|
ScFieldDataType,
|
|
8
11
|
ScSiteSchema,
|
|
9
12
|
SiteIds,
|
|
10
13
|
ThemeConf,
|
|
14
|
+
UpdateLabelingFieldValue,
|
|
15
|
+
WithAttachedData,
|
|
11
16
|
} from "@paroicms/public-anywhere-lib";
|
|
12
17
|
import type Stream from "node:stream";
|
|
13
18
|
|
|
@@ -95,10 +100,13 @@ export interface BackendPluginInitService {
|
|
|
95
100
|
pluginAssetsUrl: string;
|
|
96
101
|
}
|
|
97
102
|
|
|
98
|
-
export type BackendHookHandler = (
|
|
103
|
+
export type BackendHookHandler = (
|
|
104
|
+
service: BackendPluginService,
|
|
105
|
+
params: any,
|
|
106
|
+
) => Promise<unknown> | unknown;
|
|
99
107
|
|
|
100
108
|
export type PluginLiquidFilterHandler = (
|
|
101
|
-
service:
|
|
109
|
+
service: PluginRenderingService,
|
|
102
110
|
value: unknown,
|
|
103
111
|
options: {
|
|
104
112
|
/**
|
|
@@ -109,18 +117,18 @@ export type PluginLiquidFilterHandler = (
|
|
|
109
117
|
},
|
|
110
118
|
) => string | Promise<string>;
|
|
111
119
|
|
|
112
|
-
export type PublicApiHandler = (
|
|
113
|
-
service: BackendPluginRenderService,
|
|
114
|
-
httpContext: PaHttpContext,
|
|
115
|
-
relativePath: string,
|
|
116
|
-
) => Promise<void> | void;
|
|
117
|
-
|
|
118
120
|
export type FieldPreprocessor = (
|
|
119
|
-
service:
|
|
121
|
+
service: PluginRenderingService,
|
|
120
122
|
value: ReadFieldValue,
|
|
121
123
|
options: FieldPreprocessorOptions,
|
|
122
124
|
) => ReadFieldValue | undefined | Promise<ReadFieldValue | undefined>;
|
|
123
125
|
|
|
126
|
+
export type PublicApiHandler = (
|
|
127
|
+
service: BackendPluginService,
|
|
128
|
+
httpContext: PaHttpContext,
|
|
129
|
+
relativePath: string,
|
|
130
|
+
) => Promise<void> | void;
|
|
131
|
+
|
|
124
132
|
export interface BackendPluginService {
|
|
125
133
|
fqdn: string;
|
|
126
134
|
siteUrl: string;
|
|
@@ -129,12 +137,38 @@ export interface BackendPluginService {
|
|
|
129
137
|
logger: AppLogger;
|
|
130
138
|
validateRecaptchaResponse: (gRecaptchaResponse: string | undefined) => Promise<boolean>;
|
|
131
139
|
sendMail: ({ subject, html, replyTo, to }: MailData) => Promise<void>;
|
|
132
|
-
executeHook
|
|
140
|
+
executeHook(hookName: string, params?: any): Promise<unknown[]>;
|
|
133
141
|
registeredSite: RegisteredSite;
|
|
134
142
|
configuration: PluginConfiguration;
|
|
135
143
|
pluginAssetsUrl: string;
|
|
136
144
|
/** This is the connector of the running instance of ParoiCMS. */
|
|
137
145
|
connector: RunningInstanceConnector;
|
|
146
|
+
getSiteFieldValue: (options: {
|
|
147
|
+
fieldName: string;
|
|
148
|
+
language?: string;
|
|
149
|
+
}) => Promise<ReadFieldValue | undefined>;
|
|
150
|
+
getMedia: (
|
|
151
|
+
sel: { mediaId: string } | { handle: string },
|
|
152
|
+
options?: {
|
|
153
|
+
absoluteUrl?: boolean;
|
|
154
|
+
withAttachedData?: WithAttachedData;
|
|
155
|
+
},
|
|
156
|
+
) => Promise<MSourceMedia | undefined>;
|
|
157
|
+
useUnversionedImage: (
|
|
158
|
+
/** An image or a `mediaId` */
|
|
159
|
+
image: MSourceImage | string,
|
|
160
|
+
/** Must be listed in the theme configuration */
|
|
161
|
+
resizeRule: ResizeRule,
|
|
162
|
+
options?: {
|
|
163
|
+
pixelRatio?: number;
|
|
164
|
+
absoluteUrl?: boolean;
|
|
165
|
+
},
|
|
166
|
+
) => Promise<MImageVariant | undefined>;
|
|
167
|
+
openRenderingService: (options: {
|
|
168
|
+
language: string;
|
|
169
|
+
/** This will be used for generating a cache key, so it has to be unique for the rendering. */
|
|
170
|
+
urlLike: string;
|
|
171
|
+
}) => Promise<PluginRenderingService>;
|
|
138
172
|
}
|
|
139
173
|
|
|
140
174
|
export interface NewSiteOptions {
|
|
@@ -144,11 +178,9 @@ export interface NewSiteOptions {
|
|
|
144
178
|
version?: string;
|
|
145
179
|
}
|
|
146
180
|
|
|
147
|
-
export interface
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
language?: string;
|
|
151
|
-
}) => Promise<ReadFieldValue | undefined>;
|
|
181
|
+
export interface PluginRenderingService {
|
|
182
|
+
pluginService: BackendPluginService;
|
|
183
|
+
language: string;
|
|
152
184
|
renderChildPartials(
|
|
153
185
|
ctx: PaHttpContext,
|
|
154
186
|
options: {
|
|
@@ -167,8 +199,20 @@ export interface BackendPluginRenderService extends BackendPluginService {
|
|
|
167
199
|
templateName: string;
|
|
168
200
|
},
|
|
169
201
|
): Promise<void>;
|
|
170
|
-
|
|
202
|
+
|
|
203
|
+
useImage: (
|
|
204
|
+
/** An image or a `mediaId` */
|
|
205
|
+
image: MSourceImage | string,
|
|
206
|
+
resizeRule: ResizeRule,
|
|
207
|
+
options?: {
|
|
208
|
+
pixelRatio?: number;
|
|
209
|
+
absoluteUrl?: boolean;
|
|
210
|
+
},
|
|
211
|
+
) => Promise<MImageVariant | undefined>;
|
|
212
|
+
|
|
171
213
|
getDocument: (documentId: string) => Promise<PublicDocument | undefined>;
|
|
214
|
+
|
|
215
|
+
close(): Promise<void>;
|
|
172
216
|
}
|
|
173
217
|
|
|
174
218
|
export interface LabeledBy {
|
|
@@ -188,13 +232,6 @@ export interface PublicDocument {
|
|
|
188
232
|
publishDate: string;
|
|
189
233
|
}
|
|
190
234
|
|
|
191
|
-
export interface UsedImage {
|
|
192
|
-
url: string;
|
|
193
|
-
width: number;
|
|
194
|
-
height: number;
|
|
195
|
-
mediaType: string;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
235
|
export interface FieldPreprocessorOptions {
|
|
199
236
|
absoluteUrls?: boolean;
|
|
200
237
|
outputType?: "plainText";
|
|
@@ -231,7 +268,6 @@ export interface AppLogger {
|
|
|
231
268
|
|
|
232
269
|
export interface PartialsParamsInput {
|
|
233
270
|
templateName: string;
|
|
234
|
-
documentId: string;
|
|
235
271
|
offset: string;
|
|
236
272
|
limit: string;
|
|
237
273
|
}
|
|
@@ -270,20 +306,22 @@ export interface SubDomainSitePackConfiguration extends SitePackConfigurationBas
|
|
|
270
306
|
parentDomain: string;
|
|
271
307
|
}
|
|
272
308
|
|
|
309
|
+
/* Running instance types */
|
|
310
|
+
|
|
273
311
|
export interface RunningInstanceConnector {
|
|
274
312
|
getSitePackConf(packName: string): SitePackConfiguration;
|
|
275
|
-
loadSiteSchemaAndIds(fqdn: string): Promise<
|
|
313
|
+
loadSiteSchemaAndIds(fqdn: string): Promise<RiSiteSchemaAndIds>;
|
|
276
314
|
createAccount(
|
|
277
315
|
fqdn: string,
|
|
278
316
|
account: RiNewAccount,
|
|
279
317
|
options?: { asContactEmail?: boolean },
|
|
280
|
-
): Promise<
|
|
318
|
+
): Promise<string>;
|
|
281
319
|
updateSiteFields(fqdn: string, fields: RiFieldSetContent): Promise<void>;
|
|
282
|
-
|
|
320
|
+
updateNodeContent(
|
|
283
321
|
fqdn: string,
|
|
284
322
|
options: {
|
|
285
323
|
nodeId: string;
|
|
286
|
-
content:
|
|
324
|
+
content: RiNodeContent;
|
|
287
325
|
},
|
|
288
326
|
): Promise<void>;
|
|
289
327
|
addMultipleDocumentContents(
|
|
@@ -292,19 +330,19 @@ export interface RunningInstanceConnector {
|
|
|
292
330
|
parentNodeId: string;
|
|
293
331
|
contents: RiDocumentContent[];
|
|
294
332
|
},
|
|
295
|
-
): Promise<
|
|
333
|
+
): Promise<ParsedNodelId[]>;
|
|
296
334
|
addMultiplePartContents(
|
|
297
335
|
fqdn: string,
|
|
298
336
|
options: {
|
|
299
337
|
parentNodeId: string;
|
|
300
338
|
contents: RiPartContent[];
|
|
301
339
|
},
|
|
302
|
-
): Promise<
|
|
340
|
+
): Promise<ParsedNodelId[]>;
|
|
303
341
|
registerNewSite: (options: NewSiteOptions) => Promise<RegisteredSite>;
|
|
304
342
|
removeSite: (fqdn: string) => Promise<void>;
|
|
305
343
|
}
|
|
306
344
|
|
|
307
|
-
export interface
|
|
345
|
+
export interface RiSiteSchemaAndIds {
|
|
308
346
|
siteSchema: ScSiteSchema;
|
|
309
347
|
siteIds: SiteIds;
|
|
310
348
|
}
|
|
@@ -324,7 +362,6 @@ export interface RiExternalNewAccount {
|
|
|
324
362
|
name: string;
|
|
325
363
|
}
|
|
326
364
|
|
|
327
|
-
/** "Nc" stands for Node Content. */
|
|
328
365
|
export type RiNodeContent = RiDocumentContent | RiPartContent;
|
|
329
366
|
|
|
330
367
|
export interface RiDocumentContent {
|
|
@@ -351,7 +388,8 @@ export type RiFieldContent =
|
|
|
351
388
|
| RiBooleanContent
|
|
352
389
|
| RiQuillDeltaContent
|
|
353
390
|
| RiMediaContent
|
|
354
|
-
| RiGalleryContent
|
|
391
|
+
| RiGalleryContent
|
|
392
|
+
| RiLabelingContent;
|
|
355
393
|
|
|
356
394
|
export type RiStringContent = RiFieldContentTemplate<"string", string>;
|
|
357
395
|
export type RiNumberContent = RiFieldContentTemplate<"number", number>;
|
|
@@ -359,6 +397,7 @@ export type RiBooleanContent = RiFieldContentTemplate<"boolean", boolean>;
|
|
|
359
397
|
export type RiQuillDeltaContent = RiFieldContentTemplate<"json", JsonFieldValue>;
|
|
360
398
|
export type RiMediaContent = RiFieldContentTemplate<"media", RiMediaValue>;
|
|
361
399
|
export type RiGalleryContent = RiFieldContentTemplate<"gallery", RiGalleryValue>;
|
|
400
|
+
export type RiLabelingContent = RiUnlocalizedFieldContent<"labeling", UpdateLabelingFieldValue>;
|
|
362
401
|
|
|
363
402
|
export type RiFieldContentTemplate<T extends ScFieldDataType, V> =
|
|
364
403
|
| RiLocalizedFieldContent<T, V>
|
package/dist/url.helpers.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { VariantName } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type { BackendPluginService } from "../types/backend-plugin-types.d.ts";
|
|
3
|
-
export interface MakeUrlOptions {
|
|
4
|
-
protocol: "http" | "https";
|
|
5
|
-
fqdn: string;
|
|
6
|
-
port?: number;
|
|
7
|
-
path?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function makeUrl({ path, fqdn, protocol, port }: MakeUrlOptions): string;
|
|
10
|
-
export interface UrlOfMediaFileValues {
|
|
11
|
-
mediaUid: string;
|
|
12
|
-
mediaType: string;
|
|
13
|
-
originalName: string | undefined;
|
|
14
|
-
absoluteUrl?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function makeUrlOfMediaFile(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfMediaFileValues): string;
|
|
17
|
-
export declare function makeUrlOfMediaFile(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfMediaFileValues, options: {
|
|
18
|
-
returnObj: true;
|
|
19
|
-
}): {
|
|
20
|
-
url: string;
|
|
21
|
-
fileName: string;
|
|
22
|
-
};
|
|
23
|
-
export interface UrlOfImageVariantValues {
|
|
24
|
-
mediaUid: string;
|
|
25
|
-
mediaType: string;
|
|
26
|
-
variantName: VariantName;
|
|
27
|
-
resourceVersion: string | undefined;
|
|
28
|
-
slug: string | undefined;
|
|
29
|
-
absoluteUrl?: boolean;
|
|
30
|
-
}
|
|
31
|
-
export declare function makeUrlOfImageVariant(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfImageVariantValues): string;
|
|
32
|
-
export declare function makeUrlOfImageVariant(service: Pick<BackendPluginService, "siteUrl">, values: UrlOfImageVariantValues, options: {
|
|
33
|
-
returnObj: true;
|
|
34
|
-
}): {
|
|
35
|
-
url: string;
|
|
36
|
-
fileName: string;
|
|
37
|
-
};
|
|
38
|
-
export declare function fileExtensionOf(mediaType: string): string;
|
|
39
|
-
export declare function toAbsoluteUrl(service: Pick<BackendPluginService, "siteUrl">, url: string): string;
|
|
40
|
-
export declare function makeFeedUrl(service: Pick<BackendPluginService, "siteSchema" | "siteUrl">, language?: string): string;
|
package/dist/url.helpers.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export function makeUrl({ path, fqdn, protocol, port }) {
|
|
2
|
-
const portPart = port === undefined || port === 80 ? "" : `:${port}`;
|
|
3
|
-
return `${protocol}://${fqdn}${portPart}${path ?? ""}`;
|
|
4
|
-
}
|
|
5
|
-
export function makeUrlOfMediaFile(service, values, options) {
|
|
6
|
-
const { mediaUid, mediaType, originalName, absoluteUrl } = values;
|
|
7
|
-
const fileName = `${originalName ?? "unamed"}${fileExtensionOf(mediaType)}`;
|
|
8
|
-
const relUrl = `/medias/${encodeURIComponent(mediaUid)}/file/${encodeURIComponent(fileName)}`;
|
|
9
|
-
const url = absoluteUrl ? toAbsoluteUrl(service, relUrl) : relUrl;
|
|
10
|
-
return options?.returnObj ? { url, fileName } : url;
|
|
11
|
-
}
|
|
12
|
-
export function makeUrlOfImageVariant(service, values, options) {
|
|
13
|
-
const { mediaUid, mediaType, variantName, slug, resourceVersion, absoluteUrl } = values;
|
|
14
|
-
const fileName = `${slug ?? "unamed"}-${variantName}${fileExtensionOf(mediaType)}`;
|
|
15
|
-
let relUrl;
|
|
16
|
-
if (resourceVersion) {
|
|
17
|
-
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(resourceVersion)}/${encodeURIComponent(fileName)}`;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(fileName)}`;
|
|
21
|
-
}
|
|
22
|
-
const url = absoluteUrl ? toAbsoluteUrl(service, relUrl) : relUrl;
|
|
23
|
-
return options?.returnObj ? { url, fileName } : url;
|
|
24
|
-
}
|
|
25
|
-
export function fileExtensionOf(mediaType) {
|
|
26
|
-
if (mediaType === "image/svg+xml")
|
|
27
|
-
return ".svg";
|
|
28
|
-
const regexMatchArray = mediaType.match(/\w+\/([-+.\w]+)/);
|
|
29
|
-
if (!regexMatchArray) {
|
|
30
|
-
throw new Error("media extension is incorrect.");
|
|
31
|
-
}
|
|
32
|
-
return `.${regexMatchArray[1]}`;
|
|
33
|
-
}
|
|
34
|
-
export function toAbsoluteUrl(service, url) {
|
|
35
|
-
return url.startsWith("/") ? `${service.siteUrl}${url}` : url;
|
|
36
|
-
}
|
|
37
|
-
export function makeFeedUrl(service, language) {
|
|
38
|
-
const isMultilingual = service.siteSchema.isMultilingual;
|
|
39
|
-
if (isMultilingual && !language) {
|
|
40
|
-
throw new Error("language is required for multilingual site");
|
|
41
|
-
}
|
|
42
|
-
return toAbsoluteUrl(service, isMultilingual ? `/${language}/feed` : "/feed");
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=url.helpers.js.map
|
package/dist/url.helpers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../src/url.helpers.ts"],"names":[],"mappings":"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"}
|