@esri/hub-common 14.84.0 → 14.86.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/dist/esm/objects/deepDeletePropByValue.js +67 -0
- package/dist/esm/objects/deepDeletePropByValue.js.map +1 -0
- package/dist/esm/objects/deepEqual.js +31 -0
- package/dist/esm/objects/deepEqual.js.map +1 -0
- package/dist/esm/objects/index.js +2 -0
- package/dist/esm/objects/index.js.map +1 -1
- package/dist/esm/permissions/HubPermissionPolicies.js +6 -0
- package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/esm/permissions/types/Permission.js +1 -0
- package/dist/esm/permissions/types/Permission.js.map +1 -1
- package/dist/node/objects/deepDeletePropByValue.js +71 -0
- package/dist/node/objects/deepDeletePropByValue.js.map +1 -0
- package/dist/node/objects/deepEqual.js +35 -0
- package/dist/node/objects/deepEqual.js.map +1 -0
- package/dist/node/objects/index.js +2 -0
- package/dist/node/objects/index.js.map +1 -1
- package/dist/node/permissions/HubPermissionPolicies.js +6 -0
- package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/node/permissions/types/Permission.js +1 -0
- package/dist/node/permissions/types/Permission.js.map +1 -1
- package/dist/types/objects/deepDeletePropByValue.d.ts +19 -0
- package/dist/types/objects/deepEqual.d.ts +9 -0
- package/dist/types/objects/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { deepEqual } from "./deepEqual";
|
|
2
|
+
import { _isObject } from "./_deep-map-values";
|
|
3
|
+
import { isFindable } from "./internal/isFindable";
|
|
4
|
+
/**
|
|
5
|
+
* Recursively deletes properties from an object or array that have a
|
|
6
|
+
* specific value.
|
|
7
|
+
*
|
|
8
|
+
* Hub commonly applies migrations to entities on load. During those
|
|
9
|
+
* migrations, often we want to delete properties to clean things up.
|
|
10
|
+
* However, during the save process, we typically fetch the entity
|
|
11
|
+
* from it's backing store and spread the migrated entity over the top of
|
|
12
|
+
* the fetched entity. This results in the deleted props being re-added.
|
|
13
|
+
*
|
|
14
|
+
* To avoid this, instead of deleting the props in the migration,
|
|
15
|
+
* we can set them to a specific value (e.g. `remove-this-prop`) and then
|
|
16
|
+
* use this function to remove them, after the merge.
|
|
17
|
+
*
|
|
18
|
+
* @param object - The object or array to delete properties from.
|
|
19
|
+
* @param value - The value to match and delete.
|
|
20
|
+
* @returns The modified object or array with properties deleted.
|
|
21
|
+
*/
|
|
22
|
+
export function deepDeletePropByValue(object, value) {
|
|
23
|
+
// If the object is the value we want to delete, return undefined
|
|
24
|
+
if (deepEqual(object, value)) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
// If the object is an array, iterate over the array and recurse
|
|
28
|
+
// on the entries
|
|
29
|
+
if (Array.isArray(object)) {
|
|
30
|
+
return object.reduce((acc, entry) => {
|
|
31
|
+
if (isFindable(entry)) {
|
|
32
|
+
const recursedObject = deepDeletePropByValue(entry, value);
|
|
33
|
+
if (recursedObject !== undefined) {
|
|
34
|
+
acc = [...acc, recursedObject];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (entry !== value) {
|
|
39
|
+
acc = [...acc, entry];
|
|
40
|
+
} // else we are excluding this entry
|
|
41
|
+
}
|
|
42
|
+
return acc;
|
|
43
|
+
}, []);
|
|
44
|
+
}
|
|
45
|
+
if (_isObject(object)) {
|
|
46
|
+
return Object.keys(object).reduce((acc, key) => {
|
|
47
|
+
// if this is an object but not a date, regexp, or function, recurse
|
|
48
|
+
if (isFindable(object[key]) && !deepEqual(object[key], value)) {
|
|
49
|
+
const filteredEntry = deepDeletePropByValue(object[key], value);
|
|
50
|
+
acc[key] = filteredEntry;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// ensure the value is not the value we want to delete
|
|
54
|
+
if (!deepEqual(object[key], value)) {
|
|
55
|
+
acc = Object.assign(Object.assign({}, acc), { [key]: object[key] });
|
|
56
|
+
} // else this key matches the value and we are excluding it
|
|
57
|
+
}
|
|
58
|
+
return acc;
|
|
59
|
+
}, {});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// just return the object b/c it's not something we can compare
|
|
63
|
+
// e.g. a function
|
|
64
|
+
return object;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=deepDeletePropByValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepDeletePropByValue.js","sourceRoot":"","sources":["../../../src/objects/deepDeletePropByValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAW,EAAE,KAAU;IAC3D,iEAAiE;IACjE,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,gEAAgE;IAChE,iBAAiB;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,KAAK,SAAS,EAAE;oBAChC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,KAAK,KAAK,EAAE;oBACnB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBACvB,CAAC,mCAAmC;aACtC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,oEAAoE;YACpE,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/D,GAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;aACnC;iBAAM;gBACL,sDAAsD;gBACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;oBAClC,GAAG,mCAAQ,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAE,CAAC;iBACtC,CAAC,0DAA0D;aAC7D;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,+DAA+D;QAC/D,kBAAkB;QAClB,OAAO,MAAM,CAAC;KACf;AACH,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { _isObject } from "./_deep-map-values";
|
|
2
|
+
/**
|
|
3
|
+
* Compares two values deeply for equality.
|
|
4
|
+
* Works for primatives, arrays and objects.
|
|
5
|
+
* Not verified for other types.
|
|
6
|
+
* @param a - The first value to compare.
|
|
7
|
+
* @param b - The second value to compare.
|
|
8
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
9
|
+
*/
|
|
10
|
+
export function deepEqual(a, b) {
|
|
11
|
+
// Simple comparison for primitives
|
|
12
|
+
if (a === b) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
// object checks
|
|
16
|
+
if (a && b && _isObject(a) && _isObject(b)) {
|
|
17
|
+
// if either are not arrays, return false
|
|
18
|
+
if (Array.isArray(a) !== Array.isArray(b)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
const keys = Object.keys(a);
|
|
22
|
+
// if key lengths are different, return false
|
|
23
|
+
if (keys.length !== Object.keys(b).length) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
// recurse on each key
|
|
27
|
+
return keys.every((key) => deepEqual(a[key], b[key]));
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=deepEqual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/objects/deepEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,mCAAmC;IACnC,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,gBAAgB;IAChB,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QAC1C,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,sBAAsB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
|
|
@@ -113,6 +113,12 @@ const SystemPermissionPolicies = [
|
|
|
113
113
|
availability: ["alpha"],
|
|
114
114
|
licenses: ["hub-premium"],
|
|
115
115
|
},
|
|
116
|
+
{
|
|
117
|
+
// When enabled, the edit & manage links will take the user to umbrella
|
|
118
|
+
permission: "hub:feature:workspace:umbrella",
|
|
119
|
+
availability: ["alpha"],
|
|
120
|
+
environments: ["qaext"],
|
|
121
|
+
},
|
|
116
122
|
];
|
|
117
123
|
/**
|
|
118
124
|
* All the permission policies for the Hub
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,iBAAiB;
|
|
1
|
+
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,iBAAiB;IACjB,gCAAgC;CACjC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,qBAAqB;IACxB,GAAG,kBAAkB;IACrB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,mBAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,qBAAqB;IACxB,GAAG,6BAA6B;IAChC,GAAG,mBAAmB;IACtB,GAAG,iBAAiB;CACZ,CAAC;AAmBX;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deepDeletePropByValue = void 0;
|
|
4
|
+
const deepEqual_1 = require("./deepEqual");
|
|
5
|
+
const _deep_map_values_1 = require("./_deep-map-values");
|
|
6
|
+
const isFindable_1 = require("./internal/isFindable");
|
|
7
|
+
/**
|
|
8
|
+
* Recursively deletes properties from an object or array that have a
|
|
9
|
+
* specific value.
|
|
10
|
+
*
|
|
11
|
+
* Hub commonly applies migrations to entities on load. During those
|
|
12
|
+
* migrations, often we want to delete properties to clean things up.
|
|
13
|
+
* However, during the save process, we typically fetch the entity
|
|
14
|
+
* from it's backing store and spread the migrated entity over the top of
|
|
15
|
+
* the fetched entity. This results in the deleted props being re-added.
|
|
16
|
+
*
|
|
17
|
+
* To avoid this, instead of deleting the props in the migration,
|
|
18
|
+
* we can set them to a specific value (e.g. `remove-this-prop`) and then
|
|
19
|
+
* use this function to remove them, after the merge.
|
|
20
|
+
*
|
|
21
|
+
* @param object - The object or array to delete properties from.
|
|
22
|
+
* @param value - The value to match and delete.
|
|
23
|
+
* @returns The modified object or array with properties deleted.
|
|
24
|
+
*/
|
|
25
|
+
function deepDeletePropByValue(object, value) {
|
|
26
|
+
// If the object is the value we want to delete, return undefined
|
|
27
|
+
if (deepEqual_1.deepEqual(object, value)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
// If the object is an array, iterate over the array and recurse
|
|
31
|
+
// on the entries
|
|
32
|
+
if (Array.isArray(object)) {
|
|
33
|
+
return object.reduce((acc, entry) => {
|
|
34
|
+
if (isFindable_1.isFindable(entry)) {
|
|
35
|
+
const recursedObject = deepDeletePropByValue(entry, value);
|
|
36
|
+
if (recursedObject !== undefined) {
|
|
37
|
+
acc = [...acc, recursedObject];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (entry !== value) {
|
|
42
|
+
acc = [...acc, entry];
|
|
43
|
+
} // else we are excluding this entry
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, []);
|
|
47
|
+
}
|
|
48
|
+
if (_deep_map_values_1._isObject(object)) {
|
|
49
|
+
return Object.keys(object).reduce((acc, key) => {
|
|
50
|
+
// if this is an object but not a date, regexp, or function, recurse
|
|
51
|
+
if (isFindable_1.isFindable(object[key]) && !deepEqual_1.deepEqual(object[key], value)) {
|
|
52
|
+
const filteredEntry = deepDeletePropByValue(object[key], value);
|
|
53
|
+
acc[key] = filteredEntry;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// ensure the value is not the value we want to delete
|
|
57
|
+
if (!deepEqual_1.deepEqual(object[key], value)) {
|
|
58
|
+
acc = Object.assign(Object.assign({}, acc), { [key]: object[key] });
|
|
59
|
+
} // else this key matches the value and we are excluding it
|
|
60
|
+
}
|
|
61
|
+
return acc;
|
|
62
|
+
}, {});
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// just return the object b/c it's not something we can compare
|
|
66
|
+
// e.g. a function
|
|
67
|
+
return object;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.deepDeletePropByValue = deepDeletePropByValue;
|
|
71
|
+
//# sourceMappingURL=deepDeletePropByValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepDeletePropByValue.js","sourceRoot":"","sources":["../../../src/objects/deepDeletePropByValue.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,yDAA+C;AAC/C,sDAAmD;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,qBAAqB,CAAC,MAAW,EAAE,KAAU;IAC3D,iEAAiE;IACjE,IAAI,qBAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,gEAAgE;IAChE,iBAAiB;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,uBAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,KAAK,SAAS,EAAE;oBAChC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,KAAK,KAAK,EAAE;oBACnB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBACvB,CAAC,mCAAmC;aACtC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,IAAI,4BAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,oEAAoE;YACpE,IAAI,uBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/D,GAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;aACnC;iBAAM;gBACL,sDAAsD;gBACtD,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;oBAClC,GAAG,mCAAQ,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAE,CAAC;iBACtC,CAAC,0DAA0D;aAC7D;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,+DAA+D;QAC/D,kBAAkB;QAClB,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AA3CD,sDA2CC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deepEqual = void 0;
|
|
4
|
+
const _deep_map_values_1 = require("./_deep-map-values");
|
|
5
|
+
/**
|
|
6
|
+
* Compares two values deeply for equality.
|
|
7
|
+
* Works for primatives, arrays and objects.
|
|
8
|
+
* Not verified for other types.
|
|
9
|
+
* @param a - The first value to compare.
|
|
10
|
+
* @param b - The second value to compare.
|
|
11
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
12
|
+
*/
|
|
13
|
+
function deepEqual(a, b) {
|
|
14
|
+
// Simple comparison for primitives
|
|
15
|
+
if (a === b) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
// object checks
|
|
19
|
+
if (a && b && _deep_map_values_1._isObject(a) && _deep_map_values_1._isObject(b)) {
|
|
20
|
+
// if either are not arrays, return false
|
|
21
|
+
if (Array.isArray(a) !== Array.isArray(b)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const keys = Object.keys(a);
|
|
25
|
+
// if key lengths are different, return false
|
|
26
|
+
if (keys.length !== Object.keys(b).length) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
// recurse on each key
|
|
30
|
+
return keys.every((key) => deepEqual(a[key], b[key]));
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
exports.deepEqual = deepEqual;
|
|
35
|
+
//# sourceMappingURL=deepEqual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/objects/deepEqual.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAE/C;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,mCAAmC;IACnC,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,gBAAgB;IAChB,IAAI,CAAC,IAAI,CAAC,IAAI,4BAAS,CAAC,CAAC,CAAC,IAAI,4BAAS,CAAC,CAAC,CAAC,EAAE;QAC1C,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,sBAAsB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AApBD,8BAoBC"}
|
|
@@ -16,4 +16,6 @@ tslib_1.__exportStar(require("./deepFilter"), exports);
|
|
|
16
16
|
tslib_1.__exportStar(require("./deepFind"), exports);
|
|
17
17
|
tslib_1.__exportStar(require("./resolveReferences"), exports);
|
|
18
18
|
tslib_1.__exportStar(require("./pickProps"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./deepEqual"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./deepDeletePropByValue"), exports);
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAC7B,qDAA2B;AAC3B,8DAAoC;AACpC,sDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAC7B,qDAA2B;AAC3B,8DAAoC;AACpC,sDAA4B;AAC5B,sDAA4B;AAC5B,kEAAwC"}
|
|
@@ -116,6 +116,12 @@ const SystemPermissionPolicies = [
|
|
|
116
116
|
availability: ["alpha"],
|
|
117
117
|
licenses: ["hub-premium"],
|
|
118
118
|
},
|
|
119
|
+
{
|
|
120
|
+
// When enabled, the edit & manage links will take the user to umbrella
|
|
121
|
+
permission: "hub:feature:workspace:umbrella",
|
|
122
|
+
availability: ["alpha"],
|
|
123
|
+
environments: ["qaext"],
|
|
124
|
+
},
|
|
119
125
|
];
|
|
120
126
|
/**
|
|
121
127
|
* All the permission policies for the Hub
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAC9E,6EAA0E;AAC1E,uHAAyH;AACzH,wFAA0F;AAE1F,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,iCAAiC;AACjC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,iCAAiC;AACjC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL,cAAc;AACd,6DAA6D;AAC7D,MAAM,sBAAsB,GAAwB;IAClD;QACE,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB;IACpD;QACE,UAAU,EAAE,qBAAqB;QACjC,kGAAkG;QAClG,gGAAgG;QAChG,2BAA2B;QAC3B,2HAA2H;QAC3H,8BAA8B;QAC9B,uEAAuE;QACvE,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;IACD;QACE,2EAA2E;QAC3E,2HAA2H;QAC3H,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB;IACD;QACE,qEAAqE;QACrE,6EAA6E;QAC7E,UAAU,EAAE,8BAA8B;QAC1C,yEAAyE;QACzE,wDAAwD;QACxD,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAClC;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;IACzB,GAAG,kDAA0B;IAC7B,GAAG,uDAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,sEAAoC;IACvC,GAAG,wBAAwB;CAC5B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
|
|
1
|
+
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE,0HAAqH;AACrH,2FAAsF;AACtF;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,iBAAiB;
|
|
1
|
+
{"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAC1E,8EAAoE;AACpE,0HAAqH;AACrH,2FAAsF;AACtF;;;;GAIG;AACH,6EAA6E;AAC7E,kIAAkI;AAClI,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAEpD,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,8BAA8B;IAC9B,iBAAiB;IACjB,gCAAgC;CACjC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;IAClB,GAAG,gDAAmB;IACtB,GAAG,eAAe;IAClB,GAAG,+CAAqB;IACxB,GAAG,+DAA6B;IAChC,GAAG,2CAAmB;IACtB,GAAG,iBAAiB;CACZ,CAAC;AAmBX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively deletes properties from an object or array that have a
|
|
3
|
+
* specific value.
|
|
4
|
+
*
|
|
5
|
+
* Hub commonly applies migrations to entities on load. During those
|
|
6
|
+
* migrations, often we want to delete properties to clean things up.
|
|
7
|
+
* However, during the save process, we typically fetch the entity
|
|
8
|
+
* from it's backing store and spread the migrated entity over the top of
|
|
9
|
+
* the fetched entity. This results in the deleted props being re-added.
|
|
10
|
+
*
|
|
11
|
+
* To avoid this, instead of deleting the props in the migration,
|
|
12
|
+
* we can set them to a specific value (e.g. `remove-this-prop`) and then
|
|
13
|
+
* use this function to remove them, after the merge.
|
|
14
|
+
*
|
|
15
|
+
* @param object - The object or array to delete properties from.
|
|
16
|
+
* @param value - The value to match and delete.
|
|
17
|
+
* @returns The modified object or array with properties deleted.
|
|
18
|
+
*/
|
|
19
|
+
export declare function deepDeletePropByValue(object: any, value: any): any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compares two values deeply for equality.
|
|
3
|
+
* Works for primatives, arrays and objects.
|
|
4
|
+
* Not verified for other types.
|
|
5
|
+
* @param a - The first value to compare.
|
|
6
|
+
* @param b - The second value to compare.
|
|
7
|
+
* @returns True if the values are deeply equal, false otherwise.
|
|
8
|
+
*/
|
|
9
|
+
export declare function deepEqual(a: any, b: any): boolean;
|