@adminide-stack/core 9.2.1-alpha.33 → 9.2.1-alpha.37
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.js +1 -1
- package/lib/interfaces/generated/generated-models.d.ts +45 -0
- package/lib/interfaces/generated/generated-models.js +78 -1
- package/lib/interfaces/generated/generated-models.js.map +1 -1
- package/lib/utils/flatten-utils.d.ts +1 -0
- package/lib/utils/flatten-utils.js +19 -1
- package/lib/utils/flatten-utils.js.map +1 -1
- package/lib/utils/getUserAlias.d.ts +2 -0
- package/lib/utils/getUserAlias.js +9 -0
- package/lib/utils/getUserAlias.js.map +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/resourceUriConversion.js +2 -3
- package/lib/utils/resourceUriConversion.js.map +1 -1
- package/lib/utils/reviveUri.js +4 -1
- package/lib/utils/reviveUri.js.map +1 -1
- package/package.json +2 -2
@@ -7,3 +7,4 @@ export declare function flatten<T extends Record<string, any>>(object: T, path?:
|
|
7
7
|
* @return Object The expanded object.
|
8
8
|
*/
|
9
9
|
export declare function expand(object: any, options: any): {};
|
10
|
+
export declare function flattenObject(obj: Record<string, any>): Record<string, any>;
|
@@ -45,4 +45,22 @@ function expand(object, options) {
|
|
45
45
|
pointer[parts.shift()] = value;
|
46
46
|
}
|
47
47
|
return expanded;
|
48
|
-
}
|
48
|
+
}
|
49
|
+
function flattenObject(obj) {
|
50
|
+
const flattened = {};
|
51
|
+
function flatten(prefix, target) {
|
52
|
+
if (!target || typeof target !== 'object') {
|
53
|
+
throw new Error('A valid object is required to flatten');
|
54
|
+
}
|
55
|
+
for (const [key, value] of Object.entries(target)) {
|
56
|
+
const newKey = prefix ? `${prefix}.${key}` : key;
|
57
|
+
if (value && typeof value === 'object') {
|
58
|
+
flatten(newKey, value);
|
59
|
+
} else {
|
60
|
+
flattened[newKey] = value;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
flatten('', obj);
|
65
|
+
return flattened;
|
66
|
+
}export{expand,flatten,flattenObject};//# sourceMappingURL=flatten-utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"flatten-utils.js","sources":["../../src/utils/flatten-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACM,SAAU,OAAO,CAAgC,MAAS,EAAE,OAAsB,IAAI,EAAE,SAAS,GAAG,GAAG,EAAA;AACzG,EAAA,OAAA,MAAa,CAAA,IAAK,CAAA,QAAO,MAAQ,CAAA,CAAA,GAAE,EAAM,GAAE,KAAkB;AACzD,IAAA,MAAA,cAAc,CAAA,GAAM,CAAC;AAErB,IAAA,MAAA,WAAa,IAAI,EAAI,GAAA,CAAE,OAAW,CAAA,aAAU,UAAK,CAAA;AAEjD,IAAA,MAAA,YAAc,OAAG,KAAA,KAAA,QAAA,EAAA,KAAA,KAAA,IAAA,EAAA,EAAA,KAAA,YAAA,IAAA,CAAA,EAAA,EAAA,KAAA,YAAA,MAAA,CAAA,EAAA,EAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,OAAA,CAAA;mBACN,GAAA;AACP,MAAA,GAAA,GAAA;AACA,MAAA,GAAA,OAAE,CAAA,KAAiB,EAAA,OAAA,EAAA,SAAK;AACxB,KAAA,GAAA;AACA,MAAA,GAAA,GAAA;AACH,MAAA,CAAA,OAAM,GAAQ;AAEf,KAAA;KACH,EAAE,CAAO;AACd;AAEA;;;;;;AAMG;AACa,SAAA,MAAM,CAAC,MAAM,EAAE,OAAO,EAAA;QAC5B,QAAA,GAAW,EAAA;AACjB,EAAA,IAAA,OAAW,GAAA,OAAU,IAAA,EAAI;AACzB,EAAA,MAAA,YAAkB,OAAA,CAAA,SAAiB,IAAA;AACnC,EAAA,MAAA,QAAc,OAAA,CAAA,KAAa,GAAC,SAAE,UAAmB,CAAA,QAAS,SAAA,GAAU;AAEpE,EAAA,KAAA,IAAS,IAAA,IAAQ,MAAA,EAAM;AACnB,IAAA,MAAA,cAAc,CAAA,IAAO,CAAA;QACrB,OAAI,GAAA,QAAU;QAEd,IAAI,CAAA,OAAY,CAAA,GAAA,CAAC,IAAI,CAAA,EAAA;AACjB,MAAA,IAAA,GAAA,YAAmB,CAAA,KAAA,MAAM,CAAE,CAAA,cAAc,EAAA,CAAA;;AAE7C,IAAA,MAAA,YAAc,CAAA,KAAU,CAAA,eAAY,CAAI,gBAAa,CAAC;AAEtD,IAAA,OAAA,YAAa,GAAA,CAAM,EAAG;AAClB,MAAA,IAAA,GAAA,GAAI,KAAM,CAAA,KAAK,EAAC;aACZ,CAAA,KAAG,CAAC,CAAA,CAAA,CAAA,KAAQ,GAAC,EAAA;iBACV,CAAA,KAAM,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA;gBACf,GAAO,CAAA,GAAA,KAAK,CAAG,OAAK,CAAC,OAAO,CAAC,GAAO,CAAA,CAAA,GAAC,OAAO,CAAC,GAAA,CAAA,GAAO,EAAC;aACxD;mBAAO,CAAA,GAAA,OAAA,CAAA,GAAA,CAAA,KAAA,IAAA,IAAA,OAAA,OAAA,CAAA,GAAA,CAAA,KAAA,QAAA,IAAA,OAAA,CAAA,GAAA,CAAA,CAAA,WAAA,KAAA,MAAA,GAAA,OAAA,CAAA,GAAA,CAAA,GAAA,EAAA;;uBAEO,CAAA,GAAA,CAAC;AACJ;yBACC,CAAC,GAAG,KAAA;;AAEjB,EAAA,OAAA,QAAA;"}
|
1
|
+
{"version":3,"file":"flatten-utils.js","sources":["../../src/utils/flatten-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import {IAuthStrategyEnum}from'../interfaces/generated/generated-models.js';import'../interfaces/configuration/configuration.js';import'../interfaces/organization/organization-context.js';import'@workbench-stack/core/lib/constants/extensions.js';import'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';import'../interfaces/permissions.js';const getUserAlias = (alias, strategy) => {
|
2
|
+
let id;
|
3
|
+
if (strategy === IAuthStrategyEnum.Keycloak) {
|
4
|
+
id = alias.find(x => x.includes(IAuthStrategyEnum.Keycloak));
|
5
|
+
return id.split(`${IAuthStrategyEnum.Keycloak}|`)[1];
|
6
|
+
}
|
7
|
+
id = alias.find(x => !x.includes(IAuthStrategyEnum.Keycloak));
|
8
|
+
return id.split(`${IAuthStrategyEnum.Auth0}|`)[1];
|
9
|
+
};export{getUserAlias};//# sourceMappingURL=getUserAlias.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getUserAlias.js","sources":["../../src/utils/getUserAlias.ts"],"sourcesContent":[null],"names":[],"mappings":"qWAEa,YAAY,GAAG,CAAC,KAAe,EAAE,QAA2B,KAAI;AACzE,EAAA,IAAA,EAAI;AACJ,EAAA,IAAA,aAAiB,iBAAA,CAAA,QAAkB,EAAQ;AACvC,IAAA,EAAA,GAAA,KAAU,CAAA,IAAC,MAAM,CAAC,CAAE,0BAAc,CAAA,QAA0B,CAAA,CAAA;AAC5D,IAAA,OAAA,EAAA,CAAA,KAAe,CAAA,CAAA,EAAA,iBAAI,CAAA,QAAkB,CAAA,CAAA,CAAA,CAAQ,CAAG,CAAA,CAAA;;IAEpD,GAAE,UAAS,CAAA,CAAI,KAAK,CAAE,CAAA,0BAAa,CAAA,QAA0B,CAAA,CAAA;AAC7D,EAAA,OAAA,EAAO,CAAE,KAAM,CAAA,CAAA,EAAI,iBAAA,CAAA,KAAkB,CAAA,CAAK,CAAG,CAAA,CAAA,CAAC,CAAC;AACnD"}
|
package/lib/utils/index.d.ts
CHANGED
@@ -10,6 +10,7 @@ export * from './validations';
|
|
10
10
|
export * from './date-utils';
|
11
11
|
export * from './flatten-utils';
|
12
12
|
export * from './generateUserAlias';
|
13
|
+
export * from './getUserAlias';
|
13
14
|
export * from './getLogger';
|
14
15
|
export * from './preferenceUri';
|
15
16
|
export * from './reviveUri';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import queryString from'query-string';import {parseCdecodeUri}from'./cdecodeUri.js';import {IConfigCollectionName}from'../interfaces/generated/generated-models.js';import'../interfaces/configuration/configuration.js';import'../interfaces/organization/organization-context.js';import'@workbench-stack/core/lib/constants/extensions.js';import'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';import'../interfaces/permissions.js';// moved to `@workbench-stack/core`
|
1
|
+
import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import queryString from'query-string';import {parseCdecodeUri}from'./cdecodeUri.js';import {IConfigCollectionName}from'../interfaces/generated/generated-models.js';import'../interfaces/configuration/configuration.js';import'../interfaces/organization/organization-context.js';import'@workbench-stack/core/lib/constants/extensions.js';import'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';import'../interfaces/permissions.js';import {reviveUri}from'./reviveUri.js';// moved to `@workbench-stack/core`
|
2
2
|
const resourcePath = resource => {
|
3
3
|
if (typeof resource === 'string') {
|
4
4
|
return resource;
|
@@ -57,8 +57,7 @@ function convertToResourceUri(resource) {
|
|
57
57
|
return parsedUri;
|
58
58
|
}
|
59
59
|
if (typeof resource === 'object') {
|
60
|
-
|
61
|
-
const revivedUri = URI.revive(resource);
|
60
|
+
const revivedUri = reviveUri(resource);
|
62
61
|
if (revivedUri.scheme === 'cdecode') {
|
63
62
|
return convertToResourceUri(revivedUri); // Reuse the logic for URI instances
|
64
63
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resourceUriConversion.js","sources":["../../src/utils/resourceUriConversion.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"resourceUriConversion.js","sources":["../../src/utils/resourceUriConversion.ts"],"sourcesContent":[null],"names":[],"mappings":"oiBAMA;AACa,MAAA,YAAY,GAAG,QAAC,IAA4C;AACrE,EAAA,IAAA,OAAW,QAAA,KAAa,QAAA,EAAQ;AAC5B,IAAA,OAAA;;AAEJ,EAAA,MAAA;AACA,IAAA;AACA,GAAA,GAAA;AACA,EAAA,MAAA,QAAc,cAAW,GAAA,CAAA,CAAA,EAAQ,QAAG,CAAA,KAAA,CAAA,CAAA,GAAA,EAAA;AACxC,EAAE,MAAA,QAAA,GAAA,QAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,QAAA,CAAA,QAAA,CAAA,CAAA,GAAA,EAAA;AAEF,EAAM,OAAA,CAAA,EAAA,IAAU,CAAoB,EAAA,KAAA,CAAA,EAAA,QAAA,CAAA,CAAC;AACjC;AAAe,6BAAY,CAAA,QAAA,EAAA;AAC3B,EAAA,IAAA,CAAA,QAAgB,EAAA,OAAI;AAEpB,EAAA,MAAI,UAAQ,GAAA,GAAA,IAAY,QAAM,IAAA,GAAA,IAAA,MAAA,IAAA,GAAA;AAC1B,EAAA,IAAA,QAAc,YAAS,GAAA,EAAA;AACnB,IAAA,IAAA,mBAAa,CAAA,EAAA;kBAC8B,CAAA,MAAA,KAAA,SAAA,EAAA;AACvC;uBAEiD,GAAA,eAAA,CAAA,QAAA,CAAA;;gBAGjD,GAAyD,EAAA;;AAEzD,QAAA,MAAA;qBACQ,CAAA,YAAgB,CAAA;qBACX,SAAC,aAAU,CAAA,YAAsB,CAAA,CAAA;oBAC1C,OAAS,GAAC,UAAU,YAAY,CAAC,YAAY;oBAC7C,UAAU,aAAa,YAAY,CAAC,UAAY;mBACnD,CAAA,aAAA,GAAA,SAAA,CAAA,YAAA,CAAA,aAAA;AAAM,SAAA,MAAA,IAAA,sBAAc,CAAA,aAAa,EAAA;AAC9B,UAAA,IAAA,GAAA,CAAA,CAAA,EAAA,qBAAW,CAAA,QAAA,CAAqB,CAAC;oBACjC,OAAS,GAAC,SAAU,CAAA,YAAsB,CAAA;oBAC1C,yBAA0B,CAAA,YAAsB,CAAA;mBACnD,SAAA,CAAA,YAAA,CAAA,YAAA,EAAA;AAAM,UAAA,IAAA,GAAA,CAAA,CAAA,EAAA,qBAAc,CAAA,aAAa,CAAA,CAAA;AAC9B,UAAA,SAAA,CAAA,OAAO,GAAI,SAAA,CAAA,YAAqB,CAAC,YAAA;;gBAErC,IAAC,KAAA,CAAA,sBAAA,CAAA;;AACG,QAAA,OAAA,GAAA,CAAA,IAAA,CAAA;gBACJ,EAAC,SAAA,CAAA,MAAA;mBACM,EAAA,SAAI,CAAI,SAAC;;4BAEH,CAAA,SAAW,CAAA,SAAU,CAAA;oBAC9B,SAAI,CAAA;AACJ,SAAA,CAAA;;AAEH,MAAA,OAAA,QAAE;;AAEP,IAAA,MAAA,IAAA,KAAO,oDAAS,CAAA;;AAEpB,EAAA,IAAA,OAAA,QAAU,KAAM,QAAA,EAAA;IACpB,MAAC,SAAA,GAAA,GAAA,CAAA,KAAA,CAAA,QAAA,CAAA;AACD,IAAA,IAAI,SAAO,CAAA,MAAa,KAAA,SAAU,EAAC;aACzB,8BAAsB,CAAQ,CAAC;AACrC;AACI,IAAA,OAAA;;AAEJ,EAAA,IAAA,OAAA,aAAiB,QAAA,EAAA;IACrB,MAAC,UAAA,GAAA,SAAA,CAAA,QAAA,CAAA;AACD,IAAA,IAAI,UAAO,CAAA,MAAa,KAAA,SAAW,EAAA;AAC/B,MAAA,OAAA,oBAAmB,CAAA,UAAU,CAAQ,CAAC;AACtC;AACI,IAAA,OAAA;;AAEJ,EAAA,MAAA,IAAA,iCAAkB,CAAA;"}
|
package/lib/utils/reviveUri.js
CHANGED
@@ -5,6 +5,9 @@ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';function r
|
|
5
5
|
// default resource
|
6
6
|
return URI.parse(resource);
|
7
7
|
} else if (typeof resource === 'object') {
|
8
|
-
|
8
|
+
// Spread into a new object in case original is immutable:
|
9
|
+
return URI.revive({
|
10
|
+
...resource
|
11
|
+
});
|
9
12
|
}
|
10
13
|
}export{reviveUri};//# sourceMappingURL=reviveUri.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reviveUri.js","sources":["../../src/utils/reviveUri.ts"],"sourcesContent":[null],"names":[],"mappings":"sEAEM,SAAU,SAAS,CAAC,QAAsC,EAAA;AAC5D,EAAA,IAAA,QAAY,YAAA,GAAe,EAAA;AACvB,IAAA,OAAA;SACH,IAAA,OAAA,QAAA,KAAA,QAAA,EAAA;AAAM;WACgB,GAAA,CAAA,KAAA,CAAA,QAAA,CAAA;AACnB,GAAA,MAAA,IAAA,OAAW,QAAM,KAAQ,QAAE,EAAA
|
1
|
+
{"version":3,"file":"reviveUri.js","sources":["../../src/utils/reviveUri.ts"],"sourcesContent":[null],"names":[],"mappings":"sEAEM,SAAU,SAAS,CAAC,QAAsC,EAAA;AAC5D,EAAA,IAAA,QAAY,YAAA,GAAe,EAAA;AACvB,IAAA,OAAA;SACH,IAAA,OAAA,QAAA,KAAA,QAAA,EAAA;AAAM;WACgB,GAAA,CAAA,KAAA,CAAA,QAAA,CAAA;AACnB,GAAA,MAAA,IAAA,OAAW,QAAM,KAAQ,QAAE,EAAA;;AACxB,IAAA,OAAA,GAAW,CAAA,MAAA,CAAA;SAC4C;;;AAGlE"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@adminide-stack/core",
|
3
|
-
"version": "9.2.1-alpha.
|
3
|
+
"version": "9.2.1-alpha.37",
|
4
4
|
"description": "AdminIDE core for higher packages to depend on",
|
5
5
|
"license": "ISC",
|
6
6
|
"author": "CDMBase LLC",
|
@@ -34,7 +34,7 @@
|
|
34
34
|
"publishConfig": {
|
35
35
|
"access": "public"
|
36
36
|
},
|
37
|
-
"gitHead": "
|
37
|
+
"gitHead": "64f0f1c57331558ecd63cfe6619cea63ef63d7b1",
|
38
38
|
"typescript": {
|
39
39
|
"definition": "lib/index.d.ts"
|
40
40
|
}
|