@tolgee/cli 1.1.0 → 1.1.2
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/README.md +11 -8
- package/dist/client/errors.js +1 -5
- package/dist/client/export.js +1 -4
- package/dist/client/import.js +5 -11
- package/dist/client/index.js +17 -23
- package/dist/client/internal/requester.js +14 -20
- package/dist/client/internal/schema.generated.js +1 -2
- package/dist/client/internal/schema.utils.js +1 -2
- package/dist/client/languages.js +1 -4
- package/dist/client/project.js +1 -4
- package/dist/commands/extract/check.js +11 -13
- package/dist/commands/extract/print.js +10 -12
- package/dist/commands/extract.js +8 -13
- package/dist/commands/login.js +16 -22
- package/dist/commands/pull.js +12 -14
- package/dist/commands/push.js +28 -30
- package/dist/commands/sync/compare.js +18 -23
- package/dist/commands/sync/sync.js +34 -39
- package/dist/commands/sync/syncUtils.js +10 -18
- package/dist/config/credentials.js +16 -25
- package/dist/config/tolgeerc.js +11 -14
- package/dist/constants.js +11 -18
- package/dist/extractor/extractor.js +13 -19
- package/dist/extractor/index.js +1 -2
- package/dist/extractor/machines/comments.js +10 -15
- package/dist/extractor/machines/react.js +36 -41
- package/dist/extractor/machines/shared/comments.js +3 -6
- package/dist/extractor/machines/shared/properties.js +13 -15
- package/dist/extractor/machines/svelte.js +43 -48
- package/dist/extractor/runner.js +8 -16
- package/dist/extractor/tokenizer.js +20 -21
- package/dist/extractor/warnings.js +9 -14
- package/dist/extractor/worker.js +23 -28
- package/dist/index.js +53 -58
- package/dist/options.js +14 -17
- package/dist/utils/ask.js +4 -12
- package/dist/utils/configPath.js +10 -10
- package/dist/utils/deferred.js +1 -5
- package/dist/utils/logger.js +8 -19
- package/dist/utils/moduleLoader.js +7 -15
- package/dist/utils/overwriteDir.js +13 -17
- package/dist/utils/zip.js +11 -16
- package/package.json +33 -30
@@ -1,14 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
const xstate_1 = require("xstate");
|
8
|
-
const react_1 = __importDefault(require("./machines/react"));
|
9
|
-
const svelte_1 = __importDefault(require("./machines/svelte"));
|
10
|
-
const comments_1 = __importDefault(require("./machines/comments"));
|
11
|
-
const tokenizer_1 = __importDefault(require("./tokenizer"));
|
1
|
+
import { extname } from 'path';
|
2
|
+
import { interpret } from 'xstate';
|
3
|
+
import reactExtractorMachine from './machines/react.js';
|
4
|
+
import svelteExtractorMachine from './machines/svelte.js';
|
5
|
+
import commentsExtractorMachine from './machines/comments.js';
|
6
|
+
import tokenizer from './tokenizer.js';
|
12
7
|
const REACT_EXTS = [
|
13
8
|
'.js',
|
14
9
|
'.mjs',
|
@@ -31,27 +26,27 @@ const ALL_EXTS = [
|
|
31
26
|
'.svelte',
|
32
27
|
];
|
33
28
|
function pickMachine(code, fileName) {
|
34
|
-
const ext =
|
29
|
+
const ext = extname(fileName);
|
35
30
|
if (REACT_EXTS.includes(ext) && code.includes('@tolgee/react')) {
|
36
|
-
return
|
31
|
+
return reactExtractorMachine;
|
37
32
|
}
|
38
33
|
if (ext === '.svelte' && code.includes('@tolgee/svelte')) {
|
39
|
-
return
|
34
|
+
return svelteExtractorMachine;
|
40
35
|
}
|
41
36
|
if (ALL_EXTS.includes(ext) &&
|
42
37
|
(code.includes('@tolgee-key') || code.includes('@tolgee-ignore'))) {
|
43
|
-
return
|
38
|
+
return commentsExtractorMachine;
|
44
39
|
}
|
45
40
|
return null;
|
46
41
|
}
|
47
|
-
async function extractor(code, fileName) {
|
42
|
+
export default async function extractor(code, fileName) {
|
48
43
|
const machineSpec = pickMachine(code, fileName);
|
49
44
|
if (!machineSpec) {
|
50
45
|
return { warnings: [], keys: [] };
|
51
46
|
}
|
52
|
-
const tokens = await (
|
47
|
+
const tokens = await tokenizer(code, fileName);
|
53
48
|
// @ts-ignore -- Types are whacky, complains about withConfig but it's not a problem here.
|
54
|
-
const machine =
|
49
|
+
const machine = interpret(machineSpec);
|
55
50
|
machine.start();
|
56
51
|
for (const token of tokens) {
|
57
52
|
machine.send(token);
|
@@ -62,4 +57,3 @@ async function extractor(code, fileName) {
|
|
62
57
|
keys: snapshot.context.keys,
|
63
58
|
};
|
64
59
|
}
|
65
|
-
exports.default = extractor;
|
package/dist/extractor/index.js
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
export {};
|
@@ -1,11 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const xstate_1 = require("xstate");
|
7
|
-
const comments_1 = __importDefault(require("./shared/comments"));
|
8
|
-
exports.default = (0, xstate_1.createMachine)({
|
1
|
+
import { createMachine, assign, send } from 'xstate';
|
2
|
+
import commentsService from './shared/comments.js';
|
3
|
+
export default createMachine({
|
9
4
|
predictableActionArguments: true,
|
10
5
|
id: 'commentsExtractor',
|
11
6
|
context: {
|
@@ -14,7 +9,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
14
9
|
},
|
15
10
|
invoke: {
|
16
11
|
id: 'comments',
|
17
|
-
src: () =>
|
12
|
+
src: () => commentsService,
|
18
13
|
},
|
19
14
|
on: {
|
20
15
|
// Service messages
|
@@ -33,21 +28,21 @@ exports.default = (0, xstate_1.createMachine)({
|
|
33
28
|
},
|
34
29
|
// Code messages
|
35
30
|
'comment.line.double-slash.ts': {
|
36
|
-
actions:
|
31
|
+
actions: send((_ctx, evt) => ({
|
37
32
|
type: 'COMMENT',
|
38
33
|
data: evt.token,
|
39
34
|
line: evt.line,
|
40
35
|
}), { to: 'comments' }),
|
41
36
|
},
|
42
37
|
'comment.block.ts': {
|
43
|
-
actions:
|
38
|
+
actions: send((_ctx, evt) => ({
|
44
39
|
type: 'COMMENT',
|
45
40
|
data: evt.token,
|
46
41
|
line: evt.line,
|
47
42
|
}), { to: 'comments' }),
|
48
43
|
},
|
49
44
|
'comment.block.svelte': {
|
50
|
-
actions:
|
45
|
+
actions: send((_ctx, evt) => ({
|
51
46
|
type: 'COMMENT',
|
52
47
|
data: evt.token,
|
53
48
|
line: evt.line,
|
@@ -56,13 +51,13 @@ exports.default = (0, xstate_1.createMachine)({
|
|
56
51
|
},
|
57
52
|
}, {
|
58
53
|
actions: {
|
59
|
-
warnUnusedIgnore:
|
54
|
+
warnUnusedIgnore: assign({
|
60
55
|
warnings: (ctx, evt) => [
|
61
56
|
...ctx.warnings,
|
62
57
|
{ warning: 'W_UNUSED_IGNORE', line: evt.line },
|
63
58
|
],
|
64
59
|
}),
|
65
|
-
pushKey:
|
60
|
+
pushKey: assign({
|
66
61
|
keys: (ctx, evt) => [
|
67
62
|
...ctx.keys,
|
68
63
|
{
|
@@ -73,7 +68,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
73
68
|
},
|
74
69
|
],
|
75
70
|
}),
|
76
|
-
pushWarning:
|
71
|
+
pushWarning: assign({
|
77
72
|
warnings: (ctx, evt) => [
|
78
73
|
...ctx.warnings,
|
79
74
|
{ warning: evt.kind, line: evt.line },
|
@@ -1,13 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const xstate_1 = require("xstate");
|
7
|
-
const properties_1 = __importDefault(require("./shared/properties"));
|
8
|
-
const comments_1 = __importDefault(require("./shared/comments"));
|
1
|
+
import { createMachine, assign, send, forwardTo } from 'xstate';
|
2
|
+
import propertiesMachine from './shared/properties.js';
|
3
|
+
import commentsService from './shared/comments.js';
|
9
4
|
const VOID_KEY = { keyName: '', line: -1 };
|
10
|
-
|
5
|
+
export default createMachine({
|
11
6
|
predictableActionArguments: true,
|
12
7
|
id: 'reactExtractor',
|
13
8
|
type: 'parallel',
|
@@ -25,7 +20,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
25
20
|
comments: {
|
26
21
|
invoke: {
|
27
22
|
id: 'comments',
|
28
|
-
src: () =>
|
23
|
+
src: () => commentsService,
|
29
24
|
},
|
30
25
|
on: {
|
31
26
|
// Service messages
|
@@ -44,14 +39,14 @@ exports.default = (0, xstate_1.createMachine)({
|
|
44
39
|
},
|
45
40
|
// Code messages
|
46
41
|
'comment.line.double-slash.ts': {
|
47
|
-
actions:
|
42
|
+
actions: send((_ctx, evt) => ({
|
48
43
|
type: 'COMMENT',
|
49
44
|
data: evt.token,
|
50
45
|
line: evt.line,
|
51
46
|
}), { to: 'comments' }),
|
52
47
|
},
|
53
48
|
'comment.block.ts': {
|
54
|
-
actions:
|
49
|
+
actions: send((_ctx, evt) => ({
|
55
50
|
type: 'COMMENT',
|
56
51
|
data: evt.token,
|
57
52
|
line: evt.line,
|
@@ -221,7 +216,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
221
216
|
props_object: {
|
222
217
|
invoke: {
|
223
218
|
id: 'propertiesMachine',
|
224
|
-
src:
|
219
|
+
src: propertiesMachine,
|
225
220
|
data: {
|
226
221
|
depth: 1,
|
227
222
|
},
|
@@ -245,7 +240,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
245
240
|
},
|
246
241
|
on: {
|
247
242
|
'*': {
|
248
|
-
actions:
|
243
|
+
actions: forwardTo('propertiesMachine'),
|
249
244
|
},
|
250
245
|
},
|
251
246
|
},
|
@@ -345,7 +340,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
345
340
|
props: {
|
346
341
|
invoke: {
|
347
342
|
id: 'propertiesMachine',
|
348
|
-
src:
|
343
|
+
src: propertiesMachine,
|
349
344
|
onDone: [
|
350
345
|
{
|
351
346
|
target: 'idle',
|
@@ -367,7 +362,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
367
362
|
},
|
368
363
|
on: {
|
369
364
|
'*': {
|
370
|
-
actions:
|
365
|
+
actions: forwardTo('propertiesMachine'),
|
371
366
|
},
|
372
367
|
},
|
373
368
|
},
|
@@ -547,7 +542,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
547
542
|
param_object: {
|
548
543
|
invoke: {
|
549
544
|
id: 'propertiesMachine',
|
550
|
-
src:
|
545
|
+
src: propertiesMachine,
|
551
546
|
data: {
|
552
547
|
depth: 1,
|
553
548
|
},
|
@@ -565,7 +560,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
565
560
|
},
|
566
561
|
on: {
|
567
562
|
'*': {
|
568
|
-
actions:
|
563
|
+
actions: forwardTo('propertiesMachine'),
|
569
564
|
},
|
570
565
|
},
|
571
566
|
},
|
@@ -577,38 +572,38 @@ exports.default = (0, xstate_1.createMachine)({
|
|
577
572
|
isPropertiesDataDynamic: (_ctx, evt) => evt.data.keyName === false || evt.data.namespace === false,
|
578
573
|
},
|
579
574
|
actions: {
|
580
|
-
incrementDepth:
|
575
|
+
incrementDepth: assign({
|
581
576
|
blockDepth: (ctx) => ctx.blockDepth + 1,
|
582
577
|
}),
|
583
|
-
decrementDepth:
|
578
|
+
decrementDepth: assign({
|
584
579
|
blockDepth: (ctx) => ctx.blockDepth - 1,
|
585
580
|
hooks: (ctx) => ctx.hooks.filter((n) => n.depth !== ctx.blockDepth),
|
586
581
|
}),
|
587
|
-
storeLine:
|
582
|
+
storeLine: assign({
|
588
583
|
line: (_ctx, evt) => evt.line,
|
589
584
|
}),
|
590
|
-
ignoreNextLine:
|
585
|
+
ignoreNextLine: assign({
|
591
586
|
ignore: (_ctx, evt) => ({ type: 'ignore', line: evt.line + 1 }),
|
592
587
|
}),
|
593
|
-
consumeIgnoredLine:
|
588
|
+
consumeIgnoredLine: assign({
|
594
589
|
ignore: (_ctx, _evt) => null,
|
595
590
|
}),
|
596
|
-
warnUnusedIgnore:
|
591
|
+
warnUnusedIgnore: assign({
|
597
592
|
warnings: (ctx, evt) => [
|
598
593
|
...ctx.warnings,
|
599
594
|
{ warning: 'W_UNUSED_IGNORE', line: evt.line - 1 },
|
600
595
|
],
|
601
596
|
}),
|
602
|
-
pushHook:
|
597
|
+
pushHook: assign({
|
603
598
|
hooks: (ctx) => [...ctx.hooks, { depth: ctx.blockDepth }],
|
604
599
|
}),
|
605
|
-
pushNamespacedHook:
|
600
|
+
pushNamespacedHook: assign({
|
606
601
|
hooks: (ctx, evt) => [
|
607
602
|
...ctx.hooks,
|
608
603
|
{ namespace: evt.token, depth: ctx.blockDepth },
|
609
604
|
],
|
610
605
|
}),
|
611
|
-
markHookAsDynamic:
|
606
|
+
markHookAsDynamic: assign({
|
612
607
|
hooks: (ctx, _evt) => [
|
613
608
|
...ctx.hooks.slice(0, -1),
|
614
609
|
{ namespace: false, depth: ctx.blockDepth },
|
@@ -618,7 +613,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
618
613
|
{ warning: 'W_DYNAMIC_NAMESPACE', line: ctx.line },
|
619
614
|
],
|
620
615
|
}),
|
621
|
-
consumeParameters:
|
616
|
+
consumeParameters: assign({
|
622
617
|
key: (ctx, evt) => ({
|
623
618
|
// We don't want the key and default value to be overridable
|
624
619
|
// But we DO want the namespace to be overridable
|
@@ -638,7 +633,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
638
633
|
];
|
639
634
|
},
|
640
635
|
}),
|
641
|
-
emitWarningFromParameters:
|
636
|
+
emitWarningFromParameters: assign({
|
642
637
|
warnings: (ctx, evt) => [
|
643
638
|
...ctx.warnings,
|
644
639
|
{
|
@@ -650,10 +645,10 @@ exports.default = (0, xstate_1.createMachine)({
|
|
650
645
|
],
|
651
646
|
key: (_ctx, _evt) => VOID_KEY,
|
652
647
|
}),
|
653
|
-
appendChildren:
|
648
|
+
appendChildren: assign({
|
654
649
|
children: (ctx, evt) => (ctx.children ?? '') + evt.token,
|
655
650
|
}),
|
656
|
-
consumeChildren:
|
651
|
+
consumeChildren: assign({
|
657
652
|
key: (ctx, _evt) => ({
|
658
653
|
...ctx.key,
|
659
654
|
keyName: ctx.key.keyName ? ctx.key.keyName : ctx.children,
|
@@ -661,13 +656,13 @@ exports.default = (0, xstate_1.createMachine)({
|
|
661
656
|
}),
|
662
657
|
children: (_ctx, _evt) => '',
|
663
658
|
}),
|
664
|
-
storeKeyName:
|
659
|
+
storeKeyName: assign({
|
665
660
|
key: (ctx, evt) => ({ ...ctx.key, keyName: evt.token }),
|
666
661
|
}),
|
667
|
-
storeKeyDefault:
|
662
|
+
storeKeyDefault: assign({
|
668
663
|
key: (ctx, evt) => ({ ...ctx.key, defaultValue: evt.token }),
|
669
664
|
}),
|
670
|
-
storeKeyCurrentNamespace:
|
665
|
+
storeKeyCurrentNamespace: assign({
|
671
666
|
key: (ctx, _evt) => ({
|
672
667
|
...ctx.key,
|
673
668
|
namespace: ctx.hooks.length
|
@@ -675,28 +670,28 @@ exports.default = (0, xstate_1.createMachine)({
|
|
675
670
|
: undefined,
|
676
671
|
}),
|
677
672
|
}),
|
678
|
-
dynamicKeyName:
|
673
|
+
dynamicKeyName: assign({
|
679
674
|
warnings: (ctx, _evt) => [
|
680
675
|
...ctx.warnings,
|
681
676
|
{ warning: 'W_DYNAMIC_KEY', line: ctx.line },
|
682
677
|
],
|
683
678
|
key: (_ctx, _evt) => VOID_KEY,
|
684
679
|
}),
|
685
|
-
dynamicKeyDefault:
|
680
|
+
dynamicKeyDefault: assign({
|
686
681
|
key: (ctx, _evt) => ({ ...ctx.key, defaultValue: undefined }),
|
687
682
|
warnings: (ctx, _evt) => [
|
688
683
|
...ctx.warnings,
|
689
684
|
{ warning: 'W_DYNAMIC_DEFAULT_VALUE', line: ctx.line },
|
690
685
|
],
|
691
686
|
}),
|
692
|
-
dynamicOptions:
|
687
|
+
dynamicOptions: assign({
|
693
688
|
key: (ctx, _evt) => VOID_KEY,
|
694
689
|
warnings: (ctx, _evt) => [
|
695
690
|
...ctx.warnings,
|
696
691
|
{ warning: 'W_DYNAMIC_OPTIONS', line: ctx.line },
|
697
692
|
],
|
698
693
|
}),
|
699
|
-
dynamicChildren:
|
694
|
+
dynamicChildren: assign({
|
700
695
|
key: (ctx, _evt) => ctx.key.keyName ? { ...ctx.key, defaultValue: undefined } : VOID_KEY,
|
701
696
|
warnings: (ctx, _evt) => [
|
702
697
|
...ctx.warnings,
|
@@ -708,7 +703,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
708
703
|
},
|
709
704
|
],
|
710
705
|
}),
|
711
|
-
pushKey:
|
706
|
+
pushKey: assign({
|
712
707
|
warnings: (ctx, _evt) => {
|
713
708
|
if (!ctx.key.keyName || ctx.key.namespace !== false)
|
714
709
|
return ctx.warnings;
|
@@ -732,7 +727,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
732
727
|
},
|
733
728
|
key: (_ctx, _evt) => ({ keyName: '', line: 0 }),
|
734
729
|
}),
|
735
|
-
pushImmediateKey:
|
730
|
+
pushImmediateKey: assign({
|
736
731
|
ignore: (_ctx, evt) => ({ type: 'key', line: evt.line + 1 }),
|
737
732
|
keys: (ctx, evt) => [
|
738
733
|
...ctx.keys,
|
@@ -744,7 +739,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
744
739
|
},
|
745
740
|
],
|
746
741
|
}),
|
747
|
-
pushWarning:
|
742
|
+
pushWarning: assign({
|
748
743
|
warnings: (ctx, evt) => [
|
749
744
|
...ctx.warnings,
|
750
745
|
{ warning: evt.kind, line: evt.line },
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const json5_1 = require("json5");
|
1
|
+
import JSON5 from 'json5';
|
4
2
|
function isValidKeyOverride(data) {
|
5
3
|
if (!('key' in data)) {
|
6
4
|
return false;
|
@@ -17,7 +15,7 @@ function isValidKeyOverride(data) {
|
|
17
15
|
return true;
|
18
16
|
}
|
19
17
|
// This service is responsible for emitting events when magic comments are encountered
|
20
|
-
function
|
18
|
+
export default function (callback, onReceive) {
|
21
19
|
onReceive((evt) => {
|
22
20
|
const comment = evt.data.trim();
|
23
21
|
if (comment.startsWith('@tolgee-ignore')) {
|
@@ -41,7 +39,7 @@ function default_1(callback, onReceive) {
|
|
41
39
|
// Data is a json5 struct
|
42
40
|
if (data.startsWith('{')) {
|
43
41
|
try {
|
44
|
-
const key =
|
42
|
+
const key = JSON5.parse(data);
|
45
43
|
if (!isValidKeyOverride(key)) {
|
46
44
|
// No key in the struct; invalid override
|
47
45
|
callback({
|
@@ -79,4 +77,3 @@ function default_1(callback, onReceive) {
|
|
79
77
|
}
|
80
78
|
});
|
81
79
|
}
|
82
|
-
exports.default = default_1;
|
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const xstate_1 = require("xstate");
|
1
|
+
import { createMachine, send, assign } from 'xstate';
|
4
2
|
// This state machine is responsible for extracting translation key properties from an object/props
|
5
|
-
|
3
|
+
export default createMachine({
|
6
4
|
predictableActionArguments: true,
|
7
5
|
id: 'properties',
|
8
6
|
initial: 'idle',
|
@@ -116,7 +114,7 @@ exports.default = (0, xstate_1.createMachine)({
|
|
116
114
|
'unmarkAsStatic',
|
117
115
|
'markPropertyAsDynamic',
|
118
116
|
'clearPropertyType',
|
119
|
-
|
117
|
+
send((_ctx, evt) => evt),
|
120
118
|
],
|
121
119
|
},
|
122
120
|
},
|
@@ -238,48 +236,48 @@ exports.default = (0, xstate_1.createMachine)({
|
|
238
236
|
isRootLevel: (ctx) => ctx.depth === 1,
|
239
237
|
},
|
240
238
|
actions: {
|
241
|
-
storePropertyType:
|
239
|
+
storePropertyType: assign({
|
242
240
|
property: (_ctx, evt) => evt.token,
|
243
241
|
}),
|
244
|
-
clearPropertyType:
|
242
|
+
clearPropertyType: assign({
|
245
243
|
property: (_ctx, _evt) => null,
|
246
244
|
}),
|
247
|
-
storePropertyValue:
|
245
|
+
storePropertyValue: assign({
|
248
246
|
keyName: (ctx, evt) => ctx.property === 'key' || ctx.property === 'keyName'
|
249
247
|
? evt.token
|
250
248
|
: ctx.keyName,
|
251
249
|
defaultValue: (ctx, evt) => ctx.property === 'defaultValue' ? evt.token : ctx.defaultValue,
|
252
250
|
namespace: (ctx, evt) => ctx.property === 'ns' ? evt.token : ctx.namespace,
|
253
251
|
}),
|
254
|
-
storeEmptyPropertyValue:
|
252
|
+
storeEmptyPropertyValue: assign({
|
255
253
|
keyName: (ctx) => ctx.property === 'key' || ctx.property === 'keyName'
|
256
254
|
? ''
|
257
255
|
: ctx.keyName,
|
258
256
|
defaultValue: (ctx) => ctx.property === 'defaultValue' ? '' : ctx.defaultValue,
|
259
257
|
namespace: (ctx) => (ctx.property === 'ns' ? '' : ctx.namespace),
|
260
258
|
}),
|
261
|
-
markPropertyAsDynamic:
|
259
|
+
markPropertyAsDynamic: assign({
|
262
260
|
keyName: (ctx, _evt) => ctx.property === 'key' || ctx.property === 'keyName'
|
263
261
|
? false
|
264
262
|
: ctx.keyName,
|
265
263
|
defaultValue: (ctx, _evt) => ctx.property === 'defaultValue' ? false : ctx.defaultValue,
|
266
264
|
namespace: (ctx, _evt) => ctx.property === 'ns' ? false : ctx.namespace,
|
267
265
|
}),
|
268
|
-
markImmediatePropertyAsDynamic:
|
266
|
+
markImmediatePropertyAsDynamic: assign({
|
269
267
|
keyName: (ctx, evt) => evt.token === 'key' || evt.token === 'keyName' ? false : ctx.keyName,
|
270
268
|
defaultValue: (ctx, evt) => evt.token === 'defaultValue' ? false : ctx.defaultValue,
|
271
269
|
namespace: (ctx, evt) => (evt.token === 'ns' ? false : ctx.namespace),
|
272
270
|
}),
|
273
|
-
incrementDepth:
|
271
|
+
incrementDepth: assign({
|
274
272
|
depth: (ctx, _evt) => ctx.depth + 1,
|
275
273
|
}),
|
276
|
-
decrementDepth:
|
274
|
+
decrementDepth: assign({
|
277
275
|
depth: (ctx, _evt) => ctx.depth - 1,
|
278
276
|
}),
|
279
|
-
markAsStatic:
|
277
|
+
markAsStatic: assign({
|
280
278
|
static: (_ctx, _evt) => true,
|
281
279
|
}),
|
282
|
-
unmarkAsStatic:
|
280
|
+
unmarkAsStatic: assign({
|
283
281
|
static: (_ctx, _evt) => false,
|
284
282
|
}),
|
285
283
|
},
|