repluggable-core 0.0.0-pr332.25 → 0.0.0-pr332.26
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/debug/src/API.d.ts +2 -2
- package/dist/debug/src/extensionSlot.d.ts +3 -3
- package/dist/es/src/API.d.ts +2 -2
- package/dist/es/src/API.d.ts.map +1 -1
- package/dist/es/src/appHost.js +1 -1
- package/dist/es/src/appHost.js.map +1 -1
- package/dist/es/src/extensionSlot.d.ts +3 -3
- package/dist/es/src/extensionSlot.d.ts.map +1 -1
- package/dist/es/src/extensionSlot.js +3 -3
- package/dist/es/src/extensionSlot.js.map +1 -1
- package/dist/es/test/appHost.spec.js +2 -2
- package/dist/es/test/appHost.spec.js.map +1 -1
- package/dist/es/test/createSignalItemsDataStructure.d.ts +1 -1
- package/dist/es/test/createSignalItemsDataStructure.d.ts.map +1 -1
- package/dist/es/test/createSignalItemsDataStructure.js +1 -1
- package/dist/es/test/createSignalItemsDataStructure.js.map +1 -1
- package/dist/es/test/extensionSlot.spec.js +3 -3
- package/dist/es/test/extensionSlot.spec.js.map +1 -1
- package/dist/src/API.d.ts +2 -2
- package/dist/src/API.d.ts.map +1 -1
- package/dist/src/appHost.js +1 -1
- package/dist/src/appHost.js.map +1 -1
- package/dist/src/extensionSlot.d.ts +3 -3
- package/dist/src/extensionSlot.d.ts.map +1 -1
- package/dist/src/extensionSlot.js +3 -3
- package/dist/src/extensionSlot.js.map +1 -1
- package/dist/test/appHost.spec.js +2 -2
- package/dist/test/appHost.spec.js.map +1 -1
- package/dist/test/createSignalItemsDataStructure.d.ts +1 -1
- package/dist/test/createSignalItemsDataStructure.d.ts.map +1 -1
- package/dist/test/createSignalItemsDataStructure.js +1 -1
- package/dist/test/createSignalItemsDataStructure.js.map +1 -1
- package/dist/test/extensionSlot.spec.js +3 -3
- package/dist/test/extensionSlot.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/API.ts +2 -2
- package/src/appHost.ts +1 -1
- package/src/extensionSlot.ts +6 -6
- package/test/appHost.spec.ts +2 -2
- package/test/createSignalItemsDataStructure.ts +1 -1
- package/test/extensionSlot.spec.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensionSlot.spec.js","sourceRoot":"","sources":["../../test/extensionSlot.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"extensionSlot.spec.js","sourceRoot":"","sources":["../../test/extensionSlot.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/API.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Redux from 'redux'
|
|
2
2
|
import { ThrottledStore } from './throttledStore'
|
|
3
3
|
import { INTERNAL_DONT_USE_SHELL_GET_APP_HOST } from './__internal'
|
|
4
|
-
import {
|
|
4
|
+
import { CustomCreateExtensionSlot } from './extensionSlot'
|
|
5
5
|
|
|
6
6
|
export interface AnySlotKey {
|
|
7
7
|
readonly name: string
|
|
@@ -335,7 +335,7 @@ export interface APILayer {
|
|
|
335
335
|
|
|
336
336
|
interface AppHostPlugins {
|
|
337
337
|
extensionSlot?: {
|
|
338
|
-
|
|
338
|
+
customCreateExtensionSlot: CustomCreateExtensionSlot
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
|
package/src/appHost.ts
CHANGED
|
@@ -566,7 +566,7 @@ miss: ${memoizedWithMissHit.miss}
|
|
|
566
566
|
const newSlot = registerSlotOrThrow(key, () =>
|
|
567
567
|
createExtensionSlot(key, host, {
|
|
568
568
|
declaringShell,
|
|
569
|
-
|
|
569
|
+
customCreateExtensionSlot: options.plugins?.extensionSlot?.customCreateExtensionSlot
|
|
570
570
|
})
|
|
571
571
|
)
|
|
572
572
|
return newSlot
|
package/src/extensionSlot.ts
CHANGED
|
@@ -24,7 +24,7 @@ type Unsubscribe = () => void
|
|
|
24
24
|
interface ItemsDataStructure<T> {
|
|
25
25
|
get(): ExtensionItem<T>[]
|
|
26
26
|
add(item: ExtensionItem<T>): void
|
|
27
|
-
|
|
27
|
+
discardBy(predicate: (item: ExtensionItem<T>) => boolean): void
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const itemsDataStructure = <T>(): ItemsDataStructure<T> => {
|
|
@@ -34,17 +34,17 @@ const itemsDataStructure = <T>(): ItemsDataStructure<T> => {
|
|
|
34
34
|
add: (item: ExtensionItem<T>) => {
|
|
35
35
|
items.push(item)
|
|
36
36
|
},
|
|
37
|
-
|
|
37
|
+
discardBy: (predicate: (item: ExtensionItem<T>) => boolean) => {
|
|
38
38
|
items = items.filter(predicate)
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export type
|
|
43
|
+
export type CustomCreateExtensionSlot = <T>() => ItemsDataStructure<T>
|
|
44
44
|
|
|
45
45
|
export interface CreateExtensionSlotOptions {
|
|
46
46
|
declaringShell?: Shell
|
|
47
|
-
|
|
47
|
+
customCreateExtensionSlot?: CustomCreateExtensionSlot
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export function createExtensionSlot<T>(
|
|
@@ -52,7 +52,7 @@ export function createExtensionSlot<T>(
|
|
|
52
52
|
host: PrivateAppHost,
|
|
53
53
|
options?: CreateExtensionSlotOptions
|
|
54
54
|
): PrivateExtensionSlot<T> & AnyExtensionSlot {
|
|
55
|
-
const items = options?.
|
|
55
|
+
const items = options?.customCreateExtensionSlot ? options.customCreateExtensionSlot<T>() : itemsDataStructure<T>()
|
|
56
56
|
let subscribers: (() => void)[] = []
|
|
57
57
|
const slotUniqueId = _.uniqueId()
|
|
58
58
|
|
|
@@ -92,7 +92,7 @@ export function createExtensionSlot<T>(
|
|
|
92
92
|
|
|
93
93
|
function discardBy(predicate: ExtensionItemFilter<T>) {
|
|
94
94
|
const originalContributionCount = items.get().length
|
|
95
|
-
items.
|
|
95
|
+
items.discardBy(v => !predicate(v))
|
|
96
96
|
if (items.get().length !== originalContributionCount) {
|
|
97
97
|
subscribers.forEach(func => func())
|
|
98
98
|
}
|
package/test/appHost.spec.ts
CHANGED
|
@@ -1795,7 +1795,7 @@ If the API is intended to be public, it should be declared as "public: true" in
|
|
|
1795
1795
|
})
|
|
1796
1796
|
|
|
1797
1797
|
describe('Custom Items Data Structure via AppHost Options (plugins)', () => {
|
|
1798
|
-
it('should use
|
|
1798
|
+
it('should use customCreateExtensionSlot from appHostOptions when contributing and removing items', async () => {
|
|
1799
1799
|
interface SlotItem {
|
|
1800
1800
|
value: string
|
|
1801
1801
|
}
|
|
@@ -1869,7 +1869,7 @@ If the API is intended to be public, it should be declared as "public: true" in
|
|
|
1869
1869
|
monitoring: {},
|
|
1870
1870
|
plugins: {
|
|
1871
1871
|
extensionSlot: {
|
|
1872
|
-
|
|
1872
|
+
customCreateExtensionSlot: createDataStructure
|
|
1873
1873
|
}
|
|
1874
1874
|
}
|
|
1875
1875
|
})
|
|
@@ -49,7 +49,7 @@ export const createSignalItemsDataStructure = () => {
|
|
|
49
49
|
add: (item: ExtensionItem<U>) => {
|
|
50
50
|
itemsSignal.set([...itemsSignal.get(), item])
|
|
51
51
|
},
|
|
52
|
-
|
|
52
|
+
discardBy: (predicate: (item: ExtensionItem<U>) => boolean) => {
|
|
53
53
|
itemsSignal.set(itemsSignal.get().filter(predicate))
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -104,7 +104,7 @@ describe('ExtensionSlot', () => {
|
|
|
104
104
|
const effectSpy = jest.fn()
|
|
105
105
|
|
|
106
106
|
const slot = createExtensionSlot(slotKey, host, {
|
|
107
|
-
|
|
107
|
+
customCreateExtensionSlot: dataStructure
|
|
108
108
|
})
|
|
109
109
|
|
|
110
110
|
effect(() => {
|
|
@@ -130,7 +130,7 @@ describe('ExtensionSlot', () => {
|
|
|
130
130
|
const effectSpy = jest.fn()
|
|
131
131
|
|
|
132
132
|
const slot = createExtensionSlot(slotKey, host, {
|
|
133
|
-
|
|
133
|
+
customCreateExtensionSlot: dataStructure
|
|
134
134
|
})
|
|
135
135
|
|
|
136
136
|
effect(() => {
|
|
@@ -157,7 +157,7 @@ describe('ExtensionSlot', () => {
|
|
|
157
157
|
let capturedItems: ExtensionItem<{ name: string }>[] = []
|
|
158
158
|
|
|
159
159
|
const slot = createExtensionSlot(slotKey, host, {
|
|
160
|
-
|
|
160
|
+
customCreateExtensionSlot: dataStructure
|
|
161
161
|
})
|
|
162
162
|
|
|
163
163
|
effect(() => {
|