@leyyo/common 1.0.0 → 1.0.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.
Files changed (109) hide show
  1. package/dist/assertion/common-assertion-impl.d.ts +38 -7
  2. package/dist/assertion/common-assertion-impl.js +64 -26
  3. package/dist/assertion/index-types.d.ts +466 -75
  4. package/dist/assertion/index.d.ts +0 -1
  5. package/dist/assertion/index.js +0 -1
  6. package/dist/error/common-error-impl.d.ts +6 -4
  7. package/dist/error/common-error-impl.js +8 -4
  8. package/dist/error/index-types.d.ts +5 -54
  9. package/dist/error/index.d.ts +0 -5
  10. package/dist/error/index.js +0 -5
  11. package/dist/{error → exception}/assertion-exception.d.ts +1 -1
  12. package/dist/{error → exception}/caused-exception.d.ts +1 -1
  13. package/dist/{error → exception}/developer-exception.d.ts +1 -1
  14. package/dist/{error → exception}/exception.d.ts +4 -3
  15. package/dist/{error → exception}/exception.js +4 -4
  16. package/dist/exception/index-types.d.ts +30 -0
  17. package/dist/exception/index.d.ts +6 -0
  18. package/dist/exception/index.js +22 -0
  19. package/dist/fqn/common-fqn-impl.d.ts +11 -0
  20. package/dist/fqn/common-fqn-impl.js +47 -0
  21. package/dist/fqn/index-types.d.ts +6 -0
  22. package/dist/fqn/index-types.js +2 -0
  23. package/dist/fqn/index.d.ts +2 -0
  24. package/dist/{callback → fqn}/index.js +1 -1
  25. package/dist/hook/common-hook-impl.d.ts +30 -0
  26. package/dist/hook/common-hook-impl.js +111 -0
  27. package/dist/hook/index-types.d.ts +56 -0
  28. package/dist/hook/index-types.js +2 -0
  29. package/dist/hook/index.d.ts +2 -0
  30. package/dist/hook/index.js +18 -0
  31. package/dist/index.d.ts +11 -5
  32. package/dist/index.js +19 -6
  33. package/dist/is/common-is-impl.d.ts +36 -15
  34. package/dist/is/common-is-impl.js +35 -10
  35. package/dist/is/index-types.d.ts +142 -20
  36. package/dist/leyyo/index-types.d.ts +4 -2
  37. package/dist/leyyo/leyyo-impl.d.ts +4 -2
  38. package/dist/leyyo/leyyo-impl.js +37 -29
  39. package/dist/literal/country-code.d.ts +8 -0
  40. package/dist/literal/country-code.js +17 -0
  41. package/dist/literal/environment.d.ts +8 -0
  42. package/dist/literal/environment.js +7 -0
  43. package/dist/literal/http-method.d.ts +8 -0
  44. package/dist/literal/http-method.js +7 -0
  45. package/dist/literal/http-place.d.ts +8 -0
  46. package/dist/literal/http-place.js +7 -0
  47. package/dist/literal/index-types.d.ts +6 -0
  48. package/dist/literal/index-types.js +2 -0
  49. package/dist/literal/index.d.ts +14 -0
  50. package/dist/literal/index.js +30 -0
  51. package/dist/literal/key-value.d.ts +4 -0
  52. package/dist/literal/key-value.js +7 -0
  53. package/dist/literal/language-code.d.ts +8 -0
  54. package/dist/literal/language-code.js +12 -0
  55. package/dist/literal/locale-code.d.ts +10 -0
  56. package/dist/literal/locale-code.js +17 -0
  57. package/dist/literal/primitive.d.ts +8 -0
  58. package/dist/literal/primitive.js +7 -0
  59. package/dist/literal/real-value.d.ts +8 -0
  60. package/dist/literal/real-value.js +7 -0
  61. package/dist/literal/severity.d.ts +8 -0
  62. package/dist/literal/severity.js +7 -0
  63. package/dist/literal/storage-type.d.ts +8 -0
  64. package/dist/literal/storage-type.js +7 -0
  65. package/dist/literal/weak-false.d.ts +8 -0
  66. package/dist/literal/weak-false.js +7 -0
  67. package/dist/literal/weak-true.d.ts +8 -0
  68. package/dist/literal/weak-true.js +7 -0
  69. package/dist/log/common-log-impl.d.ts +3 -2
  70. package/dist/log/common-log-impl.js +6 -6
  71. package/dist/log/index-types.d.ts +2 -55
  72. package/dist/log/index-types.js +0 -1
  73. package/dist/log/index.d.ts +1 -1
  74. package/dist/log/index.js +1 -1
  75. package/dist/log/logger-impl.d.ts +4 -3
  76. package/dist/log/logger-impl.js +7 -6
  77. package/dist/{assertion → shared}/assert.js +1 -0
  78. package/dist/{aliases.d.ts → shared/index-aliases.d.ts} +32 -4
  79. package/dist/shared/index-types.d.ts +141 -0
  80. package/dist/shared/index-types.js +3 -0
  81. package/dist/shared/index.d.ts +5 -0
  82. package/dist/shared/index.js +21 -0
  83. package/dist/storage/common-storage-impl.d.ts +3 -2
  84. package/dist/storage/common-storage-impl.js +3 -3
  85. package/dist/storage/index-types.d.ts +3 -18
  86. package/dist/storage/index.d.ts +0 -1
  87. package/dist/storage/index.js +0 -1
  88. package/dist/to/common-to-impl.d.ts +19 -19
  89. package/dist/to/common-to-impl.js +11 -11
  90. package/dist/to/index-types.d.ts +18 -48
  91. package/package.json +1 -1
  92. package/dist/callback/common-callback-impl.d.ts +0 -31
  93. package/dist/callback/common-callback-impl.js +0 -134
  94. package/dist/callback/index-types.d.ts +0 -75
  95. package/dist/callback/index.d.ts +0 -2
  96. package/dist/literals.d.ts +0 -98
  97. package/dist/literals.js +0 -77
  98. package/dist/{error → exception}/assertion-exception.js +0 -0
  99. package/dist/{error → exception}/caused-exception.js +0 -0
  100. package/dist/{error → exception}/developer-exception.js +0 -0
  101. package/dist/{callback → exception}/index-types.js +0 -0
  102. package/dist/{error → exception}/multiple-exception.d.ts +1 -1
  103. package/dist/{error → exception}/multiple-exception.js +0 -0
  104. package/dist/{assertion → shared}/assert.d.ts +1 -1
  105. /package/dist/{aliases.js → shared/index-aliases.js} +0 -0
  106. /package/dist/{constants.d.ts → shared/index-constants.d.ts} +0 -0
  107. /package/dist/{constants.js → shared/index-constants.js} +0 -0
  108. /package/dist/{storage → shared}/list.d.ts +0 -0
  109. /package/dist/{storage → shared}/list.js +0 -0
@@ -1,34 +1,65 @@
1
- import { AssertionCallback, AssertionOpt, CommonAssertion, CommonAssertionSecure } from "./index-types";
1
+ import { CommonAssertion, CommonAssertionSecure } from "./index-types";
2
2
  import { Leyyo } from "../leyyo";
3
- import { TypeOpt } from "../to";
4
- import { Arr, Obj } from "../aliases";
3
+ import { Arr, AssertionCallback, AssertionOpt, Obj, ToTypeOpt } from "../shared";
4
+ /** @inheritDoc */
5
5
  export declare class CommonAssertionImpl implements CommonAssertion, CommonAssertionSecure {
6
6
  private is;
7
- private callback;
7
+ private fqn;
8
8
  constructor();
9
- private buildMessage;
9
+ /**
10
+ * Build error parameters as message and params
11
+ * */
12
+ private buildErrorParameters;
13
+ /**
14
+ * Inner secure json function, it will be used after creating weak set
15
+ * */
10
16
  _secureJson(value: unknown, level: number, set: WeakSet<Obj>): unknown;
17
+ /** @inheritDoc */
11
18
  raise(opt: string | AssertionOpt | AssertionCallback, value?: any, indicator?: string, def?: string): void;
19
+ /** @inheritDoc */
12
20
  emptyFn(...params: Arr): void;
21
+ /** @inheritDoc */
13
22
  secureJson<E = unknown>(value: unknown): E;
14
- realNumber(value: number, opt?: TypeOpt): number;
23
+ /** @inheritDoc */
15
24
  array(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
25
+ /** @inheritDoc */
16
26
  boolean(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
27
+ /** @inheritDoc */
17
28
  clazz(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
29
+ /** @inheritDoc */
18
30
  date(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
31
+ /** @inheritDoc */
19
32
  func(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
33
+ /** @inheritDoc */
20
34
  integer(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
35
+ /** @inheritDoc */
21
36
  key(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
37
+ /** @inheritDoc */
22
38
  notEmpty(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
39
+ /** @inheritDoc */
23
40
  number(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
41
+ /** @inheritDoc */
42
+ realNumber(value: number, opt?: ToTypeOpt): number;
43
+ /** @inheritDoc */
24
44
  object(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
45
+ /** @inheritDoc */
25
46
  positiveInteger(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
47
+ /** @inheritDoc */
48
+ safeInteger(value: any, opt?: string | AssertionCallback | AssertionOpt): void;
49
+ /** @inheritDoc */
26
50
  positiveNumber(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
51
+ /** @inheritDoc */
27
52
  primitive(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
53
+ /** @inheritDoc */
28
54
  string(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
55
+ /** @inheritDoc */
29
56
  text(value: unknown, opt?: string | AssertionOpt | AssertionCallback): string;
30
- value(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
57
+ /** @inheritDoc */
58
+ realValue(value: unknown, opt?: string | AssertionOpt | AssertionCallback): void;
59
+ /** @inheritDoc */
31
60
  get $back(): CommonAssertion;
61
+ /** @inheritDoc */
32
62
  $init(leyyo: Leyyo): void;
63
+ /** @inheritDoc */
33
64
  get $secure(): CommonAssertionSecure;
34
65
  }
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommonAssertionImpl = void 0;
4
- const error_1 = require("../error");
4
+ const exception_1 = require("../exception");
5
+ // noinspection JSUnusedGlobalSymbols
6
+ /** @inheritDoc */
5
7
  class CommonAssertionImpl {
6
8
  // endregion properties
7
9
  constructor() {
8
10
  }
9
11
  // region internal
10
- buildMessage(v2, indicator) {
12
+ /**
13
+ * Build error parameters as message and params
14
+ * */
15
+ buildErrorParameters(v2, indicator) {
11
16
  if (typeof v2 === 'string') {
12
17
  return { message: v2, params: { indicator } };
13
18
  }
@@ -21,7 +26,7 @@ class CommonAssertionImpl {
21
26
  }
22
27
  if (typeof v2 === 'function') {
23
28
  try {
24
- return this.buildMessage(v2(), indicator);
29
+ return this.buildErrorParameters(v2(), indicator);
25
30
  }
26
31
  catch (e) {
27
32
  return { params: { indicator, callbackError: e.message } };
@@ -36,6 +41,9 @@ class CommonAssertionImpl {
36
41
  }
37
42
  return { params: { json, indicator } };
38
43
  }
44
+ /**
45
+ * Inner secure json function, it will be used after creating weak set
46
+ * */
39
47
  _secureJson(value, level, set) {
40
48
  if ([null, undefined].includes(value)) {
41
49
  return null;
@@ -43,10 +51,10 @@ class CommonAssertionImpl {
43
51
  switch (typeof value) {
44
52
  case 'object':
45
53
  if (set.has(value)) {
46
- return `<circular>${this.callback.fqnName(value === null || value === void 0 ? void 0 : value.constructor)}`;
54
+ return `<circular>${this.fqn.name(value === null || value === void 0 ? void 0 : value.constructor)}`;
47
55
  }
48
56
  if (level >= 10) {
49
- return `<max-depth>${this.callback.fqnName(value === null || value === void 0 ? void 0 : value.constructor)}`;
57
+ return `<max-depth>${this.fqn.name(value === null || value === void 0 ? void 0 : value.constructor)}`;
50
58
  }
51
59
  set.add(value);
52
60
  if (Array.isArray(value)) {
@@ -68,7 +76,7 @@ class CommonAssertionImpl {
68
76
  }
69
77
  return obj;
70
78
  case 'function':
71
- return `<function>${this.callback.fqnName(value)}`;
79
+ return `<function>${this.fqn.name(value)}`;
72
80
  case 'symbol':
73
81
  return `<symbol>${value.toString()}`;
74
82
  }
@@ -76,133 +84,163 @@ class CommonAssertionImpl {
76
84
  }
77
85
  // endregion internal
78
86
  // region raise
87
+ /** @inheritDoc */
79
88
  raise(opt, value, indicator, def) {
80
- const { message, params } = this.buildMessage(opt, indicator);
89
+ const { message, params } = this.buildErrorParameters(opt, indicator);
81
90
  const type = typeof value;
82
91
  switch (type) {
83
92
  case "object":
84
- params.type = `object(${this.callback.fqnName(value.constructor)})`;
93
+ params.type = `object(${this.fqn.name(value.constructor)})`;
85
94
  break;
86
95
  case "function":
87
- params.type = `function(${this.callback.fqnName(value)})`;
96
+ params.type = `function(${this.fqn.name(value)})`;
88
97
  break;
89
98
  default:
90
99
  params.type = type;
91
100
  break;
92
101
  }
93
102
  def = def !== null && def !== void 0 ? def : 'Assertion error';
94
- throw new error_1.AssertionException(message !== null && message !== void 0 ? message : def, params);
103
+ throw new exception_1.AssertionException(message !== null && message !== void 0 ? message : def, params);
95
104
  }
105
+ /** @inheritDoc */
96
106
  // noinspection JSUnusedLocalSymbols
97
- emptyFn(...params) { }
107
+ emptyFn(...params) {
108
+ }
109
+ /** @inheritDoc */
98
110
  secureJson(value) {
99
111
  return this._secureJson(value, 0, new WeakSet());
100
112
  }
101
- realNumber(value, opt) {
102
- if (isNaN(value) || !isFinite(value)) {
103
- if (!opt) {
104
- opt = {};
105
- }
106
- if (!opt.silent) {
107
- delete opt.silent;
108
- this.raise(opt, value, 'not.real.number', 'Not real number');
109
- }
110
- return null;
111
- }
112
- return value;
113
- }
114
113
  // endregion raise
115
114
  // region types
115
+ /** @inheritDoc */
116
116
  array(value, opt) {
117
117
  if (!this.is.array(value)) {
118
118
  this.raise(opt, value, 'invalid.array.value', 'Invalid array value');
119
119
  }
120
120
  }
121
+ /** @inheritDoc */
121
122
  boolean(value, opt) {
122
123
  if (!this.is.boolean(value)) {
123
124
  this.raise(opt, value, 'invalid.boolean.value', 'Invalid boolean value');
124
125
  }
125
126
  }
127
+ /** @inheritDoc */
126
128
  clazz(value, opt) {
127
129
  if (!this.is.clazz(value)) {
128
130
  this.raise(opt, value, 'invalid.class.value', 'Invalid class value');
129
131
  }
130
132
  }
133
+ /** @inheritDoc */
131
134
  date(value, opt) {
132
135
  if (!(value instanceof Date)) {
133
136
  this.raise(opt, value, 'invalid.date.value', 'Invalid date value');
134
137
  }
135
138
  }
139
+ /** @inheritDoc */
136
140
  func(value, opt) {
137
141
  if (!this.is.func(value)) {
138
142
  this.raise(opt, value, 'invalid.function.value', 'Invalid function value');
139
143
  }
140
144
  }
145
+ /** @inheritDoc */
141
146
  integer(value, opt) {
142
147
  if (!this.is.integer(value)) {
143
148
  this.raise(opt, value, 'invalid.integer.value', 'Invalid integer value');
144
149
  }
145
150
  }
151
+ /** @inheritDoc */
146
152
  key(value, opt) {
147
153
  if (!this.is.key(value)) {
148
154
  this.raise(opt, value, 'invalid.key.value', 'Invalid key value');
149
155
  }
150
156
  }
157
+ /** @inheritDoc */
151
158
  notEmpty(value, opt) {
152
159
  if (this.is.empty(value)) {
153
160
  this.raise(opt, value, 'empty.value', 'Empty value');
154
161
  }
155
162
  }
163
+ /** @inheritDoc */
156
164
  number(value, opt) {
157
165
  if (!this.is.number(value)) {
158
166
  this.raise(opt, value, 'invalid.number.value', 'Invalid number value');
159
167
  }
160
168
  }
169
+ /** @inheritDoc */
170
+ realNumber(value, opt) {
171
+ if (isNaN(value) || !isFinite(value)) {
172
+ if (!opt) {
173
+ opt = {};
174
+ }
175
+ if (!opt.silent) {
176
+ delete opt.silent;
177
+ this.raise(opt, value, 'not.real.number', 'Not real number');
178
+ }
179
+ return null;
180
+ }
181
+ return value;
182
+ }
183
+ /** @inheritDoc */
161
184
  object(value, opt) {
162
185
  if (!this.is.object(value)) {
163
186
  this.raise(opt, value, 'invalid.object.value', 'Invalid object value');
164
187
  }
165
188
  }
189
+ /** @inheritDoc */
166
190
  positiveInteger(value, opt) {
167
191
  if (!this.is.integer(value) || (value <= 0)) {
168
192
  this.raise(opt, value, 'invalid.positive.integer.value', 'Invalid positive integer value');
169
193
  }
170
194
  }
195
+ /** @inheritDoc */
196
+ safeInteger(value, opt) {
197
+ if (!this.is.safeInteger(value) || (value <= 0)) {
198
+ this.raise(opt, value, 'invalid.safe.integer.value', 'Invalid safe integer value');
199
+ }
200
+ }
201
+ /** @inheritDoc */
171
202
  positiveNumber(value, opt) {
172
203
  if (!this.is.number(value) || (value <= 0)) {
173
204
  this.raise(opt, value, 'invalid.positive.number.value', 'Invalid positive number value');
174
205
  }
175
206
  }
207
+ /** @inheritDoc */
176
208
  primitive(value, opt) {
177
209
  if (!this.is.primitive(value)) {
178
210
  this.raise(opt, value, 'invalid.primitive.value', 'Invalid primitive value');
179
211
  }
180
212
  }
213
+ /** @inheritDoc */
181
214
  string(value, opt) {
182
215
  if (!this.is.string(value)) {
183
216
  this.raise(opt, value, 'invalid.string.value', 'Invalid string value');
184
217
  }
185
218
  }
219
+ /** @inheritDoc */
186
220
  text(value, opt) {
187
221
  if (!this.is.text(value)) {
188
222
  this.raise(opt, value, 'invalid.text.value', 'Invalid text value');
189
223
  }
190
224
  return value.trim();
191
225
  }
192
- value(value, opt) {
226
+ /** @inheritDoc */
227
+ realValue(value, opt) {
193
228
  if (!this.is.text(value)) {
194
229
  this.raise(opt, value, 'invalid.value.value', 'Invalid regular value');
195
230
  }
196
231
  }
197
232
  // endregion types
198
233
  // region secure
234
+ /** @inheritDoc */
199
235
  get $back() {
200
236
  return this;
201
237
  }
238
+ /** @inheritDoc */
202
239
  $init(leyyo) {
203
240
  this.is = leyyo.is;
204
- this.callback = leyyo.callback;
241
+ this.fqn = leyyo.fqn;
205
242
  }
243
+ /** @inheritDoc */
206
244
  get $secure() {
207
245
  return this;
208
246
  }