Skip to content

Commit bd0f449

Browse files
authored
0.13.1. (#38)
1 parent bcd44e9 commit bd0f449

File tree

9 files changed

+41
-27
lines changed

9 files changed

+41
-27
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.13.1
2+
3+
This version adds missing translations for the `variableNameValidator` function [#37](https://github.com/nocode-js/sequential-workflow-editor/issues/37).
4+
15
## 0.13.0
26

37
This version introduces several internal changes that allowed for the creation of a new type of editor in the pro version: the hidden dependent value editor.

demos/webpack-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
"sequential-workflow-model": "^0.2.0",
1919
"sequential-workflow-designer": "^0.21.2",
2020
"sequential-workflow-machine": "^0.4.0",
21-
"sequential-workflow-editor-model": "^0.13.0",
22-
"sequential-workflow-editor": "^0.13.0"
21+
"sequential-workflow-editor-model": "^0.13.1",
22+
"sequential-workflow-editor": "^0.13.1"
2323
},
2424
"devDependencies": {
2525
"ts-loader": "^9.4.2",

docs/I18N-KEYS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ This document lists all the I18N keys used in the Sequential Workflow Editor.
4747
"variableDefinitions.delete": "Delete",
4848
"variableDefinitions.namePlaceholder": "Variable name",
4949
"variableDefinitions.valueTypeIsNotAllowed": "Value type is not allowed",
50-
"variableDefinitions.variableNameIsDuplicated": "Variable name is already used"
50+
"variableDefinitions.variableNameIsDuplicated": "Variable name is already used",
51+
"variableName.invalidCharacters": "Variable name contains invalid characters",
52+
"variableName.maxLength": "Variable name must be :n characters or less",
53+
"variableName.required": "Variable name is required"
5154
}
5255
```

editor/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sequential-workflow-editor",
3-
"version": "0.13.0",
3+
"version": "0.13.1",
44
"type": "module",
55
"main": "./lib/esm/index.js",
66
"types": "./lib/index.d.ts",
@@ -46,11 +46,11 @@
4646
"prettier:fix": "prettier --write ./src ./css"
4747
},
4848
"dependencies": {
49-
"sequential-workflow-editor-model": "^0.13.0",
49+
"sequential-workflow-editor-model": "^0.13.1",
5050
"sequential-workflow-model": "^0.2.0"
5151
},
5252
"peerDependencies": {
53-
"sequential-workflow-editor-model": "^0.13.0",
53+
"sequential-workflow-editor-model": "^0.13.1",
5454
"sequential-workflow-model": "^0.2.0"
5555
},
5656
"devDependencies": {

model/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sequential-workflow-editor-model",
3-
"version": "0.13.0",
3+
"version": "0.13.1",
44
"homepage": "https://nocode-js.com/",
55
"author": {
66
"name": "NoCode JS",
Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
1+
import { defaultI18n } from '../i18n';
12
import { variableNameValidator } from './variable-name-validator';
23

34
describe('VariableNameValidator', () => {
5+
const i18n = defaultI18n;
6+
47
it('creates correctly', () => {
5-
expect(variableNameValidator('a')).toBeNull();
6-
expect(variableNameValidator('ab')).toBeNull();
7-
expect(variableNameValidator('a-b-c')).toBeNull();
8-
expect(variableNameValidator('FooBar')).toBeNull();
9-
expect(variableNameValidator('foo_bar')).toBeNull();
10-
expect(variableNameValidator('item1')).toBeNull();
11-
expect(variableNameValidator('item_1')).toBeNull();
12-
expect(variableNameValidator('Item_1')).toBeNull();
13-
expect(variableNameValidator('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_b')).toBeNull();
8+
expect(variableNameValidator(i18n, 'a')).toBeNull();
9+
expect(variableNameValidator(i18n, 'ab')).toBeNull();
10+
expect(variableNameValidator(i18n, 'a-b-c')).toBeNull();
11+
expect(variableNameValidator(i18n, 'FooBar')).toBeNull();
12+
expect(variableNameValidator(i18n, 'foo_bar')).toBeNull();
13+
expect(variableNameValidator(i18n, 'item1')).toBeNull();
14+
expect(variableNameValidator(i18n, 'item_1')).toBeNull();
15+
expect(variableNameValidator(i18n, 'Item_1')).toBeNull();
16+
expect(variableNameValidator(i18n, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_b')).toBeNull();
1417

15-
expect(variableNameValidator('1')).toContain('invalid characters');
16-
expect(variableNameValidator('fooBar&')).toContain('invalid characters');
17-
expect(variableNameValidator('1_')).toContain('invalid characters');
18-
expect(variableNameValidator('')).toContain('is required');
19-
expect(variableNameValidator('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_bc')).toContain('32 characters or less');
18+
expect(variableNameValidator(i18n, '1')).toContain('invalid characters');
19+
expect(variableNameValidator(i18n, 'fooBar&')).toContain('invalid characters');
20+
expect(variableNameValidator(i18n, '1_')).toContain('invalid characters');
21+
expect(variableNameValidator(i18n, '')).toContain('is required');
22+
expect(variableNameValidator(i18n, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_bc')).toContain('32 characters or less');
2023
});
2124
});
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1+
import { I18n } from '../i18n';
2+
13
const MAX_LENGTH = 32;
24

3-
export function variableNameValidator(name: string): string | null {
5+
export function variableNameValidator(i18n: I18n, name: string): string | null {
46
if (!name) {
5-
return 'Variable name is required.';
7+
return i18n('variableName.required', 'Variable name is required');
68
}
79
if (name.length > MAX_LENGTH) {
8-
return `Variable name must be ${MAX_LENGTH} characters or less.`;
10+
return i18n('variableName.maxLength', 'Variable name must be :n characters or less', {
11+
n: String(MAX_LENGTH)
12+
});
913
}
1014
if (!/^[A-Za-z][a-zA-Z_0-9-]*$/.test(name)) {
11-
return 'Variable name contains invalid characters.';
15+
return i18n('variableName.invalidCharacters', 'Variable name contains invalid characters');
1216
}
1317
return null;
1418
}

model/src/value-models/nullable-variable-definition/nullable-variable-definition-value-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export const createNullableVariableDefinitionValueModel = (
4343
);
4444
}
4545
if (value) {
46-
const nameError = variableNameValidator(value.name);
46+
const nameError = variableNameValidator(context.i18n, value.name);
4747
if (nameError) {
4848
return createValidationSingleError(nameError);
4949
}

model/src/value-models/variable-definitions/variable-definitions-value-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const createVariableDefinitionsValueModel = (
3636
const value = context.getValue();
3737

3838
value.variables.forEach((variable, index) => {
39-
const nameError = variableNameValidator(variable.name);
39+
const nameError = variableNameValidator(context.i18n, variable.name);
4040
if (nameError) {
4141
errors[index] = nameError;
4242
return;

0 commit comments

Comments
 (0)