Skip to content

Commit 775c85a

Browse files
author
Sergio Moreno
committed
feat: remoteLoader introduced
1 parent f31afc5 commit 775c85a

14 files changed

Lines changed: 180 additions & 3 deletions

File tree

packages/cli/src/api/formats/csv.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ const csv: CatalogFormatter = {
4848
throw new Error(`Cannot read ${filename}: ${e.message}`)
4949
}
5050
},
51+
52+
parse(content) {
53+
return deserialize(content)
54+
}
5155
}
5256

5357
export default csv

packages/cli/src/api/formats/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export type CatalogFormatter = {
2828
options?: CatalogFormatOptionsInternal
2929
): void
3030
read(filename: string): CatalogType | null
31+
parse(content): any
3132
}
3233

3334
export default function getFormat(name: CatalogFormat): CatalogFormatter {

packages/cli/src/api/formats/lingui.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ const lingui: CatalogFormatter = {
4949
throw new Error(`Cannot read ${filename}: ${e.message}`)
5050
}
5151
},
52+
53+
parse(content) {
54+
return content
55+
}
5256
}
5357

5458
export default lingui

packages/cli/src/api/formats/minimal.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ const minimal: CatalogFormatter = {
3636
throw new Error(`Cannot read ${filename}: ${e.message}`)
3737
}
3838
},
39+
40+
parse(content: Record<string, any>) {
41+
return deserialize(content)
42+
}
3943
}
4044

4145
export default minimal

packages/cli/src/api/formats/po-gettext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ const poGettext: CatalogFormatter & PoFormatter = {
332332
return this.parse(raw)
333333
},
334334

335-
parse(raw) {
335+
parse(raw: string) {
336336
const po = PO.parse(raw)
337337
convertPluralsToICU(po.items, po.headers.Language)
338338
return deserialize(indexItems(po.items))

packages/cli/src/api/formats/po.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ const po: CatalogFormatter & PoFormatter = {
106106
return this.parse(raw)
107107
},
108108

109-
parse(raw) {
109+
parse(raw: string) {
110110
const po = PO.parse(raw)
111111
validateItems(po.items)
112112
return deserialize(indexItems(po.items))

packages/loader/index.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
declare type RemoteLoaderMessages<T> = string | Record<string, any> | T;
2+
export declare function remoteLoader<T>(locale: string, messages: RemoteLoaderMessages<T>, fallbackMessages?: RemoteLoaderMessages<T>): any;
3+
export {};

packages/loader/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
export { default } from "./src"
2+
export { remoteLoader } from "./src/remoteLoader"

packages/loader/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@lingui/loader",
33
"version": "3.9.0",
44
"description": "webpack loader for lingui message catalogs",
5+
"types": "index.d.ts",
56
"main": "index.js",
67
"author": {
78
"name": "Tomáš Ehrlich",

packages/loader/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { default } from "./webpackLoader"
2+
export { remoteLoader } from "./remoteLoader"

0 commit comments

Comments
 (0)