@toa.io/boot 1.0.0-alpha.29 → 1.0.0-alpha.291
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 +37 -0
- package/package.json +10 -8
- package/src/atom.js +41 -0
- package/src/atomicity.js +11 -0
- package/src/bindings/broadcast.js +3 -6
- package/src/bindings/constants.js +1 -3
- package/src/bindings/consume.js +8 -8
- package/src/bindings/emit.js +3 -6
- package/src/bindings/factory.js +5 -9
- package/src/bindings/index.js +5 -13
- package/src/bindings/produce.js +29 -18
- package/src/bindings/receive.js +3 -6
- package/src/bridge.js +22 -16
- package/src/call.js +6 -9
- package/src/cascade.js +16 -10
- package/src/component.js +79 -32
- package/src/composition.js +104 -15
- package/src/context.js +7 -8
- package/src/contract.js +11 -12
- package/src/discovery.js +29 -18
- package/src/emission.js +21 -14
- package/src/env.js +19 -12
- package/src/events.js +27 -0
- package/src/extensions/aspects.js +4 -8
- package/src/extensions/component.js +4 -8
- package/src/extensions/context.js +4 -8
- package/src/extensions/emitter.js +7 -9
- package/src/extensions/index.js +9 -19
- package/src/extensions/instances.js +2 -4
- package/src/extensions/load.js +7 -7
- package/src/extensions/manage.js +15 -0
- package/src/extensions/receiver.js +5 -9
- package/src/extensions/resolve.js +36 -11
- package/src/extensions/storage.js +4 -8
- package/src/extensions/tenants.js +5 -9
- package/src/guards.js +20 -0
- package/src/host.js +15 -0
- package/src/index.js +48 -32
- package/src/manifest.js +25 -16
- package/src/manifest.test.js +7 -8
- package/src/operation.js +25 -13
- package/src/outbox.js +17 -0
- package/src/rc.js +5 -0
- package/src/receivers.js +35 -21
- package/src/remote.js +38 -17
- package/src/span.js +19 -0
- package/src/storage.js +35 -14
- package/src/storage.test.js +57 -0
- package/types/bindings.d.ts +6 -2
- package/types/index.d.ts +19 -10
- package/types/manifest.d.ts +5 -4
- package/src/exposition.js +0 -17
package/types/index.d.ts
CHANGED
|
@@ -1,21 +1,30 @@
|
|
|
1
|
-
import * as core from '@toa.io/core'
|
|
2
|
-
import * as
|
|
1
|
+
import type * as core from '@toa.io/core'
|
|
2
|
+
import type * as types from '@toa.io/core/types'
|
|
3
|
+
import * as composition from './composition.js'
|
|
3
4
|
|
|
4
|
-
export * as bindings from './bindings'
|
|
5
|
+
export * as bindings from './bindings.js'
|
|
5
6
|
|
|
6
|
-
export async function composition
|
|
7
|
+
export async function composition(
|
|
8
|
+
paths: string[],
|
|
9
|
+
options?: composition.Options
|
|
10
|
+
): Promise<core.Connector>
|
|
7
11
|
|
|
8
|
-
export async function remote
|
|
12
|
+
export async function remote(
|
|
13
|
+
locator: core.Locator,
|
|
14
|
+
source?: types.Source
|
|
15
|
+
): Promise<core.Remote>
|
|
9
16
|
|
|
10
|
-
export async function receive<T = any>
|
|
17
|
+
export async function receive<T = any>(
|
|
11
18
|
label: string,
|
|
12
|
-
receiver: Receiver
|
|
19
|
+
receiver: Receiver
|
|
13
20
|
): Promise<core.Connector>
|
|
14
21
|
|
|
15
|
-
export async function receive<T = any>
|
|
22
|
+
export async function receive<T = any>(
|
|
16
23
|
label: string,
|
|
17
24
|
group: string | undefined,
|
|
18
|
-
receiver: Receiver
|
|
25
|
+
receiver: Receiver
|
|
19
26
|
): Promise<core.Connector>
|
|
20
27
|
|
|
21
|
-
type Receiver = { receive: (message:
|
|
28
|
+
type Receiver = { receive: (message: types.Message<T>) => void | Promise<void> }
|
|
29
|
+
|
|
30
|
+
export function host(): types.extensions.Host
|
package/types/manifest.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _norm from '@toa.io/norm/types'
|
|
2
|
-
import * as _composition from './composition'
|
|
2
|
+
import * as _composition from './composition.js'
|
|
3
3
|
|
|
4
4
|
declare namespace toa.boot {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
type Manifest = (
|
|
6
|
+
path: string,
|
|
7
|
+
options?: _composition.Options
|
|
8
|
+
) => Promise<_norm.Component>
|
|
8
9
|
}
|
package/src/exposition.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const { Exposition, Locator } = require('@toa.io/core')
|
|
4
|
-
|
|
5
|
-
const boot = require('./index')
|
|
6
|
-
|
|
7
|
-
const exposition = async (manifest) => {
|
|
8
|
-
const locator = new Locator('', '')
|
|
9
|
-
const exposition = new Exposition(locator, manifest)
|
|
10
|
-
const producers = boot.bindings.expose(exposition)
|
|
11
|
-
|
|
12
|
-
await Promise.all(producers.map((producer) => producer.connect()))
|
|
13
|
-
|
|
14
|
-
return producers
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
exports.exposition = exposition
|