@mongosh/types 1.8.2 → 1.9.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/lib/index.d.ts +3 -0
- package/lib/index.js +18 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
- package/src/index.spec.ts +12 -0
- package/src/index.ts +18 -0
package/lib/index.d.ts
CHANGED
|
@@ -223,6 +223,9 @@ export declare class CliUserConfig extends SnippetShellUserConfig {
|
|
|
223
223
|
historyLength: number;
|
|
224
224
|
showStackTraces: boolean;
|
|
225
225
|
redactHistory: 'keep' | 'remove' | 'remove-redact';
|
|
226
|
+
oidcRedirectURI: undefined | string;
|
|
227
|
+
oidcTrustedEndpoints: undefined | string[];
|
|
228
|
+
browser: undefined | false | string;
|
|
226
229
|
}
|
|
227
230
|
export declare class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
228
231
|
static validate<K extends keyof CliUserConfig>(key: K, value: CliUserConfig[K]): Promise<string | null>;
|
package/lib/index.js
CHANGED
|
@@ -84,6 +84,9 @@ class CliUserConfig extends SnippetShellUserConfig {
|
|
|
84
84
|
this.historyLength = 1000;
|
|
85
85
|
this.showStackTraces = false;
|
|
86
86
|
this.redactHistory = 'remove';
|
|
87
|
+
this.oidcRedirectURI = undefined;
|
|
88
|
+
this.oidcTrustedEndpoints = undefined;
|
|
89
|
+
this.browser = undefined;
|
|
87
90
|
}
|
|
88
91
|
}
|
|
89
92
|
exports.CliUserConfig = CliUserConfig;
|
|
@@ -116,6 +119,21 @@ class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
116
119
|
return `${key} must be one of 'keep', 'remove', or 'remove-redact'`;
|
|
117
120
|
}
|
|
118
121
|
return null;
|
|
122
|
+
case 'oidcRedirectURI':
|
|
123
|
+
if (value !== undefined && (typeof value !== 'string' || !isValidUrl(value))) {
|
|
124
|
+
return `${key} must be undefined or a valid URL`;
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
case 'oidcTrustedEndpoints':
|
|
128
|
+
if (value !== undefined && (!Array.isArray(value) || value.some(v => typeof v !== 'string'))) {
|
|
129
|
+
return `${key} must be undefined or an array of hostnames`;
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
case 'browser':
|
|
133
|
+
if (value !== undefined && value !== false && typeof value !== 'string') {
|
|
134
|
+
return `${key} must be undefined, false, or a command string`;
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
119
137
|
default:
|
|
120
138
|
return super.validate(key, value);
|
|
121
139
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAqVA,MAAa,eAAe;IAA5B;QACE,qBAAgB,GAAG,EAAE,CAAC;QACtB,cAAS,GAAkB,IAAI,CAAC;QAChC,oBAAe,GAAG,KAAK,CAAC;QACxB,WAAM,GAAkB,IAAI,CAAC;IAC/B,CAAC;CAAA;AALD,0CAKC;AAED,MAAa,wBAAwB;IAEnC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAkC,GAAM,EAAE,KAAyB;QACtF,QAAQ,GAAG,EAAE;YACX,KAAK,kBAAkB;gBACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;oBAC3C,OAAO,GAAG,GAAG,6BAA6B,CAAC;iBAC5C;gBACD,OAAO,IAAI,CAAC;YACd,KAAK,WAAW;gBACd,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;oBAC/D,OAAO,GAAG,GAAG,qCAAqC,CAAC;iBACpD;gBACD,OAAO,IAAI,CAAC;YACd,KAAK,iBAAiB;gBACpB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;oBAC9B,OAAO,GAAG,GAAG,oBAAoB,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;oBAC/C,OAAO,GAAG,GAAG,2BAA2B,CAAC;iBAC1C;gBACD,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,GAAG,GAAG,+BAA+B,CAAC;SAChD;IACH,CAAC;CACF;AA5BD,4DA4BC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IAA3D;;QACE,2BAAsB,GAAG,4DAA4D,CAAC;QACtF,uBAAkB,GAAG,4BAA4B,CAAC;QAClD,oBAAe,GAAG,IAAI,CAAC;IACzB,CAAC;CAAA;AAJD,wDAIC;AAED,MAAa,+BAAgC,SAAQ,wBAAwB;IAC3E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAyC,GAAM,EAAE,KAAgC;QACpG,QAAQ,GAAG,EAAE;YACX,KAAK,wBAAwB;gBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;oBACtF,OAAO,GAAG,GAAG,2CAA2C,CAAC;iBAC1D;gBACD,OAAO,IAAI,CAAC;YACd,KAAK,oBAAoB;gBACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBACnD,OAAO,GAAG,GAAG,sBAAsB,CAAC;iBACrC;gBACD,OAAO,IAAI,CAAC;YACd,KAAK,iBAAiB;gBACpB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;oBAC9B,OAAO,GAAG,GAAG,oBAAoB,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC,QAAQ,CAAC,GAA4B,EAAE,KAAY,CAAC,CAAC;SACrE;IACH,CAAC;CACF;AAtBD,0EAsBC;AAED,MAAa,aAAc,SAAQ,sBAAsB;IAAzD;;QACE,WAAM,GAAG,EAAE,CAAC;QACZ,yBAAoB,GAAG,EAAE,CAAC;QAC1B,2BAAsB,GAAG,KAAK,CAAC;QAC/B,0BAAqB,GAAG,KAAK,CAAC;QAC9B,mBAAc,GAAqB,CAAC,CAAC;QACrC,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,IAAI,CAAC;QACrB,oBAAe,GAAG,KAAK,CAAC;QACxB,kBAAa,GAAwC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongosh/types",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Types for mongosh internals",
|
|
5
5
|
"author": "Anna Henningsen <anna.henningsen@mongodb.com>",
|
|
6
6
|
"homepage": "https://github.com/mongodb-js/mongosh/tree/main/packages/types#readme",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"unitTestsOnly": true
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@mongodb-js/devtools-connect": "^1.
|
|
35
|
+
"@mongodb-js/devtools-connect": "^2.1.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"mongodb": "^5.
|
|
38
|
+
"mongodb": "^5.5.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "938c3c1cdd0f8511b40a08c22e440106d4572b2b"
|
|
41
41
|
}
|
package/src/index.spec.ts
CHANGED
|
@@ -58,6 +58,18 @@ describe('config validation', () => {
|
|
|
58
58
|
expect(await validate('snippetAutoload', -1)).to.equal('snippetAutoload must be a boolean');
|
|
59
59
|
expect(await validate('snippetAutoload', false)).to.equal(null);
|
|
60
60
|
expect(await validate('snippetAutoload', true)).to.equal(null);
|
|
61
|
+
expect(await validate('oidcRedirectURI', 'http://localhost:123456/foo')).to.equal('oidcRedirectURI must be undefined or a valid URL');
|
|
62
|
+
expect(await validate('oidcRedirectURI', undefined)).to.equal(null);
|
|
63
|
+
expect(await validate('oidcRedirectURI', 'http://localhost:0/')).to.equal(null);
|
|
64
|
+
expect(await validate('oidcRedirectURI', 'http://localhost:12345/foo')).to.equal(null);
|
|
65
|
+
expect(await validate('oidcTrustedEndpoints', 'localhost')).to.equal('oidcTrustedEndpoints must be undefined or an array of hostnames');
|
|
66
|
+
expect(await validate('oidcTrustedEndpoints', [1, 2, 3])).to.equal('oidcTrustedEndpoints must be undefined or an array of hostnames');
|
|
67
|
+
expect(await validate('oidcTrustedEndpoints', ['::1', '127.0.0.1', 'foo.bar.com', '*.net'])).to.equal(null);
|
|
68
|
+
expect(await validate('oidcTrustedEndpoints', undefined)).to.equal(null);
|
|
69
|
+
expect(await validate('browser', 1234)).to.equal('browser must be undefined, false, or a command string');
|
|
70
|
+
expect(await validate('browser', undefined)).to.equal(null);
|
|
71
|
+
expect(await validate('browser', false)).to.equal(null);
|
|
72
|
+
expect(await validate('browser', 'foo bar')).to.equal(null);
|
|
61
73
|
});
|
|
62
74
|
|
|
63
75
|
it('allows default CliUserConfig values', async() => {
|
package/src/index.ts
CHANGED
|
@@ -416,6 +416,9 @@ export class CliUserConfig extends SnippetShellUserConfig {
|
|
|
416
416
|
historyLength = 1000;
|
|
417
417
|
showStackTraces = false;
|
|
418
418
|
redactHistory: 'keep' | 'remove' | 'remove-redact' = 'remove';
|
|
419
|
+
oidcRedirectURI: undefined | string = undefined;
|
|
420
|
+
oidcTrustedEndpoints: undefined | string[] = undefined;
|
|
421
|
+
browser: undefined | false | string = undefined;
|
|
419
422
|
}
|
|
420
423
|
|
|
421
424
|
export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
@@ -448,6 +451,21 @@ export class CliUserConfigValidator extends SnippetShellUserConfigValidator {
|
|
|
448
451
|
return `${key} must be one of 'keep', 'remove', or 'remove-redact'`;
|
|
449
452
|
}
|
|
450
453
|
return null;
|
|
454
|
+
case 'oidcRedirectURI':
|
|
455
|
+
if (value !== undefined && (typeof value !== 'string' || !isValidUrl(value))) {
|
|
456
|
+
return `${key} must be undefined or a valid URL`;
|
|
457
|
+
}
|
|
458
|
+
return null;
|
|
459
|
+
case 'oidcTrustedEndpoints':
|
|
460
|
+
if (value !== undefined && (!Array.isArray(value) || value.some(v => typeof v !== 'string'))) {
|
|
461
|
+
return `${key} must be undefined or an array of hostnames`;
|
|
462
|
+
}
|
|
463
|
+
return null;
|
|
464
|
+
case 'browser':
|
|
465
|
+
if (value !== undefined && value !== false && typeof value !== 'string') {
|
|
466
|
+
return `${key} must be undefined, false, or a command string`;
|
|
467
|
+
}
|
|
468
|
+
return null;
|
|
451
469
|
default:
|
|
452
470
|
return super.validate(key as keyof SnippetShellUserConfig, value as any);
|
|
453
471
|
}
|