@nr1e/commons 0.1.2 → 0.1.3-alpha.0

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nr1e/commons",
3
3
  "description": "Provides common patterns for validation",
4
- "version": "0.1.2",
4
+ "version": "0.1.3-alpha.0",
5
5
  "type": "module",
6
6
  "author": "NR1E, Inc.",
7
7
  "publishConfig": {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=b64.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"b64.test.d.mts","sourceRoot":"","sources":["../../src/bitsnbytes/b64.test.mts"],"names":[],"mappings":""}
@@ -1,71 +0,0 @@
1
- import { test, expect } from 'vitest';
2
- import { stob64s, tob64s } from './b64.mjs';
3
- import * as crypto from 'crypto';
4
- test('Test tob64', () => {
5
- const str = '"Computer, compute to the last digit the value of pi" -- Spock';
6
- let b64s = [
7
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s=',
8
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw==',
9
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',
10
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A=',
11
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw==',
12
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',
13
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0=',
14
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ==',
15
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',
16
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI=',
17
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ==',
18
- ];
19
- for (let i = 0; i < b64s.length; i++) {
20
- expect(b64s[i]).toBe(stob64s(str.substring(0, str.length - i)));
21
- }
22
- // Test URL modified base64 encoding
23
- b64s = [
24
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s',
25
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw',
26
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',
27
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A',
28
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw',
29
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',
30
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0',
31
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ',
32
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',
33
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI',
34
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ',
35
- ];
36
- for (let i = 0; i < b64s.length; i++) {
37
- expect(b64s[i]).toBe(stob64s(str.substring(0, str.length - i), { b64chars: 'url' }));
38
- }
39
- // Test YUI modified base64 encoding
40
- b64s = [
41
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s-',
42
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw--',
43
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',
44
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A-',
45
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw--',
46
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',
47
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0-',
48
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ--',
49
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',
50
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI-',
51
- 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ--',
52
- ];
53
- for (let i = 0; i < b64s.length; i++) {
54
- expect(b64s[i]).toBe(stob64s(str.substring(0, str.length - i), { b64chars: 'yui' }));
55
- }
56
- });
57
- test('Compare to Node', () => {
58
- for (let i = 0; i < 100; i++) {
59
- const bytes = crypto.randomBytes(16);
60
- const str = tob64s(bytes, { b64chars: 'url' });
61
- const nodeStr = bytes.toString('base64url');
62
- expect(str).toEqual(nodeStr);
63
- }
64
- for (let i = 0; i < 100; i++) {
65
- const bytes = crypto.randomBytes(16);
66
- const str = tob64s(bytes, { b64chars: 'b64' });
67
- const nodeStr = bytes.toString('base64');
68
- expect(str).toEqual(nodeStr);
69
- }
70
- });
71
- //# sourceMappingURL=b64.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"b64.test.mjs","sourceRoot":"","sources":["../../src/bitsnbytes/b64.test.mts"],"names":[],"mappings":"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","sourcesContent":["import {test, expect} from 'vitest';\nimport {stob64s, tob64s} from './b64.mjs';\nimport * as crypto from 'crypto';\n\ntest('Test tob64', () => {\n const str = '\"Computer, compute to the last digit the value of pi\" -- Spock';\n let b64s = [\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s=',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw==',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A=',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw==',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0=',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ==',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI=',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ==',\n ];\n for (let i = 0; i < b64s.length; i++) {\n expect(b64s[i]).toBe(stob64s(str.substring(0, str.length - i)));\n }\n\n // Test URL modified base64 encoding\n b64s = [\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ',\n ];\n for (let i = 0; i < b64s.length; i++) {\n expect(b64s[i]).toBe(\n stob64s(str.substring(0, str.length - i), {b64chars: 'url'})\n );\n }\n\n // Test YUI modified base64 encoding\n b64s = [\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvY2s-',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3BvYw--',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3Bv',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gU3A-',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0gUw--',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0g',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLS0-',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIgLQ--',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSIg',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaSI-',\n 'IkNvbXB1dGVyLCBjb21wdXRlIHRvIHRoZSBsYXN0IGRpZ2l0IHRoZSB2YWx1ZSBvZiBwaQ--',\n ];\n for (let i = 0; i < b64s.length; i++) {\n expect(b64s[i]).toBe(\n stob64s(str.substring(0, str.length - i), {b64chars: 'yui'})\n );\n }\n});\n\ntest('Compare to Node', () => {\n for (let i = 0; i < 100; i++) {\n const bytes = crypto.randomBytes(16);\n const str = tob64s(bytes, {b64chars: 'url'});\n const nodeStr = bytes.toString('base64url');\n expect(str).toEqual(nodeStr);\n }\n for (let i = 0; i < 100; i++) {\n const bytes = crypto.randomBytes(16);\n const str = tob64s(bytes, {b64chars: 'b64'});\n const nodeStr = bytes.toString('base64');\n expect(str).toEqual(nodeStr);\n }\n});\n"]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=errors.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.test.d.mts","sourceRoot":"","sources":["../../src/errors/errors.test.mts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { test, expect } from 'vitest';
2
- import { BadRequestError, ForbiddenError, InternalServerError, isBadRequestError, isForbiddenError, isInternalServerError, isNotFoundError, isValidationError, NotFoundError, toError, ValidationError, } from './errors.mjs';
3
- import { HttpStatusCode } from '../http/index.mjs';
4
- test('Test isNotFoundError', () => {
5
- expect(isNotFoundError(undefined)).toBeFalsy();
6
- expect(isNotFoundError(null)).toBeFalsy();
7
- expect(isNotFoundError({})).toBeFalsy();
8
- expect(isNotFoundError(new ForbiddenError('just a test'))).toBeFalsy();
9
- expect(isNotFoundError(new NotFoundError('just a test'))).toBeTruthy();
10
- });
11
- test('Test isForbiddenError', () => {
12
- expect(isForbiddenError(undefined)).toBeFalsy();
13
- expect(isForbiddenError(null)).toBeFalsy();
14
- expect(isForbiddenError({})).toBeFalsy();
15
- expect(isForbiddenError(new NotFoundError('just a test'))).toBeFalsy();
16
- expect(isForbiddenError(new ForbiddenError('just a test'))).toBeTruthy();
17
- });
18
- test('Test isValidationError', () => {
19
- expect(isValidationError(undefined)).toBeFalsy();
20
- expect(isValidationError(null)).toBeFalsy();
21
- expect(isValidationError({})).toBeFalsy();
22
- expect(isValidationError(new NotFoundError('just a test'))).toBeFalsy();
23
- expect(isValidationError(new ValidationError('just a test'))).toBeTruthy();
24
- });
25
- test('Test isBadRequestError', () => {
26
- expect(isBadRequestError(undefined)).toBeFalsy();
27
- expect(isBadRequestError(null)).toBeFalsy();
28
- expect(isBadRequestError({})).toBeFalsy();
29
- expect(isBadRequestError(new NotFoundError('just a test'))).toBeFalsy();
30
- expect(isBadRequestError(new BadRequestError('just a test'))).toBeTruthy();
31
- });
32
- test('Test isInternalServerError', () => {
33
- expect(isInternalServerError(undefined)).toBeFalsy();
34
- expect(isInternalServerError(null)).toBeFalsy();
35
- expect(isInternalServerError({})).toBeFalsy();
36
- expect(isInternalServerError(new NotFoundError('just a test'))).toBeFalsy();
37
- expect(isInternalServerError(new InternalServerError('just a test'))).toBeTruthy();
38
- });
39
- test('Test toError', () => {
40
- expect(isNotFoundError(toError(HttpStatusCode.NOT_FOUND, 'some message'))).toBeTruthy();
41
- expect(isForbiddenError(toError(HttpStatusCode.FORBIDDEN, 'some message'))).toBeTruthy();
42
- expect(isBadRequestError(toError(HttpStatusCode.BAD_REQUEST, 'some message'))).toBeTruthy();
43
- expect(isInternalServerError(toError(HttpStatusCode.INTERNAL_SERVER_ERROR, 'some message'))).toBeTruthy();
44
- });
45
- //# sourceMappingURL=errors.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.test.mjs","sourceRoot":"","sources":["../../src/errors/errors.test.mts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAChC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxC,MAAM,CAAC,eAAe,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvE,MAAM,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACjC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,CAAC,gBAAgB,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvE,MAAM,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAClC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,CAAC,iBAAiB,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxE,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAClC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,CAAC,iBAAiB,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACxE,MAAM,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACrD,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9C,MAAM,CAAC,qBAAqB,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5E,MAAM,CACJ,qBAAqB,CAAC,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAC9D,CAAC,UAAU,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IACxB,MAAM,CACJ,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CACnE,CAAC,UAAU,EAAE,CAAC;IACf,MAAM,CACJ,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CACpE,CAAC,UAAU,EAAE,CAAC;IACf,MAAM,CACJ,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CACvE,CAAC,UAAU,EAAE,CAAC;IACf,MAAM,CACJ,qBAAqB,CACnB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAC9D,CACF,CAAC,UAAU,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC","sourcesContent":["import {test, expect} from 'vitest';\nimport {\n BadRequestError,\n ForbiddenError,\n InternalServerError,\n isBadRequestError,\n isForbiddenError,\n isInternalServerError,\n isNotFoundError,\n isValidationError,\n NotFoundError,\n toError,\n ValidationError,\n} from './errors.mjs';\nimport {HttpStatusCode} from '../http/index.mjs';\n\ntest('Test isNotFoundError', () => {\n expect(isNotFoundError(undefined)).toBeFalsy();\n expect(isNotFoundError(null)).toBeFalsy();\n expect(isNotFoundError({})).toBeFalsy();\n expect(isNotFoundError(new ForbiddenError('just a test'))).toBeFalsy();\n expect(isNotFoundError(new NotFoundError('just a test'))).toBeTruthy();\n});\n\ntest('Test isForbiddenError', () => {\n expect(isForbiddenError(undefined)).toBeFalsy();\n expect(isForbiddenError(null)).toBeFalsy();\n expect(isForbiddenError({})).toBeFalsy();\n expect(isForbiddenError(new NotFoundError('just a test'))).toBeFalsy();\n expect(isForbiddenError(new ForbiddenError('just a test'))).toBeTruthy();\n});\n\ntest('Test isValidationError', () => {\n expect(isValidationError(undefined)).toBeFalsy();\n expect(isValidationError(null)).toBeFalsy();\n expect(isValidationError({})).toBeFalsy();\n expect(isValidationError(new NotFoundError('just a test'))).toBeFalsy();\n expect(isValidationError(new ValidationError('just a test'))).toBeTruthy();\n});\n\ntest('Test isBadRequestError', () => {\n expect(isBadRequestError(undefined)).toBeFalsy();\n expect(isBadRequestError(null)).toBeFalsy();\n expect(isBadRequestError({})).toBeFalsy();\n expect(isBadRequestError(new NotFoundError('just a test'))).toBeFalsy();\n expect(isBadRequestError(new BadRequestError('just a test'))).toBeTruthy();\n});\n\ntest('Test isInternalServerError', () => {\n expect(isInternalServerError(undefined)).toBeFalsy();\n expect(isInternalServerError(null)).toBeFalsy();\n expect(isInternalServerError({})).toBeFalsy();\n expect(isInternalServerError(new NotFoundError('just a test'))).toBeFalsy();\n expect(\n isInternalServerError(new InternalServerError('just a test'))\n ).toBeTruthy();\n});\n\ntest('Test toError', () => {\n expect(\n isNotFoundError(toError(HttpStatusCode.NOT_FOUND, 'some message'))\n ).toBeTruthy();\n expect(\n isForbiddenError(toError(HttpStatusCode.FORBIDDEN, 'some message'))\n ).toBeTruthy();\n expect(\n isBadRequestError(toError(HttpStatusCode.BAD_REQUEST, 'some message'))\n ).toBeTruthy();\n expect(\n isInternalServerError(\n toError(HttpStatusCode.INTERNAL_SERVER_ERROR, 'some message')\n )\n ).toBeTruthy();\n});\n"]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=crypto-functions.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto-functions.test.d.mts","sourceRoot":"","sources":["../../src/oauth/crypto-functions.test.mts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { test, expect } from 'vitest';
2
- import { generateNonce, generateSecret, generateState, } from './crypto-functions.mjs';
3
- test('Test generateState', () => {
4
- const state = generateState();
5
- expect(state).toMatch(/^[A-Za-z0-9_-]{22}$/);
6
- });
7
- test('Test generateState with custom length', () => {
8
- const state = generateState(32);
9
- expect(state).toMatch(/^[A-Za-z0-9_-]{43}$/);
10
- });
11
- test('Test generateState with invalid length', () => {
12
- expect(() => generateState(10)).toThrow('State must be at least 16 bytes');
13
- });
14
- test('Test generateNonce', () => {
15
- const nonce = generateNonce();
16
- expect(nonce).toMatch(/^[A-Za-z0-9_-]{22}$/);
17
- });
18
- test('Test generateNonce with custom length', () => {
19
- const nonce = generateNonce(32);
20
- expect(nonce).toMatch(/^[A-Za-z0-9_-]{43}$/);
21
- });
22
- test('Test generateNonce with invalid length', () => {
23
- expect(() => generateNonce(10)).toThrow('Nonce must be at least 16 bytes');
24
- });
25
- test('Test generateSecret', () => {
26
- const secret = generateSecret();
27
- expect(secret).toMatch(/^[A-Za-z0-9_-]{43}$/);
28
- });
29
- test('Test generateSecret with custom length', () => {
30
- const secret = generateSecret(64);
31
- expect(secret).toMatch(/^[A-Za-z0-9_-]{86}$/);
32
- });
33
- test('Test generateSecret with invalid length', () => {
34
- expect(() => generateSecret(10)).toThrow('Secret must be at least 32 bytes');
35
- });
36
- //# sourceMappingURL=crypto-functions.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto-functions.test.mjs","sourceRoot":"","sources":["../../src/oauth/crypto-functions.test.mts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC","sourcesContent":["import {test, expect} from 'vitest';\nimport {\n generateNonce,\n generateSecret,\n generateState,\n} from './crypto-functions.mjs';\n\ntest('Test generateState', () => {\n const state = generateState();\n expect(state).toMatch(/^[A-Za-z0-9_-]{22}$/);\n});\n\ntest('Test generateState with custom length', () => {\n const state = generateState(32);\n expect(state).toMatch(/^[A-Za-z0-9_-]{43}$/);\n});\n\ntest('Test generateState with invalid length', () => {\n expect(() => generateState(10)).toThrow('State must be at least 16 bytes');\n});\n\ntest('Test generateNonce', () => {\n const nonce = generateNonce();\n expect(nonce).toMatch(/^[A-Za-z0-9_-]{22}$/);\n});\n\ntest('Test generateNonce with custom length', () => {\n const nonce = generateNonce(32);\n expect(nonce).toMatch(/^[A-Za-z0-9_-]{43}$/);\n});\n\ntest('Test generateNonce with invalid length', () => {\n expect(() => generateNonce(10)).toThrow('Nonce must be at least 16 bytes');\n});\n\ntest('Test generateSecret', () => {\n const secret = generateSecret();\n expect(secret).toMatch(/^[A-Za-z0-9_-]{43}$/);\n});\n\ntest('Test generateSecret with custom length', () => {\n const secret = generateSecret(64);\n expect(secret).toMatch(/^[A-Za-z0-9_-]{86}$/);\n});\n\ntest('Test generateSecret with invalid length', () => {\n expect(() => generateSecret(10)).toThrow('Secret must be at least 32 bytes');\n});\n"]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=validators.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.test.d.mts","sourceRoot":"","sources":["../../src/validator/validators.test.mts"],"names":[],"mappings":""}
@@ -1,177 +0,0 @@
1
- import { test, expect } from 'vitest';
2
- import { betweenValues, email, number, maxLength, maxValue, minLength, minValue, notBlank, notEmpty, notNull, validString, isNotNull, isNotEmpty, isNotBlank, match, isMatch, isEmail, isMaxLength, isMinLength, isNumber, isMinValue, isMaxValue, isBetweenValues, isValidString, } from './validators.mjs';
3
- test('Test isNotNull', () => {
4
- expect(isNotNull('bar')).toBeTruthy();
5
- expect(isNotNull(null)).toBeFalsy();
6
- expect(isNotNull(undefined)).toBeFalsy();
7
- });
8
- test('Test notNull', () => {
9
- notNull('foo', 'bar');
10
- expect(() => notNull('foo', null)).toThrow('foo may not be null or undefined');
11
- expect(() => notNull('foo', undefined)).toThrow('foo may not be null or undefined');
12
- });
13
- test('Test isNotEmpty', () => {
14
- expect(isNotEmpty('bar')).toBeTruthy();
15
- expect(isNotEmpty('')).toBeFalsy();
16
- expect(isNotEmpty(null)).toBeFalsy();
17
- expect(isNotEmpty(undefined)).toBeFalsy();
18
- });
19
- test('Test notEmpty', () => {
20
- notEmpty('foo', 'bar');
21
- expect(() => notEmpty('foo', '')).toThrow('foo may not be empty');
22
- expect(() => notEmpty('foo', null)).toThrow('foo may not be empty');
23
- expect(() => notEmpty('foo', undefined)).toThrow('foo may not be empty');
24
- });
25
- test('Test isNotBlank', () => {
26
- expect(isNotBlank('bar')).toBeTruthy();
27
- expect(isNotBlank(' ')).toBeFalsy();
28
- expect(isNotBlank('')).toBeFalsy();
29
- expect(isNotBlank(null)).toBeFalsy();
30
- expect(isNotBlank(undefined)).toBeFalsy();
31
- });
32
- test('Test notBlank', () => {
33
- notBlank('foo', 'bar');
34
- expect(() => notBlank('foo', ' ')).toThrow('foo may not be blank');
35
- expect(() => notBlank('foo', '')).toThrow('foo may not be blank');
36
- expect(() => notBlank('foo', null)).toThrow('foo may not be blank');
37
- expect(() => notBlank('foo', undefined)).toThrow('foo may not be blank');
38
- });
39
- test('Test isMatch', () => {
40
- expect(isMatch(/bar/, 'bar')).toBeTruthy();
41
- expect(isMatch(/bar/, null)).toBeTruthy();
42
- expect(isMatch(/bar/, undefined)).toBeTruthy();
43
- expect(isMatch(/bar/, 'baz')).toBeFalsy();
44
- });
45
- test('Test match', () => {
46
- match('foo', /bar/, 'bar');
47
- match('foo', /bar/, null);
48
- match('foo', /bar/, undefined);
49
- expect(() => match('foo', /bar/, 'baz')).toThrow('foo must match /bar/');
50
- });
51
- test('Test isEmail', () => {
52
- expect(isEmail('test@example.com')).toBeTruthy();
53
- expect(isEmail(null)).toBeTruthy();
54
- expect(isEmail(undefined)).toBeTruthy();
55
- expect(isEmail('test')).toBeFalsy();
56
- });
57
- test('Test email', () => {
58
- email('foo', 'test@example.com');
59
- email('foo', null);
60
- email('foo', undefined);
61
- expect(() => email('foo', 'test')).toThrow('foo is not a valid email address');
62
- });
63
- test('Test isMaxLength', () => {
64
- const arr = [];
65
- arr.push('a', 'b', 'c');
66
- expect(isMaxLength(3, 'bar')).toBeTruthy();
67
- expect(isMaxLength(3, null)).toBeTruthy();
68
- expect(isMaxLength(3, undefined)).toBeTruthy();
69
- expect(isMaxLength(3, arr)).toBeTruthy();
70
- expect(isMaxLength(2, 'baz')).toBeFalsy();
71
- expect(isMaxLength(2, arr)).toBeFalsy();
72
- });
73
- test('Test maxLength', () => {
74
- const arr = [];
75
- arr.push('a', 'b', 'c');
76
- maxLength('foo', 3, 'bar');
77
- maxLength('foo', 3, null);
78
- maxLength('foo', 3, undefined);
79
- maxLength('foo', 3, arr);
80
- expect(() => maxLength('foo', 2, 'baz')).toThrow('length of foo may not exceed 2');
81
- expect(() => maxLength('foo', 2, arr)).toThrow('length of foo may not exceed 2');
82
- });
83
- test('Test isMinLength', () => {
84
- const arr = [];
85
- arr.push('a', 'b', 'c');
86
- expect(isMinLength(3, 'bar')).toBeTruthy();
87
- expect(isMinLength(3, null)).toBeTruthy();
88
- expect(isMinLength(3, undefined)).toBeTruthy();
89
- expect(isMinLength(3, arr)).toBeTruthy();
90
- expect(isMinLength(4, 'baz')).toBeFalsy();
91
- expect(isMinLength(4, arr)).toBeFalsy();
92
- });
93
- test('Test minLength', () => {
94
- const arr = [];
95
- arr.push('a', 'b', 'c');
96
- minLength('foo', 3, 'bar');
97
- minLength('foo', 3, null);
98
- minLength('foo', 3, undefined);
99
- minLength('foo', 3, arr);
100
- expect(() => minLength('foo', 4, 'baz')).toThrow('length of foo may not be less than 4');
101
- expect(() => minLength('foo', 4, arr)).toThrow('length of foo may not be less than 4');
102
- });
103
- test('Test isNumber', () => {
104
- expect(isNumber(1)).toBeTruthy();
105
- expect(isNumber('1')).toBeTruthy();
106
- expect(isNumber(null)).toBeTruthy();
107
- expect(isNumber(undefined)).toBeTruthy();
108
- expect(isNumber('bar')).toBeFalsy();
109
- });
110
- test('Test number', () => {
111
- number('foo', 1);
112
- number('foo', '1');
113
- number('foo', null);
114
- number('foo', undefined);
115
- expect(() => number('foo', 'bar')).toThrow('foo is not a number');
116
- });
117
- test('Test isMinValue', () => {
118
- expect(isMinValue(1, 2)).toBeTruthy();
119
- expect(isMinValue(1, '2')).toBeTruthy();
120
- expect(isMinValue(1, null)).toBeTruthy();
121
- expect(isMinValue(1, undefined)).toBeTruthy();
122
- expect(isMinValue(2, 1)).toBeFalsy();
123
- });
124
- test('Test minValue', () => {
125
- minValue('foo', 1, 2);
126
- minValue('foo', 1, '2');
127
- minValue('foo', 1, null);
128
- minValue('foo', 1, undefined);
129
- expect(() => minValue('foo', 2, 1)).toThrow('foo may not be less than 2');
130
- });
131
- test('Test isMaxValue', () => {
132
- expect(isMaxValue(2, 1)).toBeTruthy();
133
- expect(isMaxValue(2, '1')).toBeTruthy();
134
- expect(isMaxValue(2, null)).toBeTruthy();
135
- expect(isMaxValue(2, undefined)).toBeTruthy();
136
- expect(isMaxValue(1, 2)).toBeFalsy();
137
- });
138
- test('Test maxValue', () => {
139
- maxValue('foo', 2, 1);
140
- maxValue('foo', 2, '1');
141
- maxValue('foo', 2, null);
142
- maxValue('foo', 2, undefined);
143
- expect(() => maxValue('foo', 1, 2)).toThrow('foo may not be greater than 1');
144
- });
145
- test('Test isBetweenValues', () => {
146
- expect(isBetweenValues(1, 3, 2)).toBeTruthy();
147
- expect(isBetweenValues(1, 3, '2')).toBeTruthy();
148
- expect(isBetweenValues(1, 3, null)).toBeTruthy();
149
- expect(isBetweenValues(1, 3, undefined)).toBeTruthy();
150
- expect(isBetweenValues(1, 3, 4)).toBeFalsy();
151
- });
152
- test('Test betweenValues', () => {
153
- betweenValues('foo', 1, 3, 2);
154
- betweenValues('foo', 1, 3, '2');
155
- betweenValues('foo', 1, 3, null);
156
- betweenValues('foo', 1, 3, undefined);
157
- expect(() => betweenValues('foo', 1, 3, 4)).toThrow('foo must be between 1 and 3');
158
- });
159
- test('Test isValidString', () => {
160
- expect(isValidString({ required: true }, 'bar')).toBeTruthy();
161
- expect(isValidString({ required: true }, ' ')).toBeTruthy();
162
- expect(isValidString({ required: true }, '')).toBeTruthy();
163
- expect(isValidString({ required: false }, null)).toBeTruthy();
164
- expect(isValidString({ required: false }, undefined)).toBeTruthy();
165
- expect(isValidString({ required: true }, null)).toBeFalsy();
166
- expect(isValidString({ required: true }, undefined)).toBeFalsy();
167
- });
168
- test('Test validString', () => {
169
- validString('foo', { required: true }, 'bar');
170
- validString('foo', { required: true }, ' ');
171
- validString('foo', { required: true }, '');
172
- validString('foo', { required: false }, null);
173
- validString('foo', { required: false }, undefined);
174
- expect(() => validString('foo', { required: true }, null)).toThrow('foo may not be null or undefined');
175
- expect(() => validString('foo', { required: true }, undefined)).toThrow('foo may not be null or undefined');
176
- });
177
- //# sourceMappingURL=validators.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators.test.mjs","sourceRoot":"","sources":["../../src/validator/validators.test.mts"],"names":[],"mappings":"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","sourcesContent":["import {test, expect} from 'vitest';\nimport {\n betweenValues,\n email,\n number,\n maxLength,\n maxValue,\n minLength,\n minValue,\n notBlank,\n notEmpty,\n notNull,\n validString,\n isNotNull,\n isNotEmpty,\n isNotBlank,\n match,\n isMatch,\n isEmail,\n isMaxLength,\n isMinLength,\n isNumber,\n isMinValue,\n isMaxValue,\n isBetweenValues,\n isValidString,\n} from './validators.mjs';\n\ntest('Test isNotNull', () => {\n expect(isNotNull('bar')).toBeTruthy();\n expect(isNotNull(null)).toBeFalsy();\n expect(isNotNull(undefined)).toBeFalsy();\n});\n\ntest('Test notNull', () => {\n notNull('foo', 'bar');\n expect(() => notNull('foo', null)).toThrow(\n 'foo may not be null or undefined'\n );\n expect(() => notNull('foo', undefined)).toThrow(\n 'foo may not be null or undefined'\n );\n});\n\ntest('Test isNotEmpty', () => {\n expect(isNotEmpty('bar')).toBeTruthy();\n expect(isNotEmpty('')).toBeFalsy();\n expect(isNotEmpty(null)).toBeFalsy();\n expect(isNotEmpty(undefined)).toBeFalsy();\n});\n\ntest('Test notEmpty', () => {\n notEmpty('foo', 'bar');\n expect(() => notEmpty('foo', '')).toThrow('foo may not be empty');\n expect(() => notEmpty('foo', null)).toThrow('foo may not be empty');\n expect(() => notEmpty('foo', undefined)).toThrow('foo may not be empty');\n});\n\ntest('Test isNotBlank', () => {\n expect(isNotBlank('bar')).toBeTruthy();\n expect(isNotBlank(' ')).toBeFalsy();\n expect(isNotBlank('')).toBeFalsy();\n expect(isNotBlank(null)).toBeFalsy();\n expect(isNotBlank(undefined)).toBeFalsy();\n});\n\ntest('Test notBlank', () => {\n notBlank('foo', 'bar');\n expect(() => notBlank('foo', ' ')).toThrow('foo may not be blank');\n expect(() => notBlank('foo', '')).toThrow('foo may not be blank');\n expect(() => notBlank('foo', null)).toThrow('foo may not be blank');\n expect(() => notBlank('foo', undefined)).toThrow('foo may not be blank');\n});\n\ntest('Test isMatch', () => {\n expect(isMatch(/bar/, 'bar')).toBeTruthy();\n expect(isMatch(/bar/, null)).toBeTruthy();\n expect(isMatch(/bar/, undefined)).toBeTruthy();\n expect(isMatch(/bar/, 'baz')).toBeFalsy();\n});\n\ntest('Test match', () => {\n match('foo', /bar/, 'bar');\n match('foo', /bar/, null);\n match('foo', /bar/, undefined);\n expect(() => match('foo', /bar/, 'baz')).toThrow('foo must match /bar/');\n});\n\ntest('Test isEmail', () => {\n expect(isEmail('test@example.com')).toBeTruthy();\n expect(isEmail(null)).toBeTruthy();\n expect(isEmail(undefined)).toBeTruthy();\n expect(isEmail('test')).toBeFalsy();\n});\n\ntest('Test email', () => {\n email('foo', 'test@example.com');\n email('foo', null);\n email('foo', undefined);\n expect(() => email('foo', 'test')).toThrow(\n 'foo is not a valid email address'\n );\n});\n\ntest('Test isMaxLength', () => {\n const arr: string[] = [];\n arr.push('a', 'b', 'c');\n expect(isMaxLength(3, 'bar')).toBeTruthy();\n expect(isMaxLength(3, null)).toBeTruthy();\n expect(isMaxLength(3, undefined)).toBeTruthy();\n expect(isMaxLength(3, arr)).toBeTruthy();\n expect(isMaxLength(2, 'baz')).toBeFalsy();\n expect(isMaxLength(2, arr)).toBeFalsy();\n});\n\ntest('Test maxLength', () => {\n const arr: string[] = [];\n arr.push('a', 'b', 'c');\n maxLength('foo', 3, 'bar');\n maxLength('foo', 3, null);\n maxLength('foo', 3, undefined);\n maxLength('foo', 3, arr);\n expect(() => maxLength('foo', 2, 'baz')).toThrow(\n 'length of foo may not exceed 2'\n );\n expect(() => maxLength('foo', 2, arr)).toThrow(\n 'length of foo may not exceed 2'\n );\n});\n\ntest('Test isMinLength', () => {\n const arr: string[] = [];\n arr.push('a', 'b', 'c');\n expect(isMinLength(3, 'bar')).toBeTruthy();\n expect(isMinLength(3, null)).toBeTruthy();\n expect(isMinLength(3, undefined)).toBeTruthy();\n expect(isMinLength(3, arr)).toBeTruthy();\n expect(isMinLength(4, 'baz')).toBeFalsy();\n expect(isMinLength(4, arr)).toBeFalsy();\n});\n\ntest('Test minLength', () => {\n const arr: string[] = [];\n arr.push('a', 'b', 'c');\n minLength('foo', 3, 'bar');\n minLength('foo', 3, null);\n minLength('foo', 3, undefined);\n minLength('foo', 3, arr);\n expect(() => minLength('foo', 4, 'baz')).toThrow(\n 'length of foo may not be less than 4'\n );\n expect(() => minLength('foo', 4, arr)).toThrow(\n 'length of foo may not be less than 4'\n );\n});\n\ntest('Test isNumber', () => {\n expect(isNumber(1)).toBeTruthy();\n expect(isNumber('1')).toBeTruthy();\n expect(isNumber(null)).toBeTruthy();\n expect(isNumber(undefined)).toBeTruthy();\n expect(isNumber('bar')).toBeFalsy();\n});\n\ntest('Test number', () => {\n number('foo', 1);\n number('foo', '1');\n number('foo', null);\n number('foo', undefined);\n expect(() => number('foo', 'bar')).toThrow('foo is not a number');\n});\n\ntest('Test isMinValue', () => {\n expect(isMinValue(1, 2)).toBeTruthy();\n expect(isMinValue(1, '2')).toBeTruthy();\n expect(isMinValue(1, null)).toBeTruthy();\n expect(isMinValue(1, undefined)).toBeTruthy();\n expect(isMinValue(2, 1)).toBeFalsy();\n});\n\ntest('Test minValue', () => {\n minValue('foo', 1, 2);\n minValue('foo', 1, '2');\n minValue('foo', 1, null);\n minValue('foo', 1, undefined);\n expect(() => minValue('foo', 2, 1)).toThrow('foo may not be less than 2');\n});\n\ntest('Test isMaxValue', () => {\n expect(isMaxValue(2, 1)).toBeTruthy();\n expect(isMaxValue(2, '1')).toBeTruthy();\n expect(isMaxValue(2, null)).toBeTruthy();\n expect(isMaxValue(2, undefined)).toBeTruthy();\n expect(isMaxValue(1, 2)).toBeFalsy();\n});\n\ntest('Test maxValue', () => {\n maxValue('foo', 2, 1);\n maxValue('foo', 2, '1');\n maxValue('foo', 2, null);\n maxValue('foo', 2, undefined);\n expect(() => maxValue('foo', 1, 2)).toThrow('foo may not be greater than 1');\n});\n\ntest('Test isBetweenValues', () => {\n expect(isBetweenValues(1, 3, 2)).toBeTruthy();\n expect(isBetweenValues(1, 3, '2')).toBeTruthy();\n expect(isBetweenValues(1, 3, null)).toBeTruthy();\n expect(isBetweenValues(1, 3, undefined)).toBeTruthy();\n expect(isBetweenValues(1, 3, 4)).toBeFalsy();\n});\n\ntest('Test betweenValues', () => {\n betweenValues('foo', 1, 3, 2);\n betweenValues('foo', 1, 3, '2');\n betweenValues('foo', 1, 3, null);\n betweenValues('foo', 1, 3, undefined);\n expect(() => betweenValues('foo', 1, 3, 4)).toThrow(\n 'foo must be between 1 and 3'\n );\n});\n\ntest('Test isValidString', () => {\n expect(isValidString({required: true}, 'bar')).toBeTruthy();\n expect(isValidString({required: true}, ' ')).toBeTruthy();\n expect(isValidString({required: true}, '')).toBeTruthy();\n expect(isValidString({required: false}, null)).toBeTruthy();\n expect(isValidString({required: false}, undefined)).toBeTruthy();\n expect(isValidString({required: true}, null)).toBeFalsy();\n expect(isValidString({required: true}, undefined)).toBeFalsy();\n});\n\ntest('Test validString', () => {\n validString('foo', {required: true}, 'bar');\n validString('foo', {required: true}, ' ');\n validString('foo', {required: true}, '');\n validString('foo', {required: false}, null);\n validString('foo', {required: false}, undefined);\n expect(() => validString('foo', {required: true}, null)).toThrow(\n 'foo may not be null or undefined'\n );\n expect(() => validString('foo', {required: true}, undefined)).toThrow(\n 'foo may not be null or undefined'\n );\n});\n"]}