@squiz/dx-common-lib 1.2.1-alpha.100
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/CHANGELOG.md +16 -0
- package/jest.config.ts +20 -0
- package/jest.integration.config.ts +26 -0
- package/lib/assertions/assertAssign.d.ts +4 -0
- package/lib/assertions/assertAssign.js +23 -0
- package/lib/assertions/assertAssign.js.map +1 -0
- package/lib/assertions/assertAssign.spec.d.ts +1 -0
- package/lib/assertions/assertAssign.spec.js +16 -0
- package/lib/assertions/assertAssign.spec.js.map +1 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.d.ts +4 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.js +15 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.js.map +1 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.spec.d.ts +1 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.spec.js +25 -0
- package/lib/assertions/assertAssignWithDefaultUndefinedValue.spec.js.map +1 -0
- package/lib/assertions/assertIsDefined.d.ts +1 -0
- package/lib/assertions/assertIsDefined.js +11 -0
- package/lib/assertions/assertIsDefined.js.map +1 -0
- package/lib/assertions/assertIsDefined.spec.d.ts +1 -0
- package/lib/assertions/assertIsDefined.spec.js +15 -0
- package/lib/assertions/assertIsDefined.spec.js.map +1 -0
- package/lib/assertions/assertIsMapOfStringString.d.ts +3 -0
- package/lib/assertions/assertIsMapOfStringString.js +31 -0
- package/lib/assertions/assertIsMapOfStringString.js.map +1 -0
- package/lib/assertions/assertIsMapOfStringString.spec.d.ts +1 -0
- package/lib/assertions/assertIsMapOfStringString.spec.js +19 -0
- package/lib/assertions/assertIsMapOfStringString.spec.js.map +1 -0
- package/lib/assertions/assertIsNotAnEmptyString.d.ts +1 -0
- package/lib/assertions/assertIsNotAnEmptyString.js +20 -0
- package/lib/assertions/assertIsNotAnEmptyString.js.map +1 -0
- package/lib/assertions/assertIsNotAnEmptyString.spec.d.ts +1 -0
- package/lib/assertions/assertIsNotAnEmptyString.spec.js +24 -0
- package/lib/assertions/assertIsNotAnEmptyString.spec.js.map +1 -0
- package/lib/assertions/assertIsObject.d.ts +1 -0
- package/lib/assertions/assertIsObject.js +15 -0
- package/lib/assertions/assertIsObject.js.map +1 -0
- package/lib/assertions/assertIsObject.spec.d.ts +1 -0
- package/lib/assertions/assertIsObject.spec.js +18 -0
- package/lib/assertions/assertIsObject.spec.js.map +1 -0
- package/lib/assertions/assertIsString.d.ts +1 -0
- package/lib/assertions/assertIsString.js +15 -0
- package/lib/assertions/assertIsString.js.map +1 -0
- package/lib/assertions/assertIsString.spec.d.ts +1 -0
- package/lib/assertions/assertIsString.spec.js +17 -0
- package/lib/assertions/assertIsString.spec.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/package.json +30 -0
- package/src/assertions/assertAssign.spec.ts +18 -0
- package/src/assertions/assertAssign.ts +22 -0
- package/src/assertions/assertAssignWithDefaultUndefinedValue.spec.ts +31 -0
- package/src/assertions/assertAssignWithDefaultUndefinedValue.ts +17 -0
- package/src/assertions/assertIsDefined.spec.ts +19 -0
- package/src/assertions/assertIsDefined.ts +7 -0
- package/src/assertions/assertIsMapOfStringString.spec.ts +23 -0
- package/src/assertions/assertIsMapOfStringString.ts +29 -0
- package/src/assertions/assertIsNotAnEmptyString.spec.ts +25 -0
- package/src/assertions/assertIsNotAnEmptyString.ts +17 -0
- package/src/assertions/assertIsObject.spec.ts +17 -0
- package/src/assertions/assertIsObject.ts +11 -0
- package/src/assertions/assertIsString.spec.ts +16 -0
- package/src/assertions/assertIsString.ts +11 -0
- package/src/index.ts +10 -0
- package/tsconfig.json +16 -0
- package/tsconfig.tsbuildinfo +1 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [1.2.1-alpha.100](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.1-alpha.90...v1.2.1-alpha.100) (2022-08-18)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @squiz/dx-common-lib
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.2.1-alpha.99](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.1-alpha.90...v1.2.1-alpha.99) (2022-08-18)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @squiz/dx-common-lib
|
package/jest.config.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Config } from 'jest';
|
|
2
|
+
|
|
3
|
+
import { config as configFunc } from 'dotenv';
|
|
4
|
+
configFunc();
|
|
5
|
+
|
|
6
|
+
// Sync object
|
|
7
|
+
const config: Config = {
|
|
8
|
+
preset: 'ts-jest',
|
|
9
|
+
testEnvironment: 'node',
|
|
10
|
+
testPathIgnorePatterns: [
|
|
11
|
+
'<rootDir>/lib/',
|
|
12
|
+
'<rootDir>/cdk.out/',
|
|
13
|
+
'test.ts',
|
|
14
|
+
'/integration-tests/',
|
|
15
|
+
'.*\\.integration\\.spec\\.ts$',
|
|
16
|
+
],
|
|
17
|
+
maxWorkers: '80%',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default config;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Config } from 'jest';
|
|
2
|
+
import { config as dotEnvConfig } from 'dotenv';
|
|
3
|
+
|
|
4
|
+
dotEnvConfig();
|
|
5
|
+
|
|
6
|
+
process.env.NODE_ENV = 'development';
|
|
7
|
+
|
|
8
|
+
// Sync object
|
|
9
|
+
const config: Config = {
|
|
10
|
+
preset: 'ts-jest',
|
|
11
|
+
testEnvironment: 'node',
|
|
12
|
+
testPathIgnorePatterns: ['<rootDir>/lib/', '<rootDir>/cdk.out/', 'test.ts'],
|
|
13
|
+
maxWorkers: '80%',
|
|
14
|
+
detectOpenHandles: true,
|
|
15
|
+
|
|
16
|
+
testRegex: '.*\\.integration\\.spec\\.ts$',
|
|
17
|
+
|
|
18
|
+
globals: {
|
|
19
|
+
BUILD_VERSION: 'undefined',
|
|
20
|
+
BUILD_BRANCH: 'undefined',
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
testTimeout: 30_000,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default config;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertAssign = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
/**
|
|
6
|
+
* Assert and return unknown value as known type
|
|
7
|
+
*/
|
|
8
|
+
function assertAssign(value, assertionFunc, errorMessage) {
|
|
9
|
+
try {
|
|
10
|
+
assertionFunc(value);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
if (errorMessage) {
|
|
14
|
+
throw new assert_1.AssertionError({ message: errorMessage });
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
throw e;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
exports.assertAssign = assertAssign;
|
|
23
|
+
//# sourceMappingURL=assertAssign.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertAssign.js","sourceRoot":"","sources":["../../src/assertions/assertAssign.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC;;GAEG;AACH,SAAgB,YAAY,CAC1B,KAAc,EACd,aAAiD,EACjD,YAAqB;IAErB,IAAI;QACF,aAAa,CAAC,KAAK,CAAC,CAAC;KACtB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,uBAAc,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAhBD,oCAgBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertAssign_1 = require("./assertAssign");
|
|
4
|
+
const assertIsString_1 = require("./assertIsString");
|
|
5
|
+
describe('assertAssign', () => {
|
|
6
|
+
it('should assert the input meets an assertion function and return if valid', () => {
|
|
7
|
+
expect((0, assertAssign_1.assertAssign)('123', assertIsString_1.assertIsString)).toEqual('123');
|
|
8
|
+
});
|
|
9
|
+
it('should assert the input meets an assertion function and throw if not valid', () => {
|
|
10
|
+
expect(() => (0, assertAssign_1.assertAssign)(123, assertIsString_1.assertIsString)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
11
|
+
});
|
|
12
|
+
it('should allow custom error message', () => {
|
|
13
|
+
expect(() => (0, assertAssign_1.assertAssign)(123, assertIsString_1.assertIsString, 'custom error')).toThrowErrorMatchingInlineSnapshot(`"custom error"`);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=assertAssign.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertAssign.spec.js","sourceRoot":"","sources":["../../src/assertions/assertAssign.spec.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,qDAAkD;AAElD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,CAAC,IAAA,2BAAY,EAAC,KAAK,EAAE,+BAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,GAAG,EAAE,+BAAc,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,2BAAY,EAAC,GAAG,EAAE,+BAAc,EAAE,cAAc,CAAC,CAAC,CAAC,kCAAkC,CAChG,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If value is undefined, return default value otherwise assert it meets assertion rule
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertAssignWithDefaultUndefinedValue<T>(value: unknown, assertionFunc: (val: unknown) => asserts val is T, defaultValue: T, errorMessage?: string): T;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertAssignWithDefaultUndefinedValue = void 0;
|
|
4
|
+
const assertAssign_1 = require("./assertAssign");
|
|
5
|
+
/**
|
|
6
|
+
* If value is undefined, return default value otherwise assert it meets assertion rule
|
|
7
|
+
*/
|
|
8
|
+
function assertAssignWithDefaultUndefinedValue(value, assertionFunc, defaultValue, errorMessage) {
|
|
9
|
+
if (value === undefined || value === null) {
|
|
10
|
+
return defaultValue;
|
|
11
|
+
}
|
|
12
|
+
return (0, assertAssign_1.assertAssign)(value, assertionFunc, errorMessage);
|
|
13
|
+
}
|
|
14
|
+
exports.assertAssignWithDefaultUndefinedValue = assertAssignWithDefaultUndefinedValue;
|
|
15
|
+
//# sourceMappingURL=assertAssignWithDefaultUndefinedValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertAssignWithDefaultUndefinedValue.js","sourceRoot":"","sources":["../../src/assertions/assertAssignWithDefaultUndefinedValue.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C;;GAEG;AACH,SAAgB,qCAAqC,CACnD,KAAc,EACd,aAAiD,EACjD,YAAe,EACf,YAAqB;IAErB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,IAAA,2BAAY,EAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAXD,sFAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertAssignWithDefaultUndefinedValue_1 = require("./assertAssignWithDefaultUndefinedValue");
|
|
4
|
+
const assertIsObject_1 = require("./assertIsObject");
|
|
5
|
+
const assertIsString_1 = require("./assertIsString");
|
|
6
|
+
describe('assertAssignWithDefaultUndefinedValue', () => {
|
|
7
|
+
it('should assert the input meets an assertion function and return if valid', () => {
|
|
8
|
+
expect((0, assertAssignWithDefaultUndefinedValue_1.assertAssignWithDefaultUndefinedValue)('123', assertIsString_1.assertIsString, 'xx')).toEqual('123');
|
|
9
|
+
});
|
|
10
|
+
it('should return default value if input is undefined', () => {
|
|
11
|
+
expect((0, assertAssignWithDefaultUndefinedValue_1.assertAssignWithDefaultUndefinedValue)(undefined, assertIsString_1.assertIsString, 'xx')).toEqual('xx');
|
|
12
|
+
});
|
|
13
|
+
it('should handle different types of type assertions', () => {
|
|
14
|
+
expect((0, assertAssignWithDefaultUndefinedValue_1.assertAssignWithDefaultUndefinedValue)(undefined, assertIsObject_1.assertIsObject, { default: 'hello' })).toEqual({
|
|
15
|
+
default: 'hello',
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
it('should assert the input meets an assertion function and throw if not valid', () => {
|
|
19
|
+
expect(() => (0, assertAssignWithDefaultUndefinedValue_1.assertAssignWithDefaultUndefinedValue)(123, assertIsString_1.assertIsString, 'xx')).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
20
|
+
});
|
|
21
|
+
it('should allow custom error message', () => {
|
|
22
|
+
expect(() => (0, assertAssignWithDefaultUndefinedValue_1.assertAssignWithDefaultUndefinedValue)(123, assertIsString_1.assertIsString, 'xx', 'custom error')).toThrowErrorMatchingInlineSnapshot(`"custom error"`);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=assertAssignWithDefaultUndefinedValue.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertAssignWithDefaultUndefinedValue.spec.js","sourceRoot":"","sources":["../../src/assertions/assertAssignWithDefaultUndefinedValue.spec.ts"],"names":[],"mappings":";;AAAA,mGAAgG;AAChG,qDAAkD;AAClD,qDAAkD;AAElD,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,CAAC,IAAA,6EAAqC,EAAC,KAAK,EAAE,+BAAc,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,IAAA,6EAAqC,EAAC,SAAS,EAAE,+BAAc,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,IAAA,6EAAqC,EAAC,SAAS,EAAE,+BAAc,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACrG,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,6EAAqC,EAAC,GAAG,EAAE,+BAAc,EAAE,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAC/G,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,CACV,IAAA,6EAAqC,EAAC,GAAG,EAAE,+BAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CACjF,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertIsDefined<T>(value: T): asserts value is NonNullable<T>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertIsDefined = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
function assertIsDefined(value) {
|
|
6
|
+
if (value === undefined || value === null) {
|
|
7
|
+
throw new assert_1.AssertionError({ message: `Expected 'val' to be defined, but received ${value}` });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.assertIsDefined = assertIsDefined;
|
|
11
|
+
//# sourceMappingURL=assertIsDefined.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsDefined.js","sourceRoot":"","sources":["../../src/assertions/assertIsDefined.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,SAAgB,eAAe,CAAI,KAAQ;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,uBAAc,CAAC,EAAE,OAAO,EAAE,8CAA8C,KAAK,EAAE,EAAE,CAAC,CAAC;KAC9F;AACH,CAAC;AAJD,0CAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertIsDefined_1 = require("./assertIsDefined");
|
|
4
|
+
describe('assertIsDefined', () => {
|
|
5
|
+
it('should throw an assertion error if input is undefined', () => {
|
|
6
|
+
expect(() => (0, assertIsDefined_1.assertIsDefined)(undefined)).toThrowErrorMatchingInlineSnapshot(`"Expected 'val' to be defined, but received undefined"`);
|
|
7
|
+
});
|
|
8
|
+
it('should throw an assertion error if input is null', () => {
|
|
9
|
+
expect(() => (0, assertIsDefined_1.assertIsDefined)(null)).toThrowErrorMatchingInlineSnapshot(`"Expected 'val' to be defined, but received null"`);
|
|
10
|
+
});
|
|
11
|
+
it('should return "void" or undefined if valid', () => {
|
|
12
|
+
expect((0, assertIsDefined_1.assertIsDefined)(123)).toBeUndefined();
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=assertIsDefined.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsDefined.spec.js","sourceRoot":"","sources":["../../src/assertions/assertIsDefined.spec.ts"],"names":[],"mappings":";;AAAA,uDAAoD;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,iCAAe,EAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CACzE,wDAAwD,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,CACpE,mDAAmD,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertIsMapOfStringString = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
function assertIsMapOfStringString(value) {
|
|
6
|
+
if (!value) {
|
|
7
|
+
throw new assert_1.AssertionError({
|
|
8
|
+
actual: value,
|
|
9
|
+
expected: 'not null',
|
|
10
|
+
message: 'value cannot be null or undefined',
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (typeof value !== 'object') {
|
|
14
|
+
throw new assert_1.AssertionError({
|
|
15
|
+
actual: value,
|
|
16
|
+
expected: 'string',
|
|
17
|
+
message: 'value is not a string',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
for (const [key, propValue] of Object.entries(value)) {
|
|
21
|
+
if (typeof propValue !== 'string') {
|
|
22
|
+
throw new assert_1.AssertionError({
|
|
23
|
+
actual: typeof propValue,
|
|
24
|
+
expected: 'string',
|
|
25
|
+
message: `property ${key} is not type of string`,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.assertIsMapOfStringString = assertIsMapOfStringString;
|
|
31
|
+
//# sourceMappingURL=assertIsMapOfStringString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsMapOfStringString.js","sourceRoot":"","sources":["../../src/assertions/assertIsMapOfStringString.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,uBAAc,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,uBAAc,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;KACJ;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,MAAM,IAAI,uBAAc,CAAC;gBACvB,MAAM,EAAE,OAAO,SAAS;gBACxB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,YAAY,GAAG,wBAAwB;aACjD,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AA1BD,8DA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertIsMapOfStringString_1 = require("./assertIsMapOfStringString");
|
|
4
|
+
describe('assertIsMapOfStringString', () => {
|
|
5
|
+
it('should not throw if input is an object with only string values', () => {
|
|
6
|
+
expect((0, assertIsMapOfStringString_1.assertIsMapOfStringString)({ prop: 'aa' })).toBeUndefined();
|
|
7
|
+
});
|
|
8
|
+
it('should not throw if input is an empty object', () => {
|
|
9
|
+
expect((0, assertIsMapOfStringString_1.assertIsMapOfStringString)({})).toBeUndefined();
|
|
10
|
+
});
|
|
11
|
+
it("should throw if object property isn't a string", () => {
|
|
12
|
+
expect(() => (0, assertIsMapOfStringString_1.assertIsMapOfStringString)({ prop: 123 })).toThrowErrorMatchingInlineSnapshot(`"property prop is not type of string"`);
|
|
13
|
+
});
|
|
14
|
+
it('should throw if input is not an object', () => {
|
|
15
|
+
expect(() => (0, assertIsMapOfStringString_1.assertIsMapOfStringString)(123)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
16
|
+
expect(() => (0, assertIsMapOfStringString_1.assertIsMapOfStringString)(undefined)).toThrowErrorMatchingInlineSnapshot(`"value cannot be null or undefined"`);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=assertIsMapOfStringString.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsMapOfStringString.spec.js","sourceRoot":"","sources":["../../src/assertions/assertIsMapOfStringString.spec.ts"],"names":[],"mappings":";;AAAA,2EAAwE;AAExE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,IAAA,qDAAyB,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,IAAA,qDAAyB,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,qDAAyB,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,kCAAkC,CACvF,uCAAuC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,qDAAyB,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAC3G,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,qDAAyB,EAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CACnF,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertIsNotAnEmptyString(val: any): asserts val is string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertIsNotAnEmptyString = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
function assertIsNotAnEmptyString(val) {
|
|
6
|
+
if (typeof val !== 'string') {
|
|
7
|
+
throw new assert_1.AssertionError({
|
|
8
|
+
actual: typeof val,
|
|
9
|
+
expected: 'string',
|
|
10
|
+
message: 'value is not a string',
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (val.trim().length === 0) {
|
|
14
|
+
throw new assert_1.AssertionError({
|
|
15
|
+
message: 'string cannot be empty',
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.assertIsNotAnEmptyString = assertIsNotAnEmptyString;
|
|
20
|
+
//# sourceMappingURL=assertIsNotAnEmptyString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsNotAnEmptyString.js","sourceRoot":"","sources":["../../src/assertions/assertIsNotAnEmptyString.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,SAAgB,wBAAwB,CAAC,GAAQ;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,MAAM,IAAI,uBAAc,CAAC;YACvB,MAAM,EAAE,OAAO,GAAG;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;KACJ;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,uBAAc,CAAC;YACvB,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;KACJ;AACH,CAAC;AAdD,4DAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertIsNotAnEmptyString_1 = require("./assertIsNotAnEmptyString");
|
|
4
|
+
describe('assertIsNotAnEmptyString', () => {
|
|
5
|
+
it('should throw if input value is not a string', () => {
|
|
6
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(null)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
7
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
8
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(132)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
9
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)({})).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
10
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(['aa'])).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
11
|
+
});
|
|
12
|
+
it('should throw if input is empty string', () => {
|
|
13
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)('')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
14
|
+
});
|
|
15
|
+
it('should throw if input is whitespace string', () => {
|
|
16
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(' ')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
17
|
+
expect(() => (0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)(' ')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
18
|
+
});
|
|
19
|
+
it('should not throw if string of length >= 1 is passed in', () => {
|
|
20
|
+
expect((0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)('1')).toBeUndefined();
|
|
21
|
+
expect((0, assertIsNotAnEmptyString_1.assertIsNotAnEmptyString)('11111')).toBeUndefined();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=assertIsNotAnEmptyString.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsNotAnEmptyString.spec.js","sourceRoot":"","sources":["../../src/assertions/assertIsNotAnEmptyString.spec.ts"],"names":[],"mappings":";;AAAA,yEAAsE;AAEtE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAC3G,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAChH,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAC1G,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QACzG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QAC3G,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,IAAA,mDAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACtD,MAAM,CAAC,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertIsObject(val: any): asserts val is object;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertIsObject = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
function assertIsObject(val) {
|
|
6
|
+
if (Object.prototype.toString.call(val) !== '[object Object]') {
|
|
7
|
+
throw new assert_1.AssertionError({
|
|
8
|
+
actual: Object.prototype.toString.call(val),
|
|
9
|
+
expected: 'object',
|
|
10
|
+
message: 'value is not an object',
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.assertIsObject = assertIsObject;
|
|
15
|
+
//# sourceMappingURL=assertIsObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsObject.js","sourceRoot":"","sources":["../../src/assertions/assertIsObject.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,SAAgB,cAAc,CAAC,GAAQ;IACrC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE;QAC7D,MAAM,IAAI,uBAAc,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3C,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,wBAAwB;SAClC,CAAC,CAAC;KACJ;AACH,CAAC;AARD,wCAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertIsObject_1 = require("./assertIsObject");
|
|
4
|
+
describe('assertIsObject', () => {
|
|
5
|
+
it('should not throw if input is an object', () => {
|
|
6
|
+
expect((0, assertIsObject_1.assertIsObject)({ hello: 123 })).toBeUndefined();
|
|
7
|
+
});
|
|
8
|
+
it("should throw if input isn't an object", () => {
|
|
9
|
+
expect(() => (0, assertIsObject_1.assertIsObject)(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
10
|
+
expect(() => (0, assertIsObject_1.assertIsObject)(null)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
11
|
+
expect(() => (0, assertIsObject_1.assertIsObject)('my string')).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
12
|
+
expect(() => (0, assertIsObject_1.assertIsObject)(123)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
13
|
+
expect(() => (0, assertIsObject_1.assertIsObject)([])).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
14
|
+
expect(() => (0, assertIsObject_1.assertIsObject)(NaN)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
15
|
+
expect(() => (0, assertIsObject_1.assertIsObject)(Infinity)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=assertIsObject.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsObject.spec.js","sourceRoot":"","sources":["../../src/assertions/assertIsObject.spec.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QACvG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QAClG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QACzG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QACjG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QAChG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QACjG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertIsString(val: any): asserts val is string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertIsString = void 0;
|
|
4
|
+
const assert_1 = require("assert");
|
|
5
|
+
function assertIsString(val) {
|
|
6
|
+
if (typeof val !== 'string') {
|
|
7
|
+
throw new assert_1.AssertionError({
|
|
8
|
+
actual: val,
|
|
9
|
+
expected: 'string',
|
|
10
|
+
message: 'value is not a string',
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.assertIsString = assertIsString;
|
|
15
|
+
//# sourceMappingURL=assertIsString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsString.js","sourceRoot":"","sources":["../../src/assertions/assertIsString.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,SAAgB,cAAc,CAAC,GAAQ;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,MAAM,IAAI,uBAAc,CAAC;YACvB,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;KACJ;AACH,CAAC;AARD,wCAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const assertIsString_1 = require("./assertIsString");
|
|
4
|
+
describe('assertIsString', () => {
|
|
5
|
+
it('should not throw if input is a string', () => {
|
|
6
|
+
expect((0, assertIsString_1.assertIsString)('hello')).toBeUndefined();
|
|
7
|
+
});
|
|
8
|
+
it('should not throw if input is not a string', () => {
|
|
9
|
+
expect(() => (0, assertIsString_1.assertIsString)(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
10
|
+
expect(() => (0, assertIsString_1.assertIsString)(null)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
11
|
+
expect(() => (0, assertIsString_1.assertIsString)(123)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
12
|
+
expect(() => (0, assertIsString_1.assertIsString)([])).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
13
|
+
expect(() => (0, assertIsString_1.assertIsString)(NaN)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
14
|
+
expect(() => (0, assertIsString_1.assertIsString)(Infinity)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=assertIsString.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertIsString.spec.js","sourceRoot":"","sources":["../../src/assertions/assertIsString.spec.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QACtG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QACjG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAChG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAC/F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;QAChG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,EAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './assertions/assertIsString';
|
|
2
|
+
export * from './assertions/assertIsDefined';
|
|
3
|
+
export * from './assertions/assertIsMapOfStringString';
|
|
4
|
+
export * from './assertions/assertIsObject';
|
|
5
|
+
export * from './assertions/assertIsNotAnEmptyString';
|
|
6
|
+
export * from './assertions/assertAssignWithDefaultUndefinedValue';
|
|
7
|
+
export * from './assertions/assertAssign';
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Common Assertions
|
|
18
|
+
__exportStar(require("./assertions/assertIsString"), exports);
|
|
19
|
+
__exportStar(require("./assertions/assertIsDefined"), exports);
|
|
20
|
+
__exportStar(require("./assertions/assertIsMapOfStringString"), exports);
|
|
21
|
+
__exportStar(require("./assertions/assertIsObject"), exports);
|
|
22
|
+
__exportStar(require("./assertions/assertIsNotAnEmptyString"), exports);
|
|
23
|
+
// Assert assign
|
|
24
|
+
__exportStar(require("./assertions/assertAssignWithDefaultUndefinedValue"), exports);
|
|
25
|
+
__exportStar(require("./assertions/assertAssign"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,8DAA4C;AAC5C,+DAA6C;AAC7C,yEAAuD;AACvD,8DAA4C;AAC5C,wEAAsD;AAEtD,gBAAgB;AAChB,qFAAmE;AACnE,4DAA0C"}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@squiz/dx-common-lib",
|
|
3
|
+
"version": "1.2.1-alpha.100",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "node ./lib/index.js",
|
|
8
|
+
"compile": "npx tsc",
|
|
9
|
+
"lint": "eslint ./src --ext .ts",
|
|
10
|
+
"test": "jest -c jest.config.ts",
|
|
11
|
+
"test:integration": "jest -c jest.integration.config.ts",
|
|
12
|
+
"test:update-snapshots": "jest -c jest.config.ts --updateSnapshot",
|
|
13
|
+
"clean": "rimraf \".tsbuildinfo\" \"./lib\""
|
|
14
|
+
},
|
|
15
|
+
"author": "",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/jest": "28.1.6",
|
|
19
|
+
"@types/node": "17.0.27",
|
|
20
|
+
"dotenv": "16.0.1",
|
|
21
|
+
"eslint": "8.22.0",
|
|
22
|
+
"jest": "28.1.3",
|
|
23
|
+
"rimraf": "3.0.2",
|
|
24
|
+
"ts-jest": "28.0.7",
|
|
25
|
+
"ts-loader": "9.3.1",
|
|
26
|
+
"ts-node": "10.9.1",
|
|
27
|
+
"typescript": "4.7.4"
|
|
28
|
+
},
|
|
29
|
+
"gitHead": "909ab48128b72579f5f1390b7f045a3a41958795"
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { assertAssign } from './assertAssign';
|
|
2
|
+
import { assertIsString } from './assertIsString';
|
|
3
|
+
|
|
4
|
+
describe('assertAssign', () => {
|
|
5
|
+
it('should assert the input meets an assertion function and return if valid', () => {
|
|
6
|
+
expect(assertAssign('123', assertIsString)).toEqual('123');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
it('should assert the input meets an assertion function and throw if not valid', () => {
|
|
10
|
+
expect(() => assertAssign(123, assertIsString)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('should allow custom error message', () => {
|
|
14
|
+
expect(() => assertAssign(123, assertIsString, 'custom error')).toThrowErrorMatchingInlineSnapshot(
|
|
15
|
+
`"custom error"`,
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Assert and return unknown value as known type
|
|
5
|
+
*/
|
|
6
|
+
export function assertAssign<T>(
|
|
7
|
+
value: unknown,
|
|
8
|
+
assertionFunc: (val: unknown) => asserts val is T,
|
|
9
|
+
errorMessage?: string,
|
|
10
|
+
): T {
|
|
11
|
+
try {
|
|
12
|
+
assertionFunc(value);
|
|
13
|
+
} catch (e) {
|
|
14
|
+
if (errorMessage) {
|
|
15
|
+
throw new AssertionError({ message: errorMessage });
|
|
16
|
+
} else {
|
|
17
|
+
throw e;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { assertAssignWithDefaultUndefinedValue } from './assertAssignWithDefaultUndefinedValue';
|
|
2
|
+
import { assertIsObject } from './assertIsObject';
|
|
3
|
+
import { assertIsString } from './assertIsString';
|
|
4
|
+
|
|
5
|
+
describe('assertAssignWithDefaultUndefinedValue', () => {
|
|
6
|
+
it('should assert the input meets an assertion function and return if valid', () => {
|
|
7
|
+
expect(assertAssignWithDefaultUndefinedValue('123', assertIsString, 'xx')).toEqual('123');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('should return default value if input is undefined', () => {
|
|
11
|
+
expect(assertAssignWithDefaultUndefinedValue(undefined, assertIsString, 'xx')).toEqual('xx');
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('should handle different types of type assertions', () => {
|
|
15
|
+
expect(assertAssignWithDefaultUndefinedValue(undefined, assertIsObject, { default: 'hello' })).toEqual({
|
|
16
|
+
default: 'hello',
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should assert the input meets an assertion function and throw if not valid', () => {
|
|
21
|
+
expect(() => assertAssignWithDefaultUndefinedValue(123, assertIsString, 'xx')).toThrowErrorMatchingInlineSnapshot(
|
|
22
|
+
`"value is not a string"`,
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('should allow custom error message', () => {
|
|
27
|
+
expect(() =>
|
|
28
|
+
assertAssignWithDefaultUndefinedValue(123, assertIsString, 'xx', 'custom error'),
|
|
29
|
+
).toThrowErrorMatchingInlineSnapshot(`"custom error"`);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { assertAssign } from './assertAssign';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* If value is undefined, return default value otherwise assert it meets assertion rule
|
|
5
|
+
*/
|
|
6
|
+
export function assertAssignWithDefaultUndefinedValue<T>(
|
|
7
|
+
value: unknown,
|
|
8
|
+
assertionFunc: (val: unknown) => asserts val is T,
|
|
9
|
+
defaultValue: T,
|
|
10
|
+
errorMessage?: string,
|
|
11
|
+
): T {
|
|
12
|
+
if (value === undefined || value === null) {
|
|
13
|
+
return defaultValue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return assertAssign(value, assertionFunc, errorMessage);
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { assertIsDefined } from './assertIsDefined';
|
|
2
|
+
|
|
3
|
+
describe('assertIsDefined', () => {
|
|
4
|
+
it('should throw an assertion error if input is undefined', () => {
|
|
5
|
+
expect(() => assertIsDefined(undefined)).toThrowErrorMatchingInlineSnapshot(
|
|
6
|
+
`"Expected 'val' to be defined, but received undefined"`,
|
|
7
|
+
);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('should throw an assertion error if input is null', () => {
|
|
11
|
+
expect(() => assertIsDefined(null)).toThrowErrorMatchingInlineSnapshot(
|
|
12
|
+
`"Expected 'val' to be defined, but received null"`,
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('should return "void" or undefined if valid', () => {
|
|
17
|
+
expect(assertIsDefined(123)).toBeUndefined();
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
export function assertIsDefined<T>(value: T): asserts value is NonNullable<T> {
|
|
4
|
+
if (value === undefined || value === null) {
|
|
5
|
+
throw new AssertionError({ message: `Expected 'val' to be defined, but received ${value}` });
|
|
6
|
+
}
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { assertIsMapOfStringString } from './assertIsMapOfStringString';
|
|
2
|
+
|
|
3
|
+
describe('assertIsMapOfStringString', () => {
|
|
4
|
+
it('should not throw if input is an object with only string values', () => {
|
|
5
|
+
expect(assertIsMapOfStringString({ prop: 'aa' })).toBeUndefined();
|
|
6
|
+
});
|
|
7
|
+
it('should not throw if input is an empty object', () => {
|
|
8
|
+
expect(assertIsMapOfStringString({})).toBeUndefined();
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("should throw if object property isn't a string", () => {
|
|
12
|
+
expect(() => assertIsMapOfStringString({ prop: 123 })).toThrowErrorMatchingInlineSnapshot(
|
|
13
|
+
`"property prop is not type of string"`,
|
|
14
|
+
);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should throw if input is not an object', () => {
|
|
18
|
+
expect(() => assertIsMapOfStringString(123)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
19
|
+
expect(() => assertIsMapOfStringString(undefined)).toThrowErrorMatchingInlineSnapshot(
|
|
20
|
+
`"value cannot be null or undefined"`,
|
|
21
|
+
);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
export function assertIsMapOfStringString(value: unknown): asserts value is { [key: string]: string } {
|
|
4
|
+
if (!value) {
|
|
5
|
+
throw new AssertionError({
|
|
6
|
+
actual: value,
|
|
7
|
+
expected: 'not null',
|
|
8
|
+
message: 'value cannot be null or undefined',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (typeof value !== 'object') {
|
|
13
|
+
throw new AssertionError({
|
|
14
|
+
actual: value,
|
|
15
|
+
expected: 'string',
|
|
16
|
+
message: 'value is not a string',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
for (const [key, propValue] of Object.entries(value)) {
|
|
21
|
+
if (typeof propValue !== 'string') {
|
|
22
|
+
throw new AssertionError({
|
|
23
|
+
actual: typeof propValue,
|
|
24
|
+
expected: 'string',
|
|
25
|
+
message: `property ${key} is not type of string`,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assertIsNotAnEmptyString } from './assertIsNotAnEmptyString';
|
|
2
|
+
|
|
3
|
+
describe('assertIsNotAnEmptyString', () => {
|
|
4
|
+
it('should throw if input value is not a string', () => {
|
|
5
|
+
expect(() => assertIsNotAnEmptyString(null)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
6
|
+
expect(() => assertIsNotAnEmptyString(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
7
|
+
expect(() => assertIsNotAnEmptyString(132)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
8
|
+
expect(() => assertIsNotAnEmptyString({})).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
9
|
+
expect(() => assertIsNotAnEmptyString(['aa'])).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('should throw if input is empty string', () => {
|
|
13
|
+
expect(() => assertIsNotAnEmptyString('')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('should throw if input is whitespace string', () => {
|
|
17
|
+
expect(() => assertIsNotAnEmptyString(' ')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
18
|
+
expect(() => assertIsNotAnEmptyString(' ')).toThrowErrorMatchingInlineSnapshot(`"string cannot be empty"`);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('should not throw if string of length >= 1 is passed in', () => {
|
|
22
|
+
expect(assertIsNotAnEmptyString('1')).toBeUndefined();
|
|
23
|
+
expect(assertIsNotAnEmptyString('11111')).toBeUndefined();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
export function assertIsNotAnEmptyString(val: any): asserts val is string {
|
|
4
|
+
if (typeof val !== 'string') {
|
|
5
|
+
throw new AssertionError({
|
|
6
|
+
actual: typeof val,
|
|
7
|
+
expected: 'string',
|
|
8
|
+
message: 'value is not a string',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (val.trim().length === 0) {
|
|
13
|
+
throw new AssertionError({
|
|
14
|
+
message: 'string cannot be empty',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { assertIsObject } from './assertIsObject';
|
|
2
|
+
|
|
3
|
+
describe('assertIsObject', () => {
|
|
4
|
+
it('should not throw if input is an object', () => {
|
|
5
|
+
expect(assertIsObject({ hello: 123 })).toBeUndefined();
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
it("should throw if input isn't an object", () => {
|
|
9
|
+
expect(() => assertIsObject(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
10
|
+
expect(() => assertIsObject(null)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
11
|
+
expect(() => assertIsObject('my string')).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
12
|
+
expect(() => assertIsObject(123)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
13
|
+
expect(() => assertIsObject([])).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
14
|
+
expect(() => assertIsObject(NaN)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
15
|
+
expect(() => assertIsObject(Infinity)).toThrowErrorMatchingInlineSnapshot(`"value is not an object"`);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
export function assertIsObject(val: any): asserts val is object {
|
|
4
|
+
if (Object.prototype.toString.call(val) !== '[object Object]') {
|
|
5
|
+
throw new AssertionError({
|
|
6
|
+
actual: Object.prototype.toString.call(val),
|
|
7
|
+
expected: 'object',
|
|
8
|
+
message: 'value is not an object',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { assertIsString } from './assertIsString';
|
|
2
|
+
|
|
3
|
+
describe('assertIsString', () => {
|
|
4
|
+
it('should not throw if input is a string', () => {
|
|
5
|
+
expect(assertIsString('hello')).toBeUndefined();
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
it('should not throw if input is not a string', () => {
|
|
9
|
+
expect(() => assertIsString(undefined)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
10
|
+
expect(() => assertIsString(null)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
11
|
+
expect(() => assertIsString(123)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
12
|
+
expect(() => assertIsString([])).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
13
|
+
expect(() => assertIsString(NaN)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
14
|
+
expect(() => assertIsString(Infinity)).toThrowErrorMatchingInlineSnapshot(`"value is not a string"`);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AssertionError } from 'assert';
|
|
2
|
+
|
|
3
|
+
export function assertIsString(val: any): asserts val is string {
|
|
4
|
+
if (typeof val !== 'string') {
|
|
5
|
+
throw new AssertionError({
|
|
6
|
+
actual: val,
|
|
7
|
+
expected: 'string',
|
|
8
|
+
message: 'value is not a string',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Common Assertions
|
|
2
|
+
export * from './assertions/assertIsString';
|
|
3
|
+
export * from './assertions/assertIsDefined';
|
|
4
|
+
export * from './assertions/assertIsMapOfStringString';
|
|
5
|
+
export * from './assertions/assertIsObject';
|
|
6
|
+
export * from './assertions/assertIsNotAnEmptyString';
|
|
7
|
+
|
|
8
|
+
// Assert assign
|
|
9
|
+
export * from './assertions/assertAssignWithDefaultUndefinedValue';
|
|
10
|
+
export * from './assertions/assertAssign';
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.json",
|
|
3
|
+
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "lib/",
|
|
6
|
+
"resolveJsonModule": true,
|
|
7
|
+
"composite": true,
|
|
8
|
+
"rootDir": "./src",
|
|
9
|
+
"sourceMap": true
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
"references": [],
|
|
13
|
+
|
|
14
|
+
"include": ["src/**/*.ts", "src/**/*.json"],
|
|
15
|
+
"exclude": ["jest.config.ts"]
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.es2019.full.d.ts","./src/assertions/assertIsString.ts","./src/assertions/assertIsDefined.ts","./src/assertions/assertIsMapOfStringString.ts","./src/assertions/assertIsObject.ts","./src/assertions/assertIsNotAnEmptyString.ts","./src/assertions/assertAssign.ts","./src/assertions/assertAssignWithDefaultUndefinedValue.ts","./src/index.ts","./src/assertions/assertAssign.spec.ts","./src/assertions/assertAssignWithDefaultUndefinedValue.spec.ts","./src/assertions/assertIsDefined.spec.ts","./src/assertions/assertIsMapOfStringString.spec.ts","./src/assertions/assertIsNotAnEmptyString.spec.ts","./src/assertions/assertIsObject.spec.ts","./src/assertions/assertIsString.spec.ts","./node_modules/chalk/index.d.ts","./node_modules/@sinclair/typebox/typebox.d.ts","./node_modules/@jest/schemas/build/index.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/jest-diff/build/index.d.ts","./node_modules/jest-matcher-utils/build/index.d.ts","./node_modules/@types/jest/index.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f",{"version":"92293014078d62704d990e36ff625a1f5035cf640c29df8bdaca950f7100b850","signature":"fc8bba36188f124c4a8f77cfee3c3866ab69681ae6242f3126db68f66e8dde79"},{"version":"4d7ef907074dd6d8fd9dfe483ed519ea1ea5ba34a7d9cc5780037ae55443cb04","signature":"4574b719c169a0403986def46ead96b1bea45a154c768c73de5f40e6052a2e7c"},{"version":"ca9675e9e23f5334cc287c42dcc147e098c11fe3eec42e621ac2877e33e11790","signature":"79d02ee26ac639c9ec0a64823fdb23cbf800610b33b2a5b833c8fd3fa8300b8c"},{"version":"d6a65dd0e4bac132b0865c36ee08293682cde9329bcd0f7cfa6cb7e8c1bf8201","signature":"83006a0b56727e71bba20e649e2e785b0d48c0b5747e7f6f8777ecc2ad543ba2"},{"version":"c24a63675f9e2be2608639e4b5693d765aaa6cbfd8c50bd894ba1ba82cf1e863","signature":"4dbabe74a0d5da407ca5792b0788deabb100e7575de1dd4343e004aa6f0f6c47"},{"version":"d3185c2498b4fa0d69126842650d30093d52f61eacf381ee73d09facdf0940a1","signature":"fedf134c6065fc7a0758fcb2719ae5e0ca4a2834280d06661c34eee12ed9e424"},{"version":"f3fddd1882e3d82e536628f7411e007d3397f544b855e7c067cd8c89fd373812","signature":"3dfca62c02f7a0afa0e2303e2b19db0b948b65e326604aea6f904a72b8779c13"},{"version":"142afc3467b3a968fa0e3d17cc3ea9be0e928eaa7055895458dd0579c21f68b5","signature":"f541e6fdee0d27aaf2646923014775d95a28da7396c9cdade080e1d8209f21f5"},{"version":"2d77ea3dec511eb6dfc846998a5fa03ea8534c6ffd0fb88df53d88790a8db76f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"068fd0e5004de5d10debf3e15d89d818295a50a8e208cc33a9991407b33d36ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"204d350d82eb67a520690dca145da112ab00b07436bab2af46fc22eb2a6ed9a3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c76cb7a210b42a3cd21f7e4da7fe48128c491e3e3fca30cf2c21683a3fc20551","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4b4e5f386a969632dda611befed2d8be5d96e939077dd8722247fbe251ef9de7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e90ff2a7146a4e2801bc50d2c36392296ca89c46cc0f53cba46e0506657c56ee","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7707bfb61f54d5f09ea4e80aff8465407a492c66ae81705e62e4185f779aad29","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d982cdd2610155b3cbcbfa62ccabcf2d2b739f821518ef113348d160ef0010d9","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2",{"version":"1de1ad6a1929317171d8cfcd55bb2732257680c1bf89bcd53e1d46a4d8dbda22","affectsGlobalScope":true},"0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","918a76828d88a73924bb26fef58040a6eb8a9adb7e407ea7264175520dda9450","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8"],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"fileIdsList":[[62,111],[111],[64,66,111],[68,111],[71,111],[72,77,111],[73,83,84,91,100,110,111],[73,74,83,91,111],[75,111],[76,77,84,92,111],[77,100,107,111],[78,80,83,91,111],[79,111],[80,81,111],[82,83,111],[83,111],[83,84,85,100,110,111],[83,84,85,100,111],[86,91,100,110,111],[83,84,86,87,91,100,107,110,111],[86,88,100,107,110,111],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],[83,89,111],[90,110,111],[80,83,91,100,111],[92,111],[93,111],[71,94,111],[95,109,111,115],[96,111],[97,111],[83,98,111],[98,99,111,113],[83,100,101,102,111],[100,102,111],[100,101,111],[103,111],[104,111],[83,105,106,111],[105,106,111],[77,91,100,107,111],[108,111],[91,109,111],[72,86,97,110,111],[77,111],[100,111,112],[111,113],[111,114],[72,77,83,85,94,100,110,111,113,115],[100,111,116],[64,111],[61,65,111],[63,111],[46,51,111],[46,49,52,111],[51,111],[47,111],[48,111],[50,111],[49,111],[46,111],[46,47,48,49,50,51,52,111],[46,47,48,49,50,51,52]],"referencedMap":[[63,1],[62,2],[67,3],[68,4],[69,4],[71,5],[72,6],[73,7],[74,8],[75,9],[76,10],[77,11],[78,12],[79,13],[80,14],[81,14],[82,15],[83,16],[84,17],[85,18],[70,2],[117,2],[86,19],[87,20],[88,21],[118,22],[89,23],[90,24],[91,25],[92,26],[93,27],[94,28],[95,29],[96,30],[97,31],[98,32],[99,33],[100,34],[102,35],[101,36],[103,37],[104,38],[105,39],[106,40],[107,41],[108,42],[109,43],[110,44],[111,45],[112,46],[113,47],[114,48],[115,49],[116,50],[61,2],[65,51],[66,52],[64,53],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[45,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[54,54],[51,4],[55,55],[52,56],[56,57],[47,4],[57,58],[48,4],[58,59],[50,4],[59,60],[49,4],[60,61],[46,4],[53,62]],"exportedModulesMap":[[63,1],[62,2],[67,3],[68,4],[69,4],[71,5],[72,6],[73,7],[74,8],[75,9],[76,10],[77,11],[78,12],[79,13],[80,14],[81,14],[82,15],[83,16],[84,17],[85,18],[70,2],[117,2],[86,19],[87,20],[88,21],[118,22],[89,23],[90,24],[91,25],[92,26],[93,27],[94,28],[95,29],[96,30],[97,31],[98,32],[99,33],[100,34],[102,35],[101,36],[103,37],[104,38],[105,39],[106,40],[107,41],[108,42],[109,43],[110,44],[111,45],[112,46],[113,47],[114,48],[115,49],[116,50],[61,2],[65,51],[66,52],[64,53],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[45,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[53,63]],"semanticDiagnosticsPerFile":[63,62,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,70,117,86,87,88,118,89,90,91,92,93,94,95,96,97,98,99,100,102,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,61,65,66,64,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,45,33,34,35,36,7,37,42,43,38,39,40,41,1,44,11,10,54,51,55,52,56,47,57,48,58,50,59,49,60,46,53]},"version":"4.7.4"}
|