adnbn 0.13.0 → 0.15.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/cli/builders/app/build.d.ts +7 -0
- package/dist/cli/builders/app/build.js +58 -0
- package/dist/cli/builders/app/build.js.map +1 -0
- package/dist/cli/builders/app/index.d.ts +6 -1
- package/dist/cli/builders/app/index.js +49 -14
- package/dist/cli/builders/app/index.js.map +1 -1
- package/dist/cli/builders/app/{command.d.ts → watch.d.ts} +0 -1
- package/dist/cli/builders/app/{command.js → watch.js} +1 -26
- package/dist/cli/builders/app/watch.js.map +1 -0
- package/dist/cli/builders/manifest/ManifestBase.d.ts +8 -1
- package/dist/cli/builders/manifest/ManifestBase.js +30 -0
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.js +3 -15
- package/dist/cli/builders/manifest/ManifestV2.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV3.js +3 -15
- package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +4 -0
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.d.ts +15 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js +20 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +6 -1
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js +15 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/BookmarksFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js +18 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/CommandFinder.d.ts +4 -0
- package/dist/cli/entrypoint/finder/CommandFinder.js +20 -6
- package/dist/cli/entrypoint/finder/CommandFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/HistoryFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js +18 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js +18 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/OptionsFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewCspFinder.d.ts +2 -3
- package/dist/cli/entrypoint/finder/ViewCspFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.d.ts +22 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js +43 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/index.d.ts +5 -0
- package/dist/cli/entrypoint/finder/index.js +50 -40
- package/dist/cli/entrypoint/finder/index.js.map +1 -1
- package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -0
- package/dist/cli/entrypoint/name/NameGenerator.js +5 -1
- package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.d.ts +9 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js +11 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/BackgroundParser.js +3 -6
- package/dist/cli/entrypoint/parser/BackgroundParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/BookmarksParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js +10 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/HistoryParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js +10 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/NewtabParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js +10 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/OptionsParser.js +2 -1
- package/dist/cli/entrypoint/parser/OptionsParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/PopupParser.js +2 -1
- package/dist/cli/entrypoint/parser/PopupParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js +2 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/ViewCspParser.d.ts +1 -1
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +1 -1243
- package/dist/cli/entrypoint/parser/ViewParser.js +2 -72
- package/dist/cli/entrypoint/parser/ViewParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/index.d.ts +4 -0
- package/dist/cli/entrypoint/parser/index.js +28 -20
- package/dist/cli/entrypoint/parser/index.js.map +1 -1
- package/dist/cli/entrypoint/parser/schemas/html.d.ts +903 -0
- package/dist/cli/entrypoint/parser/schemas/html.js +64 -0
- package/dist/cli/entrypoint/parser/schemas/html.js.map +1 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.d.ts +23 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js +11 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js.map +1 -0
- package/dist/cli/index.js +16 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugins/action.d.ts +2 -0
- package/dist/cli/plugins/action.js +13 -0
- package/dist/cli/plugins/action.js.map +1 -0
- package/dist/cli/plugins/index.d.ts +2 -0
- package/dist/cli/plugins/index.js +52 -48
- package/dist/cli/plugins/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/index.js +2 -4
- package/dist/cli/plugins/offscreen/index.js.map +1 -1
- package/dist/cli/plugins/options/index.js +1 -1
- package/dist/cli/plugins/options/index.js.map +1 -1
- package/dist/cli/plugins/override/Override.d.ts +31 -0
- package/dist/cli/plugins/override/Override.js +112 -0
- package/dist/cli/plugins/override/Override.js.map +1 -0
- package/dist/cli/plugins/override/index.d.ts +2 -0
- package/dist/cli/plugins/override/index.js +48 -0
- package/dist/cli/plugins/override/index.js.map +1 -0
- package/dist/cli/plugins/popup/index.js +1 -1
- package/dist/cli/plugins/popup/index.js.map +1 -1
- package/dist/cli/plugins/sidebar/index.js +1 -2
- package/dist/cli/plugins/sidebar/index.js.map +1 -1
- package/dist/cli/plugins/style/index.js +34 -31
- package/dist/cli/plugins/style/index.js.map +1 -1
- package/dist/cli/plugins/style/rebase.d.ts +14 -0
- package/dist/cli/plugins/style/rebase.js +63 -0
- package/dist/cli/plugins/style/rebase.js.map +1 -0
- package/dist/cli/plugins/style/utils.d.ts +5 -1
- package/dist/cli/plugins/style/utils.js +21 -8
- package/dist/cli/plugins/style/utils.js.map +1 -1
- package/dist/cli/plugins/typescript/TypescriptConfig.js +2 -2
- package/dist/cli/plugins/typescript/TypescriptConfig.js.map +1 -1
- package/dist/cli/plugins/view/View.d.ts +1 -1
- package/dist/cli/plugins/view/View.js +2 -10
- package/dist/cli/plugins/view/View.js.map +1 -1
- package/dist/cli/plugins/view/index.js +10 -1
- package/dist/cli/plugins/view/index.js.map +1 -1
- package/dist/cli/resolvers/bundler.js +9 -1
- package/dist/cli/resolvers/bundler.js.map +1 -1
- package/dist/cli/resolvers/config.js +7 -1
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/utils/path.js +1 -1
- package/dist/cli/utils/path.js.map +1 -1
- package/dist/cli/virtual/index.js +14 -17
- package/dist/cli/virtual/virtual.d.ts +7 -127
- package/dist/entry/background/Builder.js +1 -1
- package/dist/entry/background/Builder.js.map +1 -1
- package/dist/entry/background/index.d.ts +1 -1
- package/dist/entry/background/index.js +3 -2
- package/dist/entry/background/index.js.map +1 -1
- package/dist/entry/background/resolvers/definition.d.ts +5 -1
- package/dist/entry/background/resolvers/definition.js +15 -4
- package/dist/entry/background/resolvers/definition.js.map +1 -1
- package/dist/entry/command/Builder.js +1 -1
- package/dist/entry/command/Builder.js.map +1 -1
- package/dist/entry/command/index.d.ts +1 -1
- package/dist/entry/command/index.js +3 -2
- package/dist/entry/command/index.js.map +1 -1
- package/dist/entry/command/resolvers/definition.d.ts +6 -2
- package/dist/entry/command/resolvers/definition.js +14 -4
- package/dist/entry/command/resolvers/definition.js.map +1 -1
- package/dist/entry/content/adapters/react/Builder.js +4 -2
- package/dist/entry/content/adapters/react/Builder.js.map +1 -1
- package/dist/entry/content/adapters/react/Node.js +11 -6
- package/dist/entry/content/adapters/react/Node.js.map +1 -1
- package/dist/entry/content/adapters/react/definition.js +3 -2
- package/dist/entry/content/adapters/react/definition.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.js +2 -2
- package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Node.js +3 -5
- package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/definition.js +2 -2
- package/dist/entry/content/adapters/vanilla/definition.js.map +1 -1
- package/dist/entry/content/lifecycle/Builder.js +5 -9
- package/dist/entry/content/lifecycle/Builder.js.map +1 -1
- package/dist/entry/core/react.d.ts +6 -0
- package/dist/entry/core/react.js +16 -0
- package/dist/entry/core/react.js.map +1 -0
- package/dist/entry/core/render.d.ts +5 -0
- package/dist/entry/core/render.js +16 -0
- package/dist/entry/core/render.js.map +1 -0
- package/dist/entry/offscreen/Builder.d.ts +6 -7
- package/dist/entry/offscreen/Builder.js +12 -13
- package/dist/entry/offscreen/Builder.js.map +1 -1
- package/dist/entry/offscreen/TransportBuilder.d.ts +1 -1
- package/dist/entry/offscreen/TransportBuilder.js +4 -3
- package/dist/entry/offscreen/TransportBuilder.js.map +1 -1
- package/dist/entry/offscreen/index.d.ts +5 -2
- package/dist/entry/offscreen/index.js +8 -2
- package/dist/entry/offscreen/index.js.map +1 -1
- package/dist/entry/offscreen/resolvers/definition.d.ts +4 -0
- package/dist/entry/offscreen/resolvers/definition.js +8 -0
- package/dist/entry/offscreen/resolvers/definition.js.map +1 -0
- package/dist/entry/relay/Builder.d.ts +4 -3
- package/dist/entry/relay/Builder.js.map +1 -1
- package/dist/entry/relay/index.d.ts +4 -3
- package/dist/entry/relay/index.js.map +1 -1
- package/dist/entry/relay/resolvers/definition.d.ts +1 -1
- package/dist/entry/relay/resolvers/definition.js +2 -10
- package/dist/entry/relay/resolvers/definition.js.map +1 -1
- package/dist/entry/sandbox/Builder.d.ts +6 -7
- package/dist/entry/sandbox/Builder.js +8 -12
- package/dist/entry/sandbox/Builder.js.map +1 -1
- package/dist/entry/sandbox/TransportBuilder.d.ts +1 -1
- package/dist/entry/sandbox/TransportBuilder.js +4 -3
- package/dist/entry/sandbox/TransportBuilder.js.map +1 -1
- package/dist/entry/sandbox/index.d.ts +7 -2
- package/dist/entry/sandbox/index.js +10 -4
- package/dist/entry/sandbox/index.js.map +1 -1
- package/dist/entry/sandbox/resolvers/definition.d.ts +4 -0
- package/dist/entry/sandbox/resolvers/definition.js +8 -0
- package/dist/entry/sandbox/resolvers/definition.js.map +1 -0
- package/dist/entry/service/index.d.ts +1 -0
- package/dist/entry/service/index.js +3 -1
- package/dist/entry/service/index.js.map +1 -1
- package/dist/entry/service/resolvers/definition.d.ts +3 -0
- package/dist/entry/service/resolvers/definition.js +8 -0
- package/dist/entry/service/resolvers/definition.js.map +1 -0
- package/dist/entry/transport/AbstractBuilder.js +1 -1
- package/dist/entry/transport/AbstractBuilder.js.map +1 -1
- package/dist/entry/transport/resolvers/definition.d.ts +7 -5
- package/dist/entry/transport/resolvers/definition.js +15 -4
- package/dist/entry/transport/resolvers/definition.js.map +1 -1
- package/dist/entry/view/{core/Builder.d.ts → Builder.d.ts} +9 -4
- package/dist/entry/view/Builder.js +62 -0
- package/dist/entry/view/Builder.js.map +1 -0
- package/dist/entry/view/adapters/react/Builder.d.ts +6 -7
- package/dist/entry/view/adapters/react/Builder.js +20 -23
- package/dist/entry/view/adapters/react/Builder.js.map +1 -1
- package/dist/entry/view/adapters/react/definition.d.ts +2 -0
- package/dist/entry/view/adapters/react/definition.js +13 -0
- package/dist/entry/view/adapters/react/definition.js.map +1 -0
- package/dist/entry/view/adapters/react/index.d.ts +2 -1
- package/dist/entry/view/adapters/react/index.js +3 -1
- package/dist/entry/view/adapters/react/index.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/Builder.d.ts +5 -6
- package/dist/entry/view/adapters/vanilla/Builder.js +14 -25
- package/dist/entry/view/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/definition.d.ts +2 -0
- package/dist/entry/view/adapters/vanilla/definition.js +9 -0
- package/dist/entry/view/adapters/vanilla/definition.js.map +1 -0
- package/dist/entry/view/adapters/vanilla/index.d.ts +2 -1
- package/dist/entry/view/adapters/vanilla/index.js +3 -1
- package/dist/entry/view/adapters/vanilla/index.js.map +1 -1
- package/dist/entry/view/{core/resolvers → resolvers}/container.d.ts +1 -1
- package/dist/entry/view/resolvers/container.js.map +1 -0
- package/dist/entry/view/resolvers/definition.d.ts +3 -0
- package/dist/entry/view/resolvers/definition.js +18 -0
- package/dist/entry/view/resolvers/definition.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-locale.js.map +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js.map +1 -1
- package/dist/locale/index.d.ts +1 -0
- package/dist/locale/index.js +3 -1
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/{providers → observers}/ObservableLocale.js +2 -2
- package/dist/locale/observers/ObservableLocale.js.map +1 -0
- package/dist/locale/observers/index.d.ts +1 -0
- package/dist/locale/observers/index.js +5 -0
- package/dist/locale/observers/index.js.map +1 -0
- package/dist/locale/providers/index.d.ts +0 -1
- package/dist/locale/providers/index.js +1 -3
- package/dist/locale/providers/index.js.map +1 -1
- package/dist/main/config.d.ts +1 -0
- package/dist/main/config.js.map +1 -1
- package/dist/main/index.d.ts +2 -0
- package/dist/main/index.js +2 -0
- package/dist/main/index.js.map +1 -1
- package/dist/main/override.d.ts +5 -0
- package/dist/main/override.js +15 -0
- package/dist/main/override.js.map +1 -0
- package/dist/main/permissions.d.ts +1 -0
- package/dist/main/permissions.js +1 -0
- package/dist/main/relay.d.ts +1 -0
- package/dist/main/relay.js +2 -0
- package/dist/main/relay.js.map +1 -1
- package/dist/main/view.d.ts +1 -1
- package/dist/message/adapters/react/index.d.ts +1 -1
- package/dist/message/adapters/react/index.js +1 -1
- package/dist/message/adapters/react/index.js.map +1 -1
- package/dist/message/adapters/react/{useMessageHandler.js → use-message-handler.js} +6 -4
- package/dist/message/adapters/react/use-message-handler.js.map +1 -0
- package/dist/message/handlers/MapHandler.js +2 -1
- package/dist/message/handlers/MapHandler.js.map +1 -1
- package/dist/message/handlers/SingleHandler.js +2 -1
- package/dist/message/handlers/SingleHandler.js.map +1 -1
- package/dist/message/providers/Message.js +1 -1
- package/dist/message/providers/Message.js.map +1 -1
- package/dist/relay/RelayPermission.js +8 -2
- package/dist/relay/RelayPermission.js.map +1 -1
- package/dist/relay/adapters/RelayScriptingAdapter.d.ts +1 -0
- package/dist/relay/adapters/RelayScriptingAdapter.js +30 -64
- package/dist/relay/adapters/RelayScriptingAdapter.js.map +1 -1
- package/dist/relay/adapters/invoke-relay.d.ts +3 -0
- package/dist/relay/adapters/invoke-relay.js +69 -0
- package/dist/relay/adapters/invoke-relay.js.map +1 -0
- package/dist/relay/adapters/scripting-response.d.ts +12 -0
- package/dist/relay/adapters/scripting-response.js +1 -0
- package/dist/relay/adapters/scripting-response.js.map +1 -0
- package/dist/relay/result.d.ts +3 -0
- package/dist/relay/result.js +7 -0
- package/dist/relay/result.js.map +1 -1
- package/dist/types/action.d.ts +8 -0
- package/dist/types/action.js +1 -0
- package/dist/types/action.js.map +1 -0
- package/dist/types/background.d.ts +2 -8
- package/dist/types/background.js.map +1 -1
- package/dist/types/config.d.ts +17 -1
- package/dist/types/content/definition.d.ts +2 -1
- package/dist/types/entrypoint.d.ts +5 -1
- package/dist/types/entrypoint.js +3 -0
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/manifest.d.ts +23 -2
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/offscreen.d.ts +2 -2
- package/dist/types/offscreen.js.map +1 -1
- package/dist/types/options.d.ts +3 -2
- package/dist/types/override.d.ts +22 -0
- package/dist/types/override.js +1 -0
- package/dist/types/override.js.map +1 -0
- package/dist/types/page.d.ts +1 -1
- package/dist/types/permissions.d.ts +39 -0
- package/dist/types/permissions.js +1 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/plugin.d.ts +4 -1
- package/dist/types/popup.d.ts +5 -3
- package/dist/types/sandbox.d.ts +2 -2
- package/dist/types/sandbox.js.map +1 -1
- package/dist/types/sidebar.d.ts +5 -3
- package/dist/types/sidebar.js.map +1 -1
- package/dist/types/view/adapters/index.d.ts +2 -0
- package/dist/types/view/adapters/index.js +1 -0
- package/dist/types/view/adapters/index.js.map +1 -0
- package/dist/types/view/adapters/react.d.ts +4 -0
- package/dist/types/view/adapters/react.js +1 -0
- package/dist/types/view/adapters/react.js.map +1 -0
- package/dist/types/view/adapters/vanilla.d.ts +1 -0
- package/dist/types/view/adapters/vanilla.js +1 -0
- package/dist/types/view/adapters/vanilla.js.map +1 -0
- package/dist/types/{view.d.ts → view/common.d.ts} +2 -14
- package/dist/types/view/common.js +1 -0
- package/dist/types/view/common.js.map +1 -0
- package/dist/types/view/definition.d.ts +15 -0
- package/dist/types/view/definition.js +1 -0
- package/dist/types/view/definition.js.map +1 -0
- package/dist/types/view/index.d.ts +4 -0
- package/dist/types/view/index.js +1 -0
- package/dist/types/view/index.js.map +1 -0
- package/dist/types/view/render.d.ts +7 -0
- package/dist/types/view/render.js +1 -0
- package/dist/types/view/render.js.map +1 -0
- package/package.json +18 -31
- package/dist/cli/builders/app/command.js.map +0 -1
- package/dist/entry/background/resolvers/index.d.ts +0 -1
- package/dist/entry/background/resolvers/index.js +0 -2
- package/dist/entry/background/resolvers/index.js.map +0 -1
- package/dist/entry/command/resolvers/index.d.ts +0 -1
- package/dist/entry/command/resolvers/index.js +0 -2
- package/dist/entry/command/resolvers/index.js.map +0 -1
- package/dist/entry/content/adapters/vanilla/utils.d.ts +0 -1
- package/dist/entry/content/adapters/vanilla/utils.js +0 -7
- package/dist/entry/content/adapters/vanilla/utils.js.map +0 -1
- package/dist/entry/content/resolvers/index.d.ts +0 -6
- package/dist/entry/content/resolvers/index.js +0 -7
- package/dist/entry/content/resolvers/index.js.map +0 -1
- package/dist/entry/transport/index.d.ts +0 -1
- package/dist/entry/transport/index.js +0 -2
- package/dist/entry/transport/index.js.map +0 -1
- package/dist/entry/transport/resolvers/index.d.ts +0 -1
- package/dist/entry/transport/resolvers/index.js +0 -2
- package/dist/entry/transport/resolvers/index.js.map +0 -1
- package/dist/entry/view/adapters/react/resolvers/render.d.ts +0 -2
- package/dist/entry/view/adapters/react/resolvers/render.js +0 -11
- package/dist/entry/view/adapters/react/resolvers/render.js.map +0 -1
- package/dist/entry/view/core/Builder.js +0 -35
- package/dist/entry/view/core/Builder.js.map +0 -1
- package/dist/entry/view/core/resolvers/container.js.map +0 -1
- package/dist/entry/view/core/resolvers/definition.d.ts +0 -3
- package/dist/entry/view/core/resolvers/definition.js +0 -12
- package/dist/entry/view/core/resolvers/definition.js.map +0 -1
- package/dist/entry/view/core/resolvers/render.d.ts +0 -3
- package/dist/entry/view/core/resolvers/render.js +0 -18
- package/dist/entry/view/core/resolvers/render.js.map +0 -1
- package/dist/entry/view/index.d.ts +0 -1
- package/dist/entry/view/index.js +0 -2
- package/dist/entry/view/index.js.map +0 -1
- package/dist/locale/providers/ObservableLocale.js.map +0 -1
- package/dist/message/adapters/react/useMessageHandler.js.map +0 -1
- package/dist/types/view.js +0 -1
- package/scripts/clean-dist.js +0 -7
- package/scripts/copy-dts.js +0 -29
- package/scripts/merge-coverage.mjs +0 -12
- package/scripts/pre-commit.mjs +0 -22
- package/scripts/test-inventory.mjs +0 -38
- package/scripts/test-run.mjs +0 -25
- /package/dist/cli/virtual/{transport.d.ts → service.d.ts} +0 -0
- /package/dist/entry/view/{core/resolvers → resolvers}/container.js +0 -0
- /package/dist/locale/{providers → observers}/ObservableLocale.d.ts +0 -0
- /package/dist/{types/view.js.map → main/permissions.js.map} +0 -0
- /package/dist/message/adapters/react/{useMessageHandler.d.ts → use-message-handler.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/relay/Builder.ts"],"sourcesContent":["import {resolveContentScriptIsolation} from \"@shared/content\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport EntrypointBuilder from \"../core/Builder\";\n\nimport {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport {ContentScriptBuilder
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/relay/Builder.ts"],"sourcesContent":["import {resolveContentScriptIsolation} from \"@shared/content\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport EntrypointBuilder from \"../core/Builder\";\n\nimport {RelayDefinition, RelayUnresolvedDefinition} from \"@typing/relay\";\nimport {\n ContentScriptBuilder,\n ContentScriptBuilderConstructor,\n ContentScriptDefinition,\n ContentScriptIsolation,\n} from \"@typing/content\";\nimport {TransportType} from \"@typing/transport\";\n\nexport default class Builder<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends EntrypointBuilder {\n private generation = 0;\n\n protected readonly _transport: TransportBuilder<T, Data, Isolation>;\n protected readonly _content: ContentScriptBuilder;\n\n // Preserve the named definition during inference instead of expanding its DOM option unions.\n constructor(\n definition: RelayDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n );\n\n constructor(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n );\n\n constructor(\n protected readonly definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n ) {\n super();\n\n this._transport = new TransportBuilder(definition);\n\n const {init, main, name, method, allFrames, ...contentOptions} = definition;\n\n this._content = new contentBuilder({\n ...contentOptions,\n ...(allFrames === undefined ? {} : {allFrames: allFrames !== false}),\n } as ContentScriptDefinition<Data, Isolation>);\n }\n\n public async build(): Promise<void> {\n const destroying = this.destroy();\n const generation = this.generation;\n await destroying;\n\n if (generation !== this.generation) {\n return;\n }\n\n await this._transport.build();\n\n if (generation !== this.generation) {\n return;\n }\n\n await this._content.build();\n\n if (generation !== this.generation) {\n return;\n }\n\n const {prepare, boundary, target, ...options} = this.definition;\n const {main} = options;\n\n if (main) {\n await main(this._transport.get(), this._content.getContext(), {\n ...options,\n isolation: resolveContentScriptIsolation(this.definition.isolation, \"render\" in this.definition),\n });\n }\n }\n\n public async destroy(): Promise<void> {\n this.generation++;\n // Invalidate pending content work immediately; transport cleanup starts first.\n await Promise.all([this._transport.destroy(), this._content.destroy()]);\n }\n}\n"],"mappings":"AAAA,SAAQ,qCAAoC;AAE5C,OAAO,sBAAsB;AAE7B,OAAO,uBAAuB;AAW9B,MAAO,gBAIG,kBAAkB;AAAA,EAiBxB,YACuB,YACnB,gBACF;AACE,UAAM;AAHa;AAKnB,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAEjD,UAAM,EAAC,MAAM,MAAM,MAAM,QAAQ,WAAW,GAAG,eAAc,IAAI;AAEjE,SAAK,WAAW,IAAI,eAAe;AAAA,MAC/B,GAAG;AAAA,MACH,GAAI,cAAc,SAAY,CAAC,IAAI,EAAC,WAAW,cAAc,MAAK;AAAA,IACtE,CAA6C;AAAA,EACjD;AAAA,EAbuB;AAAA,EAjBf,aAAa;AAAA,EAEF;AAAA,EACA;AAAA,EA6BnB,MAAa,QAAuB;AAChC,UAAM,aAAa,KAAK,QAAQ;AAChC,UAAM,aAAa,KAAK;AACxB,UAAM;AAEN,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,KAAK,WAAW,MAAM;AAE5B,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,KAAK,SAAS,MAAM;AAE1B,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,EAAC,SAAS,UAAU,QAAQ,GAAG,QAAO,IAAI,KAAK;AACrD,UAAM,EAAC,KAAI,IAAI;AAEf,QAAI,MAAM;AACN,YAAM,KAAK,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,WAAW,GAAG;AAAA,QAC1D,GAAG;AAAA,QACH,WAAW,8BAA8B,KAAK,WAAW,WAAW,YAAY,KAAK,UAAU;AAAA,MACnG,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAClC,SAAK;AAEL,UAAM,QAAQ,IAAI,CAAC,KAAK,WAAW,QAAQ,GAAG,KAAK,SAAS,QAAQ,CAAC,CAAC;AAAA,EAC1E;AACJ;","names":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import Builder from "./Builder.js";
|
|
2
|
-
import type { RelayUnresolvedDefinition } from "../../types/relay.js";
|
|
2
|
+
import type { RelayDefinition, RelayUnresolvedDefinition } from "../../types/relay.js";
|
|
3
3
|
import type { TransportType } from "../../types/transport.js";
|
|
4
|
-
import type { ContentScriptIsolation } from "../../types/content/index.js";
|
|
4
|
+
import type { ContentScriptBuilderConstructor, ContentScriptIsolation } from "../../types/content/index.js";
|
|
5
5
|
export { Builder };
|
|
6
6
|
export { resolveDefinition } from "./resolvers/definition.js";
|
|
7
7
|
export type { RelayUnresolvedDefinition } from "../../types/relay.js";
|
|
8
|
-
export default function relay<T extends TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`>(definition:
|
|
8
|
+
export default function relay<T extends TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`>(definition: RelayDefinition<T, Data, Isolation>, contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>): void;
|
|
9
|
+
export default function relay<T extends TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`>(definition: RelayUnresolvedDefinition<T, Data, Isolation>, contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition:
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {RelayDefinition, RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptBuilderConstructor, ContentScriptIsolation} from \"@typing/content\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\n// Match Builder's full-definition overload before the partial bootstrap input.\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n): void;\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n): void;\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ContentScriptBuilderConstructor<Data, Isolation>\n): void {\n new Builder(definition, contentBuilder).build().catch(error => {\n console.error(\"Failed to build relay: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;AAuBjB,SAAR,MAKH,YACA,gBACI;AACJ,MAAI,QAAQ,YAAY,cAAc,EAAE,MAAM,EAAE,MAAM,WAAS;AAC3D,YAAQ,MAAM,2BAA2B,KAAK;AAAA,EAClD,CAAC;AACL;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RelayUnresolvedDefinition } from "../../../types/relay.js";
|
|
2
2
|
import type { TransportType } from "../../../types/transport.js";
|
|
3
|
-
/**
|
|
3
|
+
/** A default function is Relay's transport init, never a content render. */
|
|
4
4
|
export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => RelayUnresolvedDefinition<T>;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mergeDefinition } from "./../../../entry/transport/resolvers/definition.js";
|
|
2
2
|
const resolveDefinition = (module, name) => {
|
|
3
|
-
|
|
4
|
-
let definition = otherDefinition;
|
|
5
|
-
if (isValidTransportDefinition(defaultDefinition)) {
|
|
6
|
-
definition = { ...definition, ...defaultDefinition };
|
|
7
|
-
} else if (isValidTransportInitFunction(defaultDefinition)) {
|
|
8
|
-
definition = { ...definition, init: defaultDefinition };
|
|
9
|
-
}
|
|
10
|
-
const { init, main, name: _name, ...options } = definition;
|
|
11
|
-
return { name, init, main, ...options };
|
|
3
|
+
return mergeDefinition(module, name);
|
|
12
4
|
};
|
|
13
5
|
export {
|
|
14
6
|
resolveDefinition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/relay/resolvers/definition.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/relay/resolvers/definition.ts"],"sourcesContent":["import {mergeDefinition} from \"@entry/transport/resolvers/definition\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\n\n/** A default function is Relay's transport init, never a content render. */\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): RelayUnresolvedDefinition<T> => {\n return mergeDefinition(module, name) as RelayUnresolvedDefinition<T>;\n};\n"],"mappings":"AAAA,SAAQ,uBAAsB;AAMvB,MAAM,oBAAoB,CAC7B,QACA,SAC+B;AAC/B,SAAO,gBAAgB,QAAQ,IAAI;AACvC;","names":[]}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
import EntrypointBuilder from "../core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import
|
|
3
|
-
import { SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
3
|
+
import { SandboxEntrypointOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
4
|
import { TransportType } from "../../types/transport.js";
|
|
5
|
-
import { ViewBuilder } from "../../types/view.js";
|
|
6
|
-
export default class<T extends TransportType = TransportType> extends
|
|
5
|
+
import { ViewBuilder, ViewBuilderConstructor } from "../../types/view/index.js";
|
|
6
|
+
export default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {
|
|
7
7
|
protected readonly _transport: TransportBuilder<T>;
|
|
8
|
-
protected _view
|
|
8
|
+
protected readonly _view: ViewBuilder;
|
|
9
9
|
private readonly name;
|
|
10
|
-
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
11
|
-
view(view: ViewBuilder): this;
|
|
10
|
+
constructor(definition: SandboxUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>);
|
|
12
11
|
build(): Promise<void>;
|
|
13
12
|
destroy(): Promise<void>;
|
|
14
13
|
private ready;
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
+
import EntrypointBuilder from "./../../entry/core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import Builder from "../core/Builder.js";
|
|
3
3
|
import { sandboxChannel } from "./../../sandbox/utils.js";
|
|
4
4
|
import {
|
|
5
5
|
SandboxGlobalAccess,
|
|
6
6
|
SandboxReadyMessageType
|
|
7
7
|
} from "./../../types/sandbox.js";
|
|
8
|
-
class
|
|
8
|
+
class Builder extends EntrypointBuilder {
|
|
9
9
|
_transport;
|
|
10
10
|
_view;
|
|
11
11
|
name;
|
|
12
|
-
constructor(definition) {
|
|
12
|
+
constructor(definition, viewBuilder) {
|
|
13
13
|
super();
|
|
14
14
|
this.name = definition.name;
|
|
15
15
|
this._transport = new TransportBuilder(definition);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this._view = view;
|
|
19
|
-
return this;
|
|
16
|
+
const { init, main, name, ...viewOptions } = definition;
|
|
17
|
+
this._view = new viewBuilder(viewOptions);
|
|
20
18
|
}
|
|
21
19
|
async build() {
|
|
22
|
-
var _a;
|
|
23
20
|
await this.destroy();
|
|
24
21
|
globalThis[SandboxGlobalAccess] = true;
|
|
25
22
|
await this._transport.build();
|
|
26
|
-
await
|
|
23
|
+
await this._view.build();
|
|
27
24
|
this.ready();
|
|
28
25
|
}
|
|
29
26
|
async destroy() {
|
|
30
|
-
var _a;
|
|
31
27
|
await this._transport.destroy();
|
|
32
|
-
await
|
|
28
|
+
await this._view.destroy();
|
|
33
29
|
}
|
|
34
30
|
ready() {
|
|
35
31
|
if (window.parent === window) {
|
|
@@ -46,6 +42,6 @@ class Builder_default extends Builder {
|
|
|
46
42
|
}
|
|
47
43
|
}
|
|
48
44
|
export {
|
|
49
|
-
|
|
45
|
+
Builder as default
|
|
50
46
|
};
|
|
51
47
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/sandbox/Builder.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/Builder.ts"],"sourcesContent":["import EntrypointBuilder from \"@entry/core/Builder\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport {sandboxChannel} from \"@sandbox/utils\";\n\nimport {\n SandboxEntrypointOptions,\n SandboxGlobalAccess,\n SandboxReadyMessage,\n SandboxReadyMessageType,\n SandboxUnresolvedDefinition,\n} from \"@typing/sandbox\";\nimport {TransportType} from \"@typing/transport\";\nimport {ViewBuilder, ViewBuilderConstructor} from \"@typing/view\";\n\nexport default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {\n protected readonly _transport: TransportBuilder<T>;\n\n protected readonly _view: ViewBuilder;\n\n private readonly name: string;\n\n constructor(\n definition: SandboxUnresolvedDefinition<T>,\n viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>\n ) {\n super();\n\n this.name = definition.name!;\n this._transport = new TransportBuilder(definition);\n\n const {init, main, name, ...viewOptions} = definition;\n\n this._view = new viewBuilder(viewOptions);\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n globalThis[SandboxGlobalAccess] = true;\n\n await this._transport.build();\n await this._view.build();\n\n this.ready();\n }\n\n public async destroy(): Promise<void> {\n await this._transport.destroy();\n await this._view.destroy();\n }\n\n private ready(): void {\n if (window.parent === window) {\n return;\n }\n\n window.parent.postMessage(\n {\n type: SandboxReadyMessageType,\n channel: sandboxChannel(this.name),\n name: this.name,\n } satisfies SandboxReadyMessage,\n \"*\"\n );\n }\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAE9B,OAAO,sBAAsB;AAE7B,SAAQ,sBAAqB;AAE7B;AAAA,EAEI;AAAA,EAEA;AAAA,OAEG;AAIP,MAAO,gBAAuE,kBAAkB;AAAA,EACzE;AAAA,EAEA;AAAA,EAEF;AAAA,EAEjB,YACI,YACA,aACF;AACE,UAAM;AAEN,SAAK,OAAO,WAAW;AACvB,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAEjD,UAAM,EAAC,MAAM,MAAM,MAAM,GAAG,YAAW,IAAI;AAE3C,SAAK,QAAQ,IAAI,YAAY,WAAW;AAAA,EAC5C;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,eAAW,mBAAmB,IAAI;AAElC,UAAM,KAAK,WAAW,MAAM;AAC5B,UAAM,KAAK,MAAM,MAAM;AAEvB,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,MAAa,UAAyB;AAClC,UAAM,KAAK,WAAW,QAAQ;AAC9B,UAAM,KAAK,MAAM,QAAQ;AAAA,EAC7B;AAAA,EAEQ,QAAc;AAClB,QAAI,OAAO,WAAW,QAAQ;AAC1B;AAAA,IACJ;AAEA,WAAO,OAAO;AAAA,MACV;AAAA,QACI,MAAM;AAAA,QACN,SAAS,eAAe,KAAK,IAAI;AAAA,QACjC,MAAM,KAAK;AAAA,MACf;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -2,7 +2,7 @@ import AbstractBuilder from "../transport/AbstractBuilder.js";
|
|
|
2
2
|
import { RegisterSandbox } from "../../sandbox/providers/index.js";
|
|
3
3
|
import type { SandboxOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
4
|
import type { TransportName, TransportType } from "../../types/transport.js";
|
|
5
|
-
export default class<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {
|
|
5
|
+
export default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {
|
|
6
6
|
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
7
7
|
protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]>;
|
|
8
8
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import AbstractBuilder from "./../../entry/transport/AbstractBuilder.js";
|
|
2
2
|
import { RegisterSandbox } from "./../../sandbox/providers/index.js";
|
|
3
|
-
class
|
|
3
|
+
class TransportBuilder extends AbstractBuilder {
|
|
4
4
|
constructor(definition) {
|
|
5
|
-
|
|
5
|
+
const { render, container, ...options } = definition;
|
|
6
|
+
super(options);
|
|
6
7
|
}
|
|
7
8
|
transport() {
|
|
8
9
|
const { name, init } = this.definition;
|
|
@@ -10,6 +11,6 @@ class TransportBuilder_default extends AbstractBuilder {
|
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
+
TransportBuilder as default
|
|
14
15
|
};
|
|
15
16
|
//# sourceMappingURL=TransportBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/sandbox/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterSandbox} from \"@sandbox/providers\";\n\nimport type {SandboxOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType = TransportType> extends AbstractBuilder
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterSandbox} from \"@sandbox/providers\";\n\nimport type {SandboxOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<\n SandboxOptions,\n T\n> {\n constructor(definition: SandboxUnresolvedDefinition<T>) {\n // The view owns rendering; init and main receive only the sandbox options.\n const {render, container, ...options} = definition;\n\n super(options);\n }\n\n protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterSandbox(name, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,uBAAsB;AAK9B,MAAO,yBAAgF,gBAGrF;AAAA,EACE,YAAY,YAA4C;AAEpD,UAAM,EAAC,QAAQ,WAAW,GAAG,QAAO,IAAI;AAExC,UAAM,OAAO;AAAA,EACjB;AAAA,EAEU,YAAiE;AACvE,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,gBAAgB,MAAM,IAAI;AAAA,EACzC;AACJ;","names":[]}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import Builder from "./Builder.js";
|
|
2
|
+
import type { SandboxEntrypointOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
3
|
+
import type { TransportType } from "../../types/transport.js";
|
|
4
|
+
import type { ViewBuilderConstructor } from "../../types/view/index.js";
|
|
5
|
+
export { Builder };
|
|
6
|
+
export { resolveDefinition } from "./resolvers/definition.js";
|
|
7
|
+
export default function sandbox<T extends TransportType>(definition: SandboxUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>): void;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import Builder from "./Builder.js";
|
|
2
|
+
import { resolveDefinition } from "./resolvers/definition.js";
|
|
3
|
+
function sandbox(definition, viewBuilder) {
|
|
4
|
+
new Builder(definition, viewBuilder).build().catch((error) => {
|
|
5
|
+
console.error("Failed to build sandbox: ", error);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
3
8
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
9
|
+
Builder,
|
|
10
|
+
sandbox as default,
|
|
11
|
+
resolveDefinition
|
|
6
12
|
};
|
|
7
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/sandbox/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {SandboxEntrypointOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ViewBuilderConstructor} from \"@typing/view\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default function sandbox<T extends TransportType>(\n definition: SandboxUnresolvedDefinition<T>,\n viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>\n): void {\n new Builder(definition, viewBuilder).build().catch(error => {\n console.error(\"Failed to build sandbox: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;AAEjB,SAAR,QACH,YACA,aACI;AACJ,MAAI,QAAQ,YAAY,WAAW,EAAE,MAAM,EAAE,MAAM,WAAS;AACxD,YAAQ,MAAM,6BAA6B,KAAK;AAAA,EACpD,CAAC;AACL;","names":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SandboxUnresolvedDefinition } from "../../../types/sandbox.js";
|
|
2
|
+
import type { TransportType } from "../../../types/transport.js";
|
|
3
|
+
/** A default function is the sandbox transport init; the view renders only an explicit render. */
|
|
4
|
+
export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => SandboxUnresolvedDefinition<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/sandbox/resolvers/definition.ts"],"sourcesContent":["import {mergeDefinition} from \"@entry/transport/resolvers/definition\";\n\nimport type {SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportType} from \"@typing/transport\";\n\n/** A default function is the sandbox transport init; the view renders only an explicit render. */\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): SandboxUnresolvedDefinition<T> => {\n return mergeDefinition(module, name) as SandboxUnresolvedDefinition<T>;\n};\n"],"mappings":"AAAA,SAAQ,uBAAsB;AAMvB,MAAM,oBAAoB,CAC7B,QACA,SACiC;AACjC,SAAO,gBAAgB,QAAQ,IAAI;AACvC;","names":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Builder from "./Builder.js";
|
|
2
|
+
import { resolveDefinition } from "./resolvers/definition.js";
|
|
2
3
|
var service_default = Builder.resolver();
|
|
3
4
|
export {
|
|
4
|
-
service_default as default
|
|
5
|
+
service_default as default,
|
|
6
|
+
resolveDefinition
|
|
5
7
|
};
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/service/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/service/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,yBAAwB;AAEhC,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ServiceUnresolvedDefinition } from "../../../types/service.js";
|
|
2
|
+
import type { TransportType } from "../../../types/transport.js";
|
|
3
|
+
export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => ServiceUnresolvedDefinition<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/service/resolvers/definition.ts"],"sourcesContent":["import {mergeDefinition} from \"@entry/transport/resolvers/definition\";\n\nimport type {ServiceUnresolvedDefinition} from \"@typing/service\";\nimport type {TransportType} from \"@typing/transport\";\n\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): ServiceUnresolvedDefinition<T> => {\n return mergeDefinition(module, name) as ServiceUnresolvedDefinition<T>;\n};\n"],"mappings":"AAAA,SAAQ,uBAAsB;AAKvB,MAAM,oBAAoB,CAC7B,QACA,SACiC;AACjC,SAAO,gBAAgB,QAAQ,IAAI;AACvC;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Builder from "./../../entry/core/Builder.js";
|
|
2
|
-
import { isValidTransportInitFunction, isValidTransportMainFunction, isValidTransportName } from "./resolvers/
|
|
2
|
+
import { isValidTransportInitFunction, isValidTransportMainFunction, isValidTransportName } from "./resolvers/definition.js";
|
|
3
3
|
class AbstractBuilder_default extends Builder {
|
|
4
4
|
definition;
|
|
5
5
|
instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/transport/AbstractBuilder.ts"],"sourcesContent":["import Builder from \"@entry/core/Builder\";\n\nimport {isValidTransportInitFunction, isValidTransportMainFunction, isValidTransportName} from \"./resolvers\";\n\nimport {\n TransportOptions,\n TransportRegister,\n TransportResolvedDefinition,\n TransportType,\n TransportUnresolvedDefinition,\n} from \"@typing/transport\";\nimport {EntrypointBuilder} from \"@typing/entrypoint\";\n\n// prettier-ignore\nexport default abstract class<\n O extends TransportOptions,\n T extends TransportType = TransportType\n> extends Builder implements EntrypointBuilder {\n protected readonly definition: TransportResolvedDefinition<O, T>;\n\n protected instance?: TransportRegister<T, [O]>;\n\n protected abstract transport(): TransportRegister<T, [O]>;\n\n protected constructor(definition: TransportUnresolvedDefinition<O, T>) {\n super();\n\n const {name, init} = definition;\n\n if (!isValidTransportInitFunction(init)) {\n throw new Error(\"The transport entrypoint must export a init function\");\n }\n\n if (!isValidTransportName(name)) {\n throw new Error(\"The transport entrypoint must export a name string\");\n }\n\n this.definition = {\n ...definition,\n name,\n init,\n };\n }\n\n public get(): T {\n if (!this.instance) {\n throw new Error(\"Before using get function run build() method\");\n }\n\n return this.instance.get();\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {name, init, main, ...definition} = this.definition;\n\n const options: TransportOptions = {\n name,\n ...definition,\n };\n\n this.instance = this.transport();\n\n this.instance.register(options as O);\n\n if (isValidTransportMainFunction(main)) {\n await main(this.instance.get(), options);\n }\n }\n\n public async destroy(): Promise<void> {\n this.instance?.destroy();\n\n this.instance = undefined;\n }\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,8BAA8B,8BAA8B,4BAA2B;AAY/F,MAAO,gCAGG,QAAqC;AAAA,EACxB;AAAA,EAET;AAAA,EAIA,YAAY,YAAiD;AACnE,UAAM;AAEN,UAAM,EAAC,MAAM,KAAI,IAAI;AAErB,QAAI,CAAC,6BAA6B,IAAI,GAAG;AACrC,YAAM,IAAI,MAAM,sDAAsD;AAAA,IAC1E;AAEA,QAAI,CAAC,qBAAqB,IAAI,GAAG;AAC7B,YAAM,IAAI,MAAM,oDAAoD;AAAA,IACxE;AAEA,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEO,MAAS;AACZ,QAAI,CAAC,KAAK,UAAU;AAChB,YAAM,IAAI,MAAM,8CAA8C;AAAA,IAClE;AAEA,WAAO,KAAK,SAAS,IAAI;AAAA,EAC7B;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,MAAM,MAAM,MAAM,GAAG,WAAU,IAAI,KAAK;AAE/C,UAAM,UAA4B;AAAA,MAC9B;AAAA,MACA,GAAG;AAAA,IACP;AAEA,SAAK,WAAW,KAAK,UAAU;AAE/B,SAAK,SAAS,SAAS,OAAY;AAEnC,QAAI,6BAA6B,IAAI,GAAG;AACpC,YAAM,KAAK,KAAK,SAAS,IAAI,GAAG,OAAO;AAAA,IAC3C;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAvE1C;AAwEQ,eAAK,aAAL,mBAAe;AAEf,SAAK,WAAW;AAAA,EACpB;AACJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/transport/AbstractBuilder.ts"],"sourcesContent":["import Builder from \"@entry/core/Builder\";\n\nimport {isValidTransportInitFunction, isValidTransportMainFunction, isValidTransportName} from \"./resolvers/definition\";\n\nimport {\n TransportOptions,\n TransportRegister,\n TransportResolvedDefinition,\n TransportType,\n TransportUnresolvedDefinition,\n} from \"@typing/transport\";\nimport {EntrypointBuilder} from \"@typing/entrypoint\";\n\n// prettier-ignore\nexport default abstract class<\n O extends TransportOptions,\n T extends TransportType = TransportType\n> extends Builder implements EntrypointBuilder {\n protected readonly definition: TransportResolvedDefinition<O, T>;\n\n protected instance?: TransportRegister<T, [O]>;\n\n protected abstract transport(): TransportRegister<T, [O]>;\n\n protected constructor(definition: TransportUnresolvedDefinition<O, T>) {\n super();\n\n const {name, init} = definition;\n\n if (!isValidTransportInitFunction(init)) {\n throw new Error(\"The transport entrypoint must export a init function\");\n }\n\n if (!isValidTransportName(name)) {\n throw new Error(\"The transport entrypoint must export a name string\");\n }\n\n this.definition = {\n ...definition,\n name,\n init,\n };\n }\n\n public get(): T {\n if (!this.instance) {\n throw new Error(\"Before using get function run build() method\");\n }\n\n return this.instance.get();\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {name, init, main, ...definition} = this.definition;\n\n const options: TransportOptions = {\n name,\n ...definition,\n };\n\n this.instance = this.transport();\n\n this.instance.register(options as O);\n\n if (isValidTransportMainFunction(main)) {\n await main(this.instance.get(), options);\n }\n }\n\n public async destroy(): Promise<void> {\n this.instance?.destroy();\n\n this.instance = undefined;\n }\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,8BAA8B,8BAA8B,4BAA2B;AAY/F,MAAO,gCAGG,QAAqC;AAAA,EACxB;AAAA,EAET;AAAA,EAIA,YAAY,YAAiD;AACnE,UAAM;AAEN,UAAM,EAAC,MAAM,KAAI,IAAI;AAErB,QAAI,CAAC,6BAA6B,IAAI,GAAG;AACrC,YAAM,IAAI,MAAM,sDAAsD;AAAA,IAC1E;AAEA,QAAI,CAAC,qBAAqB,IAAI,GAAG;AAC7B,YAAM,IAAI,MAAM,oDAAoD;AAAA,IACxE;AAEA,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEO,MAAS;AACZ,QAAI,CAAC,KAAK,UAAU;AAChB,YAAM,IAAI,MAAM,8CAA8C;AAAA,IAClE;AAEA,WAAO,KAAK,SAAS,IAAI;AAAA,EAC7B;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,MAAM,MAAM,MAAM,GAAG,WAAU,IAAI,KAAK;AAE/C,UAAM,UAA4B;AAAA,MAC9B;AAAA,MACA,GAAG;AAAA,IACP;AAEA,SAAK,WAAW,KAAK,UAAU;AAE/B,SAAK,SAAS,SAAS,OAAY;AAEnC,QAAI,6BAA6B,IAAI,GAAG;AACpC,YAAM,KAAK,KAAK,SAAS,IAAI,GAAG,OAAO;AAAA,IAC3C;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAvE1C;AAwEQ,eAAK,aAAL,mBAAe;AAEf,SAAK,WAAW;AAAA,EACpB;AACJ;","names":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RelayDefinition, RelayMainHandler } from "../../../types/relay.js";
|
|
3
|
-
import { OffscreenDefinition, OffscreenMainHandler } from "../../../types/offscreen.js";
|
|
4
|
-
export declare const isValidTransportDefinition: <O extends TransportOptions, T extends TransportType>(definition: any) => definition is TransportDefinition<O, T> & RelayDefinition<T> & OffscreenDefinition<T>;
|
|
1
|
+
import { TransportInitGetter, TransportMainHandler, TransportOptions, TransportType, TransportUnresolvedDefinition } from "../../../types/transport.js";
|
|
5
2
|
export declare const isValidTransportInitFunction: <O extends TransportOptions, T extends TransportType>(init: any) => init is TransportInitGetter<O, T>;
|
|
6
|
-
export declare const isValidTransportMainFunction: <O extends TransportOptions, T extends TransportType>(main: any) => main is TransportMainHandler<O, T
|
|
3
|
+
export declare const isValidTransportMainFunction: <O extends TransportOptions, T extends TransportType>(main: any) => main is TransportMainHandler<O, T>;
|
|
7
4
|
export declare const isValidTransportName: (name: any) => name is string;
|
|
5
|
+
/**
|
|
6
|
+
* Merge transport exports without executing init: default options override named exports,
|
|
7
|
+
* and a default function is the init. The build supplies the authoritative name.
|
|
8
|
+
*/
|
|
9
|
+
export declare const mergeDefinition: (module: object, name: string) => TransportUnresolvedDefinition<TransportOptions, TransportType>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const
|
|
2
|
-
return
|
|
1
|
+
const isDefinitionObject = (value) => {
|
|
2
|
+
return value !== null && typeof value === "object" && value.constructor === Object;
|
|
3
3
|
};
|
|
4
4
|
const isValidTransportInitFunction = (init) => {
|
|
5
5
|
return init && typeof init === "function";
|
|
@@ -10,10 +10,21 @@ const isValidTransportMainFunction = (main) => {
|
|
|
10
10
|
const isValidTransportName = (name) => {
|
|
11
11
|
return name && typeof name === "string" && name.trim().length > 0;
|
|
12
12
|
};
|
|
13
|
+
const mergeDefinition = (module, name) => {
|
|
14
|
+
const { default: defaultDefinition, ...namedDefinition } = module;
|
|
15
|
+
let definition = namedDefinition;
|
|
16
|
+
if (isDefinitionObject(defaultDefinition)) {
|
|
17
|
+
definition = { ...definition, ...defaultDefinition };
|
|
18
|
+
} else if (isValidTransportInitFunction(defaultDefinition)) {
|
|
19
|
+
definition = { ...definition, init: defaultDefinition };
|
|
20
|
+
}
|
|
21
|
+
const { init, main, name: _, ...options } = definition;
|
|
22
|
+
return { name, init, main, ...options };
|
|
23
|
+
};
|
|
13
24
|
export {
|
|
14
|
-
isValidTransportDefinition,
|
|
15
25
|
isValidTransportInitFunction,
|
|
16
26
|
isValidTransportMainFunction,
|
|
17
|
-
isValidTransportName
|
|
27
|
+
isValidTransportName,
|
|
28
|
+
mergeDefinition
|
|
18
29
|
};
|
|
19
30
|
//# sourceMappingURL=definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/transport/resolvers/definition.ts"],"sourcesContent":["import {\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/transport/resolvers/definition.ts"],"sourcesContent":["import {\n TransportInitGetter,\n TransportMainHandler,\n TransportOptions,\n TransportType,\n TransportUnresolvedDefinition,\n} from \"@typing/transport\";\n\nconst isDefinitionObject = (\n value: unknown\n): value is TransportUnresolvedDefinition<TransportOptions, TransportType> => {\n return value !== null && typeof value === \"object\" && value.constructor === Object;\n};\n\nexport const isValidTransportInitFunction = <O extends TransportOptions, T extends TransportType>(\n init: any\n): init is TransportInitGetter<O, T> => {\n return init && typeof init === \"function\";\n};\n\nexport const isValidTransportMainFunction = <O extends TransportOptions, T extends TransportType>(\n main: any\n): main is TransportMainHandler<O, T> => {\n return main && typeof main === \"function\";\n};\n\nexport const isValidTransportName = (name: any): name is string => {\n return name && typeof name === \"string\" && name.trim().length > 0;\n};\n\n/**\n * Merge transport exports without executing init: default options override named exports,\n * and a default function is the init. The build supplies the authoritative name.\n */\nexport const mergeDefinition = (\n module: object,\n name: string\n): TransportUnresolvedDefinition<TransportOptions, TransportType> => {\n const {default: defaultDefinition, ...namedDefinition} = module as Record<string, unknown>;\n\n let definition = namedDefinition as TransportUnresolvedDefinition<TransportOptions, TransportType>;\n\n if (isDefinitionObject(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidTransportInitFunction(defaultDefinition)) {\n definition = {...definition, init: defaultDefinition};\n }\n\n const {init, main, name: _, ...options} = definition;\n\n return {name, init, main, ...options};\n};\n"],"mappings":"AAQA,MAAM,qBAAqB,CACvB,UAC0E;AAC1E,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,gBAAgB;AAChF;AAEO,MAAM,+BAA+B,CACxC,SACoC;AACpC,SAAO,QAAQ,OAAO,SAAS;AACnC;AAEO,MAAM,+BAA+B,CACxC,SACqC;AACrC,SAAO,QAAQ,OAAO,SAAS;AACnC;AAEO,MAAM,uBAAuB,CAAC,SAA8B;AAC/D,SAAO,QAAQ,OAAO,SAAS,YAAY,KAAK,KAAK,EAAE,SAAS;AACpE;AAMO,MAAM,kBAAkB,CAC3B,QACA,SACiE;AACjE,QAAM,EAAC,SAAS,mBAAmB,GAAG,gBAAe,IAAI;AAEzD,MAAI,aAAa;AAEjB,MAAI,mBAAmB,iBAAiB,GAAG;AACvC,iBAAa,EAAC,GAAG,YAAY,GAAG,kBAAiB;AAAA,EACrD,WAAW,6BAA6B,iBAAiB,GAAG;AACxD,iBAAa,EAAC,GAAG,YAAY,MAAM,kBAAiB;AAAA,EACxD;AAEA,QAAM,EAAC,MAAM,MAAM,MAAM,GAAG,GAAG,QAAO,IAAI;AAE1C,SAAO,EAAC,MAAM,MAAM,MAAM,GAAG,QAAO;AACxC;","names":[]}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ViewBuilder, ViewConfig, ViewContainerCreator, ViewContainerFactory, ViewContainerOptions, ViewContainerTag, ViewDefinition, ViewRenderHandler, ViewRenderValue, ViewResolvedDefinition } from "
|
|
3
|
-
|
|
1
|
+
import EntrypointBuilder from "../core/Builder.js";
|
|
2
|
+
import { ViewBuilder, ViewConfig, ViewContainerCreator, ViewContainerFactory, ViewContainerOptions, ViewContainerTag, ViewDefinition, ViewRenderHandler, ViewRenderValue, ViewResolvedDefinition } from "../../types/view/index.js";
|
|
3
|
+
/** Owns the view container; renderer adapters only resolve the render and put its value into the container. */
|
|
4
|
+
export default abstract class Builder<T extends ViewConfig> extends EntrypointBuilder implements ViewBuilder {
|
|
4
5
|
protected readonly definition: ViewResolvedDefinition<T>;
|
|
6
|
+
private container?;
|
|
5
7
|
protected constructor(definition: ViewDefinition<T>);
|
|
8
|
+
protected abstract mount(container: Element, value: ViewRenderValue<T>): void;
|
|
9
|
+
protected unmount(): void;
|
|
6
10
|
protected resolveContainer(container?: ViewContainerTag | ViewContainerOptions | ViewContainerFactory<T>): ViewContainerCreator<T>;
|
|
7
|
-
protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T
|
|
11
|
+
protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> | undefined;
|
|
8
12
|
protected getProps(): T;
|
|
9
13
|
build(): Promise<void>;
|
|
14
|
+
destroy(): Promise<void>;
|
|
10
15
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import EntrypointBuilder from "./../../entry/core/Builder.js";
|
|
2
|
+
import { viewContainerResolver } from "./resolvers/container.js";
|
|
3
|
+
class Builder extends EntrypointBuilder {
|
|
4
|
+
definition;
|
|
5
|
+
container;
|
|
6
|
+
constructor(definition) {
|
|
7
|
+
super();
|
|
8
|
+
this.definition = {
|
|
9
|
+
...definition,
|
|
10
|
+
container: this.resolveContainer(definition.container),
|
|
11
|
+
render: this.resolveRender(definition.render)
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
unmount() {
|
|
15
|
+
}
|
|
16
|
+
resolveContainer(container) {
|
|
17
|
+
return viewContainerResolver(container);
|
|
18
|
+
}
|
|
19
|
+
resolveRender(render) {
|
|
20
|
+
if (render === void 0) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
throw new Error("View rendering requires a renderer adapter");
|
|
24
|
+
}
|
|
25
|
+
getProps() {
|
|
26
|
+
const { render, container, ...props } = this.definition;
|
|
27
|
+
return props;
|
|
28
|
+
}
|
|
29
|
+
async build() {
|
|
30
|
+
await this.destroy();
|
|
31
|
+
const { title, render, container } = this.definition;
|
|
32
|
+
if (title) {
|
|
33
|
+
document.title = title;
|
|
34
|
+
}
|
|
35
|
+
if (!render) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const props = this.getProps();
|
|
39
|
+
const value = await render(props);
|
|
40
|
+
if (value === void 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.container = await container(props);
|
|
44
|
+
document.body.prepend(this.container);
|
|
45
|
+
this.mount(this.container, value);
|
|
46
|
+
}
|
|
47
|
+
async destroy() {
|
|
48
|
+
if (!this.container) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
this.unmount();
|
|
53
|
+
} finally {
|
|
54
|
+
this.container.remove();
|
|
55
|
+
this.container = void 0;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
Builder as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=Builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/view/Builder.ts"],"sourcesContent":["import EntrypointBuilder from \"@entry/core/Builder\";\n\nimport {viewContainerResolver} from \"./resolvers/container\";\n\nimport {\n ViewBuilder,\n ViewConfig,\n ViewContainerCreator,\n ViewContainerFactory,\n ViewContainerOptions,\n ViewContainerTag,\n ViewDefinition,\n ViewRenderHandler,\n ViewRenderValue,\n ViewResolvedDefinition,\n} from \"@typing/view\";\n\n/** Owns the view container; renderer adapters only resolve the render and put its value into the container. */\nexport default abstract class Builder<T extends ViewConfig> extends EntrypointBuilder implements ViewBuilder {\n protected readonly definition: ViewResolvedDefinition<T>;\n\n private container?: Element;\n\n protected constructor(definition: ViewDefinition<T>) {\n super();\n\n this.definition = {\n ...definition,\n container: this.resolveContainer(definition.container),\n render: this.resolveRender(definition.render),\n };\n }\n\n protected abstract mount(container: Element, value: ViewRenderValue<T>): void;\n\n protected unmount(): void {\n // Removing the container is enough unless the renderer owns state inside it.\n }\n\n protected resolveContainer(\n container?: ViewContainerTag | ViewContainerOptions | ViewContainerFactory<T>\n ): ViewContainerCreator<T> {\n return viewContainerResolver<T>(container);\n }\n\n protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> | undefined {\n if (render === undefined) {\n return;\n }\n\n throw new Error(\"View rendering requires a renderer adapter\");\n }\n\n protected getProps(): T {\n const {render, container, ...props} = this.definition;\n\n return props as T;\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {title, render, container} = this.definition;\n\n if (title) {\n document.title = title;\n }\n\n if (!render) {\n return;\n }\n\n const props = this.getProps();\n const value = await render(props);\n\n if (value === undefined) {\n return;\n }\n\n this.container = await container(props);\n\n // Mount into a connected container: renderers may measure the DOM while mounting.\n document.body.prepend(this.container);\n\n this.mount(this.container, value);\n }\n\n public async destroy(): Promise<void> {\n if (!this.container) {\n return;\n }\n\n try {\n this.unmount();\n } finally {\n this.container.remove();\n this.container = undefined;\n }\n }\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAE9B,SAAQ,6BAA4B;AAgBpC,MAAO,gBAA6D,kBAAyC;AAAA,EACtF;AAAA,EAEX;AAAA,EAEE,YAAY,YAA+B;AACjD,UAAM;AAEN,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH,WAAW,KAAK,iBAAiB,WAAW,SAAS;AAAA,MACrD,QAAQ,KAAK,cAAc,WAAW,MAAM;AAAA,IAChD;AAAA,EACJ;AAAA,EAIU,UAAgB;AAAA,EAE1B;AAAA,EAEU,iBACN,WACuB;AACvB,WAAO,sBAAyB,SAAS;AAAA,EAC7C;AAAA,EAEU,cAAc,QAAsF;AAC1G,QAAI,WAAW,QAAW;AACtB;AAAA,IACJ;AAEA,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAChE;AAAA,EAEU,WAAc;AACpB,UAAM,EAAC,QAAQ,WAAW,GAAG,MAAK,IAAI,KAAK;AAE3C,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,OAAO,QAAQ,UAAS,IAAI,KAAK;AAExC,QAAI,OAAO;AACP,eAAS,QAAQ;AAAA,IACrB;AAEA,QAAI,CAAC,QAAQ;AACT;AAAA,IACJ;AAEA,UAAM,QAAQ,KAAK,SAAS;AAC5B,UAAM,QAAQ,MAAM,OAAO,KAAK;AAEhC,QAAI,UAAU,QAAW;AACrB;AAAA,IACJ;AAEA,SAAK,YAAY,MAAM,UAAU,KAAK;AAGtC,aAAS,KAAK,QAAQ,KAAK,SAAS;AAEpC,SAAK,MAAM,KAAK,WAAW,KAAK;AAAA,EACpC;AAAA,EAEA,MAAa,UAAyB;AAClC,QAAI,CAAC,KAAK,WAAW;AACjB;AAAA,IACJ;AAEA,QAAI;AACA,WAAK,QAAQ;AAAA,IACjB,UAAE;AACE,WAAK,UAAU,OAAO;AACtB,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Root } from "react-dom/client";
|
|
2
|
-
import
|
|
3
|
-
import { ViewConfig, ViewDefinition, ViewRenderHandler, ViewRenderValue } from "../../../../types/view.js";
|
|
4
|
-
export default class<T extends ViewConfig> extends
|
|
2
|
+
import ViewBuilder from "../../Builder.js";
|
|
3
|
+
import { ViewConfig, ViewDefinition, ViewRenderHandler, ViewRenderValue } from "../../../../types/view/index.js";
|
|
4
|
+
export default class Builder<T extends ViewConfig> extends ViewBuilder<T> {
|
|
5
5
|
protected root?: Root;
|
|
6
|
-
protected container?: Element;
|
|
7
6
|
constructor(definition: ViewDefinition<T>);
|
|
8
|
-
protected resolveRender(render?: ViewRenderValue<T>): ViewRenderHandler<T
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> | undefined;
|
|
8
|
+
protected mount(container: Element, value: ViewRenderValue<T>): void;
|
|
9
|
+
protected unmount(): void;
|
|
11
10
|
}
|
|
@@ -1,40 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createElement } from "react";
|
|
2
2
|
import { createRoot } from "react-dom/client";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
3
|
+
import { isDomRenderValue, renderDomValue } from "./../../../../entry/core/render.js";
|
|
4
|
+
import { isReactRenderValue } from "./../../../../entry/core/react.js";
|
|
5
|
+
import ViewBuilder from "../../Builder.js";
|
|
6
|
+
class Builder extends ViewBuilder {
|
|
6
7
|
root;
|
|
7
|
-
container;
|
|
8
8
|
constructor(definition) {
|
|
9
9
|
super(definition);
|
|
10
10
|
}
|
|
11
11
|
resolveRender(render) {
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
async build() {
|
|
15
|
-
await super.build();
|
|
16
|
-
const props = this.getProps();
|
|
17
|
-
const element = await this.definition.render(props);
|
|
18
|
-
if (!isValidElement(element)) {
|
|
12
|
+
if (render === void 0) {
|
|
19
13
|
return;
|
|
20
14
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return;
|
|
15
|
+
return async (props) => {
|
|
16
|
+
const value = typeof render === "function" ? createElement(render, props) : render;
|
|
17
|
+
return isDomRenderValue(value) || isReactRenderValue(value) ? value : void 0;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
mount(container, value) {
|
|
21
|
+
if (isDomRenderValue(value)) {
|
|
22
|
+
renderDomValue(container, value);
|
|
23
|
+
} else if (isReactRenderValue(value)) {
|
|
24
|
+
this.root = createRoot(container);
|
|
25
|
+
this.root.render(value);
|
|
24
26
|
}
|
|
25
|
-
document.body.prepend(this.container);
|
|
26
|
-
this.root = createRoot(this.container);
|
|
27
|
-
this.root.render(element);
|
|
28
27
|
}
|
|
29
|
-
|
|
30
|
-
var _a
|
|
28
|
+
unmount() {
|
|
29
|
+
var _a;
|
|
31
30
|
(_a = this.root) == null ? void 0 : _a.unmount();
|
|
32
31
|
this.root = void 0;
|
|
33
|
-
(_b = this.container) == null ? void 0 : _b.remove();
|
|
34
|
-
this.container = void 0;
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
export {
|
|
38
|
-
|
|
35
|
+
Builder as default
|
|
39
36
|
};
|
|
40
37
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/view/adapters/react/Builder.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/view/adapters/react/Builder.ts"],"sourcesContent":["import {createElement} from \"react\";\nimport {createRoot, Root} from \"react-dom/client\";\n\nimport {isDomRenderValue, renderDomValue} from \"@entry/core/render\";\nimport {isReactRenderValue} from \"@entry/core/react\";\n\nimport ViewBuilder from \"../../Builder\";\n\nimport {ViewConfig, ViewDefinition, ViewRenderHandler, ViewRenderReactComponent, ViewRenderValue} from \"@typing/view\";\n\nexport default class Builder<T extends ViewConfig> extends ViewBuilder<T> {\n protected root?: Root;\n\n public constructor(definition: ViewDefinition<T>) {\n super(definition);\n }\n\n protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> | undefined {\n if (render === undefined) {\n return;\n }\n\n return async props => {\n // Functions in React entrypoints are components; React owns their invocation and hooks.\n const value =\n typeof render === \"function\" ? createElement(render as ViewRenderReactComponent<T>, props) : render;\n\n return isDomRenderValue(value) || isReactRenderValue(value) ? value : undefined;\n };\n }\n\n protected mount(container: Element, value: ViewRenderValue<T>): void {\n // Text is also iterable, so framework-independent values are checked before React nodes.\n if (isDomRenderValue(value)) {\n renderDomValue(container, value);\n } else if (isReactRenderValue(value)) {\n this.root = createRoot(container);\n this.root.render(value);\n }\n }\n\n protected unmount(): void {\n this.root?.unmount();\n this.root = undefined;\n }\n}\n"],"mappings":"AAAA,SAAQ,qBAAoB;AAC5B,SAAQ,kBAAuB;AAE/B,SAAQ,kBAAkB,sBAAqB;AAC/C,SAAQ,0BAAyB;AAEjC,OAAO,iBAAiB;AAIxB,MAAO,gBAAoD,YAAe;AAAA,EAC5D;AAAA,EAEH,YAAY,YAA+B;AAC9C,UAAM,UAAU;AAAA,EACpB;AAAA,EAEU,cAAc,QAAsF;AAC1G,QAAI,WAAW,QAAW;AACtB;AAAA,IACJ;AAEA,WAAO,OAAM,UAAS;AAElB,YAAM,QACF,OAAO,WAAW,aAAa,cAAc,QAAuC,KAAK,IAAI;AAEjG,aAAO,iBAAiB,KAAK,KAAK,mBAAmB,KAAK,IAAI,QAAQ;AAAA,IAC1E;AAAA,EACJ;AAAA,EAEU,MAAM,WAAoB,OAAiC;AAEjE,QAAI,iBAAiB,KAAK,GAAG;AACzB,qBAAe,WAAW,KAAK;AAAA,IACnC,WAAW,mBAAmB,KAAK,GAAG;AAClC,WAAK,OAAO,WAAW,SAAS;AAChC,WAAK,KAAK,OAAO,KAAK;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEU,UAAgB;AAzC9B;AA0CQ,eAAK,SAAL,mBAAW;AACX,SAAK,OAAO;AAAA,EAChB;AACJ;","names":[]}
|