Skip to content

Commit 838b286

Browse files
committed
Initial code drop
1 parent e7b5eb8 commit 838b286

File tree

535 files changed

+1130442
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

535 files changed

+1130442
-1
lines changed

.editorconfig

Lines changed: 535 additions & 0 deletions
Large diffs are not rendered by default.

.eslintrc.json

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
{
2+
"root": true,
3+
"extends": [
4+
"eslint:recommended",
5+
"plugin:@typescript-eslint/recommended"
6+
],
7+
"env": {
8+
"es6": true,
9+
"browser": true
10+
},
11+
"rules": {
12+
"camelcase": "error",
13+
"comma-dangle": [
14+
"error",
15+
{
16+
"arrays": "always-multiline",
17+
"objects": "always-multiline",
18+
"imports": "always-multiline",
19+
"exports": "always-multiline",
20+
"functions": "always-multiline"
21+
}
22+
],
23+
"eol-last": [
24+
"error",
25+
"always"
26+
],
27+
"eqeqeq": [
28+
"error",
29+
"always"
30+
],
31+
"no-confusing-arrow": "error",
32+
"no-useless-rename": "error",
33+
"no-unexpected-multiline": "error",
34+
// "object-shorthand": [
35+
// "error",
36+
// "consistent"
37+
// ],
38+
"operator-linebreak": "error",
39+
"prefer-arrow-callback": "error",
40+
"prefer-const": "error",
41+
"prefer-numeric-literals": "error",
42+
"prefer-rest-params": "error",
43+
"prefer-spread": "error",
44+
"prefer-template": "error",
45+
"prefer-destructuring": "error",
46+
"quotes": [
47+
"error",
48+
"single"
49+
],
50+
"semi": [
51+
"error",
52+
"never"
53+
],
54+
// "@typescript-eslint/consistent-type-imports": "error",
55+
"@typescript-eslint/member-delimiter-style": [
56+
"error",
57+
{
58+
"multiline": {
59+
"delimiter": "none"
60+
}
61+
}
62+
],
63+
"@typescript-eslint/semi": [
64+
"error",
65+
"never"
66+
],
67+
"@typescript-eslint/explicit-member-accessibility": [
68+
"error",
69+
{
70+
"accessibility": "no-public",
71+
"overrides": {
72+
"parameterProperties": "off"
73+
}
74+
}
75+
],
76+
"@typescript-eslint/explicit-function-return-type": [
77+
"error",
78+
{
79+
"allowExpressions": true,
80+
"allowTypedFunctionExpressions": true
81+
}
82+
],
83+
"@typescript-eslint/no-non-null-assertion": "off",
84+
"@typescript-eslint/no-inferrable-types": "off",
85+
"yoda": "error"
86+
},
87+
"parserOptions": {
88+
"jsx": true,
89+
"ecmaVersion": 6,
90+
"sourceType": "module"
91+
},
92+
"overrides": [
93+
{
94+
"files": [
95+
"**/src/**/*.ts(x)"
96+
],
97+
"parserOptions": {
98+
"parser": "@typescript-eslint/parser",
99+
"project": "./tsconfig.json"
100+
},
101+
"plugins": [
102+
"@typescript-eslint"
103+
],
104+
"globals": {
105+
"browser": true
106+
},
107+
"env": {
108+
"browser": true
109+
},
110+
"rules": {
111+
"indent": "off",
112+
"@typescript-eslint/indent": [
113+
"error",
114+
2,
115+
{
116+
"FunctionExpression": {
117+
"parameters": "first"
118+
},
119+
"SwitchCase": 1,
120+
"ignoredNodes": [
121+
"Decorator"
122+
]
123+
}
124+
],
125+
"@typescript-eslint/array-type": "error"
126+
}
127+
},
128+
{
129+
"files": [
130+
"index.ts"
131+
],
132+
"plugins": [
133+
"sort-exports"
134+
],
135+
"rules": {
136+
"sort-exports/sort-exports": [
137+
"error"
138+
]
139+
}
140+
}
141+
],
142+
"ignorePatterns": [
143+
"*.d.ts"
144+
]
145+
}

.gitattributes

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
*.js text eol=lf
2+
*.ts text eol=lf
3+
*.md text eol=lf
4+
*.yaml text eol=lf
5+
*.html text eol=lf
6+
*.json text eol=lf
7+
*.sh text eol=lf
8+
*.svg text eol=lf
9+
*.cjs text eol=lf
10+
.browserslistrc text eol=lf
11+
*.mp4 binary
12+
*.png binary
13+
*.jpg binary
14+
*.gif binary
15+
*.vsdx binary
16+
*.ttf binary
17+
*.eot binary
18+
*.woff binary
19+
*.woff2 binary
20+
.gitignore text eol=lf
21+
.npmignore text eol=lf
22+
.gitattributes text eol=lf
23+
LICENSE eol=lf
24+
NOTICE eol=lf

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
node_modules/
2+
.env
3+
.vuepress
4+
temp
5+
coverage
6+
.idea
7+
.DS_store
8+
export
9+
dist/
10+
*.iml
11+
test/versions/

.jest/jasmin.d.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/**
2+
* Copyright 2024-2025 NetCracker Technology Corporation
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
import CustomEqualityTester = jasmine.CustomEqualityTester
18+
import 'jest-extended'
19+
20+
declare type ExpectedRecursive<T> = T | ObjectContaining<T> | AsymmetricMatcher<any> | {
21+
[K in keyof T]: ExpectedRecursive<T[K]> | Any;
22+
};
23+
24+
export declare interface AsymmetricMatcher<TValue> {
25+
asymmetricMatch(other: TValue, customTesters: ReadonlyArray<CustomEqualityTester>): boolean;
26+
27+
jasmineToString?(): string;
28+
}
29+
30+
export declare interface Any extends AsymmetricMatcher<any> {
31+
(...params: any[]): any; // jasmine.Any can also be a function
32+
new(expectedClass: any): any;
33+
34+
jasmineMatches(other: any): boolean;
35+
36+
jasmineToString(): string;
37+
}
38+
39+
export declare interface ArrayContaining<T> extends AsymmetricMatcher<any> {
40+
new?(sample: ArrayLike<T>): ArrayLike<T>;
41+
}
42+
43+
export declare interface ObjectContaining<T> extends AsymmetricMatcher<any> {
44+
new?(sample: { [K in keyof T]?: any }): { [K in keyof T]?: any };
45+
46+
jasmineMatches(other: any, mismatchKeys: any[], mismatchValues: any[]): boolean;
47+
48+
jasmineToString?(): string;
49+
}
50+
51+
export type RecursiveMatcher<T> = {
52+
[P in keyof T]?: T[P] extends (infer U)[] ? ArrayContaining<ExpectedRecursive<U>> :
53+
T[P] extends object[] ? ExpectedRecursive<T[P]> :
54+
T[P];
55+
}

.jest/tsconfig.spec.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "../tsconfig.json",
3+
"files": [
4+
"./.jest/jasmin.d.ts"
5+
]
6+
}

.npmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!dist/**/*

.vscode/launch.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Run debug",
6+
"type": "node",
7+
"request": "launch",
8+
"args": ["${workspaceFolder}/src/index.ts"],
9+
"runtimeArgs": ["-r", "ts-node/register"],
10+
"cwd": "${workspaceRoot}",
11+
"internalConsoleOptions": "openOnSessionStart",
12+
"outputCapture": "std",
13+
},
14+
{
15+
"name": "Debug Jest Tests",
16+
"type": "node",
17+
"request": "launch",
18+
"runtimeArgs": ["--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", "--runInBand", "--coverage", "false"],
19+
"console": "integratedTerminal",
20+
"internalConsoleOptions": "neverOpen",
21+
"outputCapture": "std"
22+
}
23+
]
24+
}
25+

CODE-OF-CONDUCT.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Code of Conduct
2+
3+
This repository is governed by following code of conduct guidelines.
4+
5+
We put collaboration, trust, respect and transparency as core values for our community.
6+
Our community welcomes participants from all over the world with different experience,
7+
opinion and ideas to share.
8+
9+
We have adopted this code of conduct and require all contributors to agree with that to build a healthy,
10+
safe and productive community for all.
11+
12+
The guideline is aimed to support a community where all people should feel safe to participate,
13+
introduce new ideas and inspire others, regardless of:
14+
15+
* Age
16+
* Gender
17+
* Gender identity or expression
18+
* Family status
19+
* Marital status
20+
* Ability
21+
* Ethnicity
22+
* Race
23+
* Sex characteristics
24+
* Sexual identity and orientation
25+
* Education
26+
* Native language
27+
* Background
28+
* Caste
29+
* Religion
30+
* Geographic location
31+
* Socioeconomic status
32+
* Personal appearance
33+
* Any other dimension of diversity
34+
35+
## Our Standards
36+
37+
We are welcoming the following behavior:
38+
39+
* Be respectful for different ideas, opinions and points of view
40+
* Be constructive and professional
41+
* Use inclusive language
42+
* Be collaborative and show the empathy
43+
* Focus on the best results for the community
44+
45+
The following behavior is unacceptable:
46+
47+
* Violence, threats of violence, or inciting others to commit self-harm
48+
* Personal attacks, trolling, intentionally spreading misinformation, insulting/derogatory comments
49+
* Public or private harassment
50+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
51+
* Derogatory language
52+
* Encouraging unacceptable behavior
53+
* Other conduct which could reasonably be considered inappropriate in a professional community
54+
55+
## Our Responsibilities
56+
57+
Project maintainers are responsible for clarifying the standards of the Code of Conduct
58+
and are expected to take appropriate actions in response to any instances of unacceptable behavior.
59+
60+
Project maintainers have the right and responsibility to remove, edit, or reject comments,
61+
commits, code, wiki edits, issues, and other contributions that are not aligned
62+
to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors
63+
that they deem inappropriate, threatening, offensive, or harmful.
64+
65+
## Reporting
66+
67+
If you believe you’re experiencing unacceptable behavior that will not be tolerated as outlined above,
68+
please report to `[email protected]`. All complaints will be reviewed and investigated and will result in a response
69+
that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality
70+
with regard to the reporter of an incident.
71+
72+
Please also report if you observe a potentially dangerous situation, someone in distress, or violations of these guidelines,
73+
even if the situation is not happening to you.

CONTRIBUTING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Contribution Guide
2+
3+
We'd love to accept patches and contributions to this project.
4+
Please, follow these guidelines to make the contribution process easy and effective for everyone involved.
5+
6+
## Contributor License Agreement
7+
8+
You must sign the [Contributor License Agreement](https://pages.netcracker.com/cla-main.html) in order to contribute.
9+
10+
## Code of Conduct
11+
12+
Please make sure to read and follow the [Code of Conduct](CODE-OF-CONDUCT.md).

0 commit comments

Comments
 (0)