@lingui/core 3.16.1 → 3.17.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/CHANGELOG.md +16 -0
- package/LICENSE +1 -1
- package/README.md +4 -4
- package/build/LICENSE +1 -1
- package/build/cjs/compile.js +25 -34
- package/build/cjs/compile.js.map +1 -1
- package/build/cjs/index.js +213 -370
- package/build/cjs/index.js.map +1 -1
- package/build/esm/compile.js +25 -34
- package/build/esm/compile.js.map +1 -1
- package/build/esm/index.js +213 -370
- package/build/esm/index.js.map +1 -1
- package/build/index.d.ts +16 -16
- package/package.json +19 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.17.1](https://github.com/lingui/js-lingui/compare/v3.17.0...v3.17.1) (2023-02-07)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @lingui/core
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.17.0](https://github.com/lingui/js-lingui/compare/v3.16.1...v3.17.0) (2023-02-01)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @lingui/core
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [3.16.1](https://github.com/lingui/js-lingui/compare/v3.16.0...v3.16.1) (2023-01-24)
|
|
7
23
|
|
|
8
24
|
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2017 Tomáš Ehrlich
|
|
3
|
+
Copyright (c) 2017-2022 Tomáš Ehrlich, (c) 2022-2023 Crowdin.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npm install --save @lingui/core
|
|
|
17
17
|
|
|
18
18
|
## Usage
|
|
19
19
|
|
|
20
|
-
See the [tutorial][tutorial] or [reference][reference]
|
|
20
|
+
See the [tutorial][tutorial] or [reference][reference] documentation.
|
|
21
21
|
|
|
22
22
|
## License
|
|
23
23
|
|
|
@@ -25,9 +25,9 @@ This package is licensed under [MIT][license] license.
|
|
|
25
25
|
|
|
26
26
|
[license]: https://github.com/lingui/js-lingui/blob/main/LICENSE
|
|
27
27
|
[linguijs]: https://github.com/lingui/js-lingui
|
|
28
|
-
[documentation]: https://lingui.
|
|
29
|
-
[tutorial]: https://lingui.
|
|
30
|
-
[reference]: https://lingui.
|
|
28
|
+
[documentation]: https://lingui.dev
|
|
29
|
+
[tutorial]: https://lingui.dev/tutorials/javascript
|
|
30
|
+
[reference]: https://lingui.dev/ref/core
|
|
31
31
|
[package]: https://www.npmjs.com/package/@lingui/core
|
|
32
32
|
[badge-downloads]: https://img.shields.io/npm/dw/@lingui/core.svg
|
|
33
33
|
[badge-version]: https://img.shields.io/npm/v/@lingui/core.svg
|
package/build/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2017 Tomáš Ehrlich
|
|
3
|
+
Copyright (c) 2017-2022 Tomáš Ehrlich, (c) 2022-2023 Crowdin.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/build/cjs/compile.js
CHANGED
|
@@ -1,65 +1,56 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
3
|
var parser = require('@messageformat/parser');
|
|
5
4
|
|
|
6
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
-
|
|
8
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
|
-
|
|
10
5
|
// [Tokens] -> (CTX -> String)
|
|
11
6
|
function processTokens(tokens, mapText) {
|
|
12
|
-
if (!tokens.filter(
|
|
13
|
-
return token
|
|
14
|
-
}).length) {
|
|
15
|
-
return tokens.map(function (token) {
|
|
16
|
-
return mapText(token.value);
|
|
17
|
-
}).join("");
|
|
7
|
+
if (!tokens.filter(token => token.type !== "content").length) {
|
|
8
|
+
return tokens.map(token => mapText(token.value)).join("");
|
|
18
9
|
}
|
|
10
|
+
return tokens.map(token => {
|
|
11
|
+
if (token.type === "content") {
|
|
12
|
+
return mapText(token.value);
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
if (token.type === 'content') {
|
|
22
|
-
return mapText(token.value); // # in plural case
|
|
14
|
+
// # in plural case
|
|
23
15
|
} else if (token.type === "octothorpe") {
|
|
24
|
-
return "#";
|
|
16
|
+
return "#";
|
|
17
|
+
|
|
18
|
+
// simple argument
|
|
25
19
|
} else if (token.type === "argument") {
|
|
26
|
-
return [token.arg];
|
|
20
|
+
return [token.arg];
|
|
21
|
+
|
|
22
|
+
// argument with custom format (date, number)
|
|
27
23
|
} else if (token.type === "function") {
|
|
28
24
|
var _token$param;
|
|
29
|
-
|
|
30
|
-
var _param = token === null || token === void 0 ? void 0 : (_token$param = token.param) === null || _token$param === void 0 ? void 0 : _token$param[0];
|
|
31
|
-
|
|
25
|
+
const _param = token === null || token === void 0 ? void 0 : (_token$param = token.param) === null || _token$param === void 0 ? void 0 : _token$param[0];
|
|
32
26
|
if (_param) {
|
|
33
27
|
return [token.arg, token.key, _param.value.trim()];
|
|
34
28
|
} else {
|
|
35
29
|
return [token.arg, token.key];
|
|
36
30
|
}
|
|
37
31
|
}
|
|
32
|
+
const offset = token.pluralOffset;
|
|
38
33
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
token.cases.forEach(function (item) {
|
|
34
|
+
// complex argument with cases
|
|
35
|
+
const formatProps = {};
|
|
36
|
+
token.cases.forEach(item => {
|
|
43
37
|
formatProps[item.key.replace(/^=(.)+/, "$1")] = processTokens(item.tokens, mapText);
|
|
44
38
|
});
|
|
45
|
-
return [token.arg, token.type,
|
|
46
|
-
offset
|
|
47
|
-
|
|
39
|
+
return [token.arg, token.type, {
|
|
40
|
+
offset,
|
|
41
|
+
...formatProps
|
|
42
|
+
}];
|
|
48
43
|
});
|
|
49
|
-
}
|
|
44
|
+
}
|
|
50
45
|
|
|
46
|
+
// Message -> (Params -> String)
|
|
51
47
|
/** @internal */
|
|
52
|
-
|
|
53
|
-
|
|
54
48
|
function compileMessage(message) {
|
|
55
|
-
|
|
56
|
-
return v;
|
|
57
|
-
};
|
|
58
|
-
|
|
49
|
+
let mapText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : v => v;
|
|
59
50
|
try {
|
|
60
51
|
return processTokens(parser.parse(message), mapText);
|
|
61
52
|
} catch (e) {
|
|
62
|
-
console.error(
|
|
53
|
+
console.error(`${e.message} \n\nMessage: ${message}`);
|
|
63
54
|
return message;
|
|
64
55
|
}
|
|
65
56
|
}
|
package/build/cjs/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sources":["../../src/compile/compileMessage.ts"],"sourcesContent":["import {Content, parse, Token} from \"@messageformat/parser\"\nimport {CompiledMessage, CompiledMessageToken} from \"../i18n\"\n\ntype MapTextFn =
|
|
1
|
+
{"version":3,"file":"compile.js","sources":["../../src/compile/compileMessage.ts"],"sourcesContent":["import { Content, parse, Token } from \"@messageformat/parser\"\nimport { CompiledMessage, CompiledMessageToken } from \"../i18n\"\n\ntype MapTextFn = (value: string) => string\n\n// [Tokens] -> (CTX -> String)\nfunction processTokens(\n tokens: Array<Token>,\n mapText?: MapTextFn\n): CompiledMessage {\n if (!tokens.filter((token) => token.type !== \"content\").length) {\n return tokens.map((token) => mapText((token as Content).value)).join(\"\")\n }\n\n return tokens.map<CompiledMessageToken>((token) => {\n if (token.type === \"content\") {\n return mapText(token.value)\n\n // # in plural case\n } else if (token.type === \"octothorpe\") {\n return \"#\"\n\n // simple argument\n } else if (token.type === \"argument\") {\n return [token.arg]\n\n // argument with custom format (date, number)\n } else if (token.type === \"function\") {\n const _param = token?.param?.[0] as Content\n\n if (_param) {\n return [token.arg, token.key, _param.value.trim()]\n } else {\n return [token.arg, token.key]\n }\n }\n\n const offset = token.pluralOffset\n\n // complex argument with cases\n const formatProps = {}\n token.cases.forEach((item) => {\n formatProps[item.key.replace(/^=(.)+/, \"$1\")] = processTokens(\n item.tokens,\n mapText\n )\n })\n\n return [\n token.arg,\n token.type,\n {\n offset,\n ...formatProps,\n } as any,\n ] as CompiledMessageToken\n })\n}\n\n// Message -> (Params -> String)\n/** @internal */\nexport function compileMessage(\n message: string,\n mapText: MapTextFn = (v) => v\n): CompiledMessage {\n try {\n return processTokens(parse(message), mapText)\n } catch (e) {\n console.error(`${e.message} \\n\\nMessage: ${message}`)\n return message\n }\n}\n"],"names":["processTokens","tokens","mapText","filter","token","type","length","map","value","join","arg","_param","param","key","trim","offset","pluralOffset","formatProps","cases","forEach","item","replace","compileMessage","message","v","parse","e","console","error"],"mappings":"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"}
|