functional-models 1.1.0 → 1.1.4

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.
Files changed (103) hide show
  1. package/package.json +5 -3
  2. package/src/constants.d.ts +14 -0
  3. package/src/constants.js +19 -0
  4. package/src/constants.js.map +1 -0
  5. package/src/errors.d.ts +9 -0
  6. package/src/errors.js +15 -0
  7. package/src/errors.js.map +1 -0
  8. package/src/index.d.ts +10 -0
  9. package/src/index.js +41 -0
  10. package/src/index.js.map +1 -0
  11. package/src/interfaces.d.ts +145 -0
  12. package/src/interfaces.js +5 -0
  13. package/src/interfaces.js.map +1 -0
  14. package/src/lazy.d.ts +2 -0
  15. package/src/lazy.js +37 -0
  16. package/src/lazy.js.map +1 -0
  17. package/src/methods.d.ts +4 -0
  18. package/src/methods.js +18 -0
  19. package/src/methods.js.map +1 -0
  20. package/src/models.d.ts +3 -0
  21. package/src/models.js +128 -0
  22. package/src/models.js.map +1 -0
  23. package/src/properties.d.ts +16 -0
  24. package/src/properties.js +208 -0
  25. package/src/properties.js.map +1 -0
  26. package/src/serialization.d.ts +3 -0
  27. package/src/serialization.js +49 -0
  28. package/src/serialization.js.map +1 -0
  29. package/src/utils.d.ts +4 -0
  30. package/src/utils.js +44 -0
  31. package/src/utils.js.map +1 -0
  32. package/src/validation.d.ts +29 -0
  33. package/src/validation.js +286 -0
  34. package/src/validation.js.map +1 -0
  35. package/stepDefinitions/oldSteps.d.ts +1 -0
  36. package/stepDefinitions/oldSteps.js +191 -0
  37. package/stepDefinitions/oldSteps.js.map +1 -0
  38. package/stepDefinitions/tssteps.d.ts +1 -0
  39. package/stepDefinitions/tssteps.js +96 -0
  40. package/stepDefinitions/tssteps.js.map +1 -0
  41. package/test/src/errors.test.d.ts +1 -0
  42. package/test/src/errors.test.js +33 -0
  43. package/test/src/errors.test.js.map +1 -0
  44. package/test/src/index.test.d.ts +1 -0
  45. package/test/src/index.test.js +3 -0
  46. package/test/src/index.test.js.map +1 -0
  47. package/test/src/lazy.test.d.ts +1 -0
  48. package/test/src/lazy.test.js +28 -0
  49. package/test/src/lazy.test.js.map +1 -0
  50. package/test/src/methods.test.d.ts +1 -0
  51. package/test/src/methods.test.js +48 -0
  52. package/test/src/methods.test.js.map +1 -0
  53. package/test/src/models.test.d.ts +1 -0
  54. package/test/src/models.test.js +395 -0
  55. package/test/src/models.test.js.map +1 -0
  56. package/test/src/properties.test.d.ts +1 -0
  57. package/test/src/properties.test.js +724 -0
  58. package/test/src/properties.test.js.map +1 -0
  59. package/test/src/serialization.test.d.ts +1 -0
  60. package/test/src/serialization.test.js +91 -0
  61. package/test/src/serialization.test.js.map +1 -0
  62. package/test/src/utils.test.d.ts +1 -0
  63. package/test/src/utils.test.js +81 -0
  64. package/test/src/utils.test.js.map +1 -0
  65. package/test/src/validation.test.d.ts +1 -0
  66. package/test/src/validation.test.js +612 -0
  67. package/test/src/validation.test.js.map +1 -0
  68. package/.eslintignore +0 -5
  69. package/.eslintrc +0 -180
  70. package/.github/workflows/feature.yml +0 -26
  71. package/.github/workflows/ut.yml +0 -32
  72. package/.prettierignore +0 -7
  73. package/.prettierrc.json +0 -14
  74. package/LICENSE +0 -674
  75. package/cucumber.js +0 -10
  76. package/features/arrayFields.feature +0 -52
  77. package/features/basic-ts.feature +0 -13
  78. package/features/functions.feature +0 -10
  79. package/features/model.feature +0 -7
  80. package/features/validation.feature +0 -12
  81. package/index.js +0 -1
  82. package/src/constants.ts +0 -15
  83. package/src/errors.ts +0 -18
  84. package/src/index.ts +0 -11
  85. package/src/interfaces.ts +0 -323
  86. package/src/lazy.ts +0 -24
  87. package/src/methods.ts +0 -30
  88. package/src/models.ts +0 -183
  89. package/src/properties.ts +0 -375
  90. package/src/serialization.ts +0 -39
  91. package/src/utils.ts +0 -42
  92. package/src/validation.ts +0 -390
  93. package/stepDefinitions/oldSteps.ts +0 -216
  94. package/stepDefinitions/tssteps.ts +0 -107
  95. package/test/src/errors.test.ts +0 -31
  96. package/test/src/lazy.test.ts +0 -15
  97. package/test/src/methods.test.ts +0 -45
  98. package/test/src/models.test.ts +0 -417
  99. package/test/src/properties.test.ts +0 -747
  100. package/test/src/serialization.test.ts +0 -80
  101. package/test/src/utils.test.ts +0 -76
  102. package/test/src/validation.test.ts +0 -682
  103. package/tsconfig.json +0 -100
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.test.js","sourceRoot":"","sources":["../../../test/src/properties.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const serialization_1 = require("../../src/serialization");
14
+ describe('/src/serialization.ts', () => {
15
+ describe('#toObj()', () => {
16
+ it('serialize a very basic input of key-value', () => __awaiter(void 0, void 0, void 0, function* () {
17
+ const actual = yield (0, serialization_1.toJsonAble)({
18
+ key: () => 'value',
19
+ key2: () => 'value2',
20
+ })();
21
+ const expected = {
22
+ key: 'value',
23
+ key2: 'value2',
24
+ };
25
+ chai_1.assert.deepEqual(actual, expected);
26
+ }));
27
+ it('should call "toObj" on nested objects', () => __awaiter(void 0, void 0, void 0, function* () {
28
+ const actual = yield (0, serialization_1.toJsonAble)({
29
+ key: () => 'value',
30
+ key2: () => ({
31
+ get: { complex: () => ({ func: 'func' }) },
32
+ toObj: () => ({ func: 'value' }),
33
+ }),
34
+ })();
35
+ const expected = {
36
+ key: 'value',
37
+ key2: {
38
+ func: 'value',
39
+ },
40
+ };
41
+ chai_1.assert.deepEqual(actual, expected);
42
+ }));
43
+ it('should call "toObj" on very nested objects', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ const actual = yield (0, serialization_1.toJsonAble)({
45
+ key: () => 'value',
46
+ key2: () => ({
47
+ toObj: () => ({ func: 'value' }),
48
+ }),
49
+ })();
50
+ const expected = {
51
+ key: 'value',
52
+ key2: {
53
+ func: 'value',
54
+ },
55
+ };
56
+ chai_1.assert.deepEqual(actual, expected);
57
+ }));
58
+ it('should set an undefined property to null', () => __awaiter(void 0, void 0, void 0, function* () {
59
+ const actual = yield (0, serialization_1.toJsonAble)({
60
+ key: () => 'value',
61
+ key2: () => undefined,
62
+ })();
63
+ const expected = {
64
+ key: 'value',
65
+ key2: null,
66
+ };
67
+ chai_1.assert.deepEqual(actual, expected);
68
+ }));
69
+ it('should use the value null for null', () => __awaiter(void 0, void 0, void 0, function* () {
70
+ const actual = yield (0, serialization_1.toJsonAble)({
71
+ key: () => 'value',
72
+ key2: () => null,
73
+ })();
74
+ const expected = {
75
+ key: 'value',
76
+ key2: null,
77
+ };
78
+ chai_1.assert.deepEqual(actual, expected);
79
+ }));
80
+ it('should return "2021-09-16T21:51:56.039Z" for the set date.', () => __awaiter(void 0, void 0, void 0, function* () {
81
+ const actual = yield (0, serialization_1.toJsonAble)({
82
+ myDate: () => new Date('2021-09-16T21:51:56.039Z'),
83
+ })();
84
+ const expected = {
85
+ myDate: '2021-09-16T21:51:56.039Z',
86
+ };
87
+ chai_1.assert.deepEqual(actual, expected);
88
+ }));
89
+ });
90
+ });
91
+ //# sourceMappingURL=serialization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../../test/src/serialization.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chai_1 = require("chai");
7
+ const sinon_1 = __importDefault(require("sinon"));
8
+ const proxyquire_1 = __importDefault(require("proxyquire"));
9
+ const utils_1 = require("../../src/utils");
10
+ describe('/src/utils.ts', () => {
11
+ describe('#toTitleCase()', () => {
12
+ it('should make camelCase into CamelCase', () => {
13
+ const input = 'camelCase';
14
+ const actual = (0, utils_1.toTitleCase)(input);
15
+ const expected = 'CamelCase';
16
+ chai_1.assert.equal(actual, expected);
17
+ });
18
+ });
19
+ describe('#loweredTitleCase()', () => {
20
+ it('should turn TitleCase into titleCase', () => {
21
+ const actual = (0, utils_1.loweredTitleCase)('TitleCase');
22
+ const expected = 'titleCase';
23
+ chai_1.assert.equal(actual, expected);
24
+ });
25
+ });
26
+ describe('#createUuid()', () => {
27
+ before(() => {
28
+ // @ts-ignore
29
+ globalThis.global.window = undefined;
30
+ });
31
+ after(() => {
32
+ // @ts-ignore
33
+ globalThis.global.window = undefined;
34
+ });
35
+ describe('when not having access to "window"', () => {
36
+ it('should call get-random-values 31 times with hello-crypto', () => {
37
+ const getRandomValues = sinon_1.default.stub().returns('hello-crypto');
38
+ const utils = (0, proxyquire_1.default)('../../src/utils', {
39
+ 'get-random-values': getRandomValues,
40
+ });
41
+ const actual = utils.createUuid();
42
+ sinon_1.default.assert.callCount(getRandomValues, 31);
43
+ });
44
+ });
45
+ describe('when in a browser with "window"', () => {
46
+ it('should call window.crypto when it exists 31 times with hello-crypto', () => {
47
+ const getRandomValues = sinon_1.default.stub().returns('hello-crypto');
48
+ window = {
49
+ // @ts-ignore
50
+ crypto: {
51
+ getRandomValues,
52
+ },
53
+ };
54
+ const actual = (0, utils_1.createUuid)();
55
+ sinon_1.default.assert.callCount(getRandomValues, 31);
56
+ });
57
+ it('should call window.myCrypto when it exists 31 times with hello-crypto', () => {
58
+ const getRandomValues = sinon_1.default.stub().returns('hello-crypto');
59
+ window = {
60
+ // @ts-ignore
61
+ msCrypto: {
62
+ getRandomValues,
63
+ },
64
+ };
65
+ const actual = (0, utils_1.createUuid)();
66
+ sinon_1.default.assert.callCount(getRandomValues, 31);
67
+ });
68
+ it('should call get-random-values 31 times with hello-crypto if crypto and msCrypto are not available', () => {
69
+ const getRandomValues = sinon_1.default.stub().returns('hello-crypto');
70
+ // @ts-ignore
71
+ window = {};
72
+ const utils = (0, proxyquire_1.default)('../../src/utils', {
73
+ 'get-random-values': getRandomValues,
74
+ });
75
+ const actual = utils.createUuid();
76
+ sinon_1.default.assert.callCount(getRandomValues, 31);
77
+ });
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../test/src/utils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};