@xyo-network/module-model 2.75.0 → 2.75.2
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/browser/Config.d.cts +60 -0
- package/dist/browser/Config.d.cts.map +1 -0
- package/dist/browser/Config.js +1 -2
- package/dist/browser/Config.js.map +1 -1
- package/dist/browser/CreatableModule/CreatableModule.d.cts +23 -0
- package/dist/browser/CreatableModule/CreatableModule.d.cts.map +1 -0
- package/dist/browser/CreatableModule/CreatableModule.js +0 -1
- package/dist/browser/CreatableModule/CreatableModule.js.map +1 -1
- package/dist/browser/CreatableModule/CreatableModuleDictionary.d.cts +5 -0
- package/dist/browser/CreatableModule/CreatableModuleDictionary.d.cts.map +1 -0
- package/dist/browser/CreatableModule/CreatableModuleRegistry.d.cts +9 -0
- package/dist/browser/CreatableModule/CreatableModuleRegistry.d.cts.map +1 -0
- package/dist/browser/CreatableModule/CreatableModuleRegistry.js +2 -3
- package/dist/browser/CreatableModule/CreatableModuleRegistry.js.map +1 -1
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts +6 -0
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts.map +1 -0
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js +1 -2
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js.map +1 -1
- package/dist/browser/CreatableModule/ModuleFactory.d.cts +25 -0
- package/dist/browser/CreatableModule/ModuleFactory.d.cts.map +1 -0
- package/dist/browser/CreatableModule/ModuleFactory.js +3 -4
- package/dist/browser/CreatableModule/ModuleFactory.js.map +1 -1
- package/dist/browser/CreatableModule/ModuleFactoryLocator.d.cts +41 -0
- package/dist/browser/CreatableModule/ModuleFactoryLocator.d.cts.map +1 -0
- package/dist/browser/CreatableModule/ModuleFactoryLocator.js +4 -19
- package/dist/browser/CreatableModule/ModuleFactoryLocator.js.map +1 -1
- package/dist/browser/CreatableModule/index.d.cts +7 -0
- package/dist/browser/CreatableModule/index.d.cts.map +1 -0
- package/dist/browser/CreatableModule/index.js +6 -169
- package/dist/browser/CreatableModule/index.js.map +1 -1
- package/dist/browser/EventsModels/ModuleBusy.d.cts +9 -0
- package/dist/browser/EventsModels/ModuleBusy.d.cts.map +1 -0
- package/dist/browser/EventsModels/ModuleError.d.cts +9 -0
- package/dist/browser/EventsModels/ModuleError.d.cts.map +1 -0
- package/dist/browser/EventsModels/ModuleEventArgs.d.cts +7 -0
- package/dist/browser/EventsModels/ModuleEventArgs.d.cts.map +1 -0
- package/dist/browser/EventsModels/ModuleEventData.d.cts +6 -0
- package/dist/browser/EventsModels/ModuleEventData.d.cts.map +1 -0
- package/dist/browser/EventsModels/ModuleQueried.d.cts +14 -0
- package/dist/browser/EventsModels/ModuleQueried.d.cts.map +1 -0
- package/dist/browser/EventsModels/index.d.cts +6 -0
- package/dist/browser/EventsModels/index.d.cts.map +1 -0
- package/dist/browser/EventsModels/index.js +5 -0
- package/dist/browser/EventsModels/index.js.map +1 -1
- package/dist/browser/Labels/Labels.d.cts +26 -0
- package/dist/browser/Labels/Labels.d.cts.map +1 -0
- package/dist/browser/Labels/Labels.js +1 -2
- package/dist/browser/Labels/Labels.js.map +1 -1
- package/dist/browser/Labels/index.d.cts +2 -0
- package/dist/browser/Labels/index.d.cts.map +1 -0
- package/dist/browser/Labels/index.js +1 -11
- package/dist/browser/Labels/index.js.map +1 -1
- package/dist/browser/ModuleDescription.d.cts +7 -0
- package/dist/browser/ModuleDescription.d.cts.map +1 -0
- package/dist/browser/ModuleParams.d.cts +11 -0
- package/dist/browser/ModuleParams.d.cts.map +1 -0
- package/dist/browser/ModuleQueryHandlerResult.d.cts +3 -0
- package/dist/browser/ModuleQueryHandlerResult.d.cts.map +1 -0
- package/dist/browser/ModuleQueryResult.d.cts +4 -0
- package/dist/browser/ModuleQueryResult.d.cts.map +1 -0
- package/dist/browser/Queries/Describe/Payload.d.cts +6 -0
- package/dist/browser/Queries/Describe/Payload.d.cts.map +1 -0
- package/dist/browser/Queries/Describe/Payload.js +1 -2
- package/dist/browser/Queries/Describe/Payload.js.map +1 -1
- package/dist/browser/Queries/Describe/Query.d.cts +7 -0
- package/dist/browser/Queries/Describe/Query.d.cts.map +1 -0
- package/dist/browser/Queries/Describe/Query.js +1 -2
- package/dist/browser/Queries/Describe/Query.js.map +1 -1
- package/dist/browser/Queries/Describe/index.d.cts +3 -0
- package/dist/browser/Queries/Describe/index.d.cts.map +1 -0
- package/dist/browser/Queries/Describe/index.js +2 -9
- package/dist/browser/Queries/Describe/index.js.map +1 -1
- package/dist/browser/Queries/Discover.d.cts +7 -0
- package/dist/browser/Queries/Discover.d.cts.map +1 -0
- package/dist/browser/Queries/Discover.js +1 -2
- package/dist/browser/Queries/Discover.js.map +1 -1
- package/dist/browser/Queries/Manifest.d.cts +7 -0
- package/dist/browser/Queries/Manifest.d.cts.map +1 -0
- package/dist/browser/Queries/Manifest.js +1 -2
- package/dist/browser/Queries/Manifest.js.map +1 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.cts +9 -0
- package/dist/browser/Queries/ModuleAddress/Payload.d.cts.map +1 -0
- package/dist/browser/Queries/ModuleAddress/Payload.js +1 -2
- package/dist/browser/Queries/ModuleAddress/Payload.js.map +1 -1
- package/dist/browser/Queries/ModuleAddress/Query.d.cts +7 -0
- package/dist/browser/Queries/ModuleAddress/Query.d.cts.map +1 -0
- package/dist/browser/Queries/ModuleAddress/Query.js +1 -2
- package/dist/browser/Queries/ModuleAddress/Query.js.map +1 -1
- package/dist/browser/Queries/ModuleAddress/index.d.cts +3 -0
- package/dist/browser/Queries/ModuleAddress/index.d.cts.map +1 -0
- package/dist/browser/Queries/ModuleAddress/index.js +2 -10
- package/dist/browser/Queries/ModuleAddress/index.js.map +1 -1
- package/dist/browser/Queries/Subscribe.d.cts +17 -0
- package/dist/browser/Queries/Subscribe.d.cts.map +1 -0
- package/dist/browser/Queries/Subscribe.js +1 -2
- package/dist/browser/Queries/Subscribe.js.map +1 -1
- package/dist/browser/Queries/index.d.cts +14 -0
- package/dist/browser/Queries/index.d.cts.map +1 -0
- package/dist/browser/Queries/index.js +5 -30
- package/dist/browser/Queries/index.js.map +1 -1
- package/dist/browser/index.d.cts +14 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +13 -332
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/instance/ModuleInstance.d.cts +41 -0
- package/dist/browser/instance/ModuleInstance.d.cts.map +1 -0
- package/dist/browser/instance/ModuleInstance.js +2 -3
- package/dist/browser/instance/ModuleInstance.js.map +1 -1
- package/dist/browser/instance/ModuleRepository.d.cts +9 -0
- package/dist/browser/instance/ModuleRepository.d.cts.map +1 -0
- package/dist/browser/instance/asModuleInstance.d.cts +5 -0
- package/dist/browser/instance/asModuleInstance.d.cts.map +1 -0
- package/dist/browser/instance/asModuleInstance.js +2 -63
- package/dist/browser/instance/asModuleInstance.js.map +1 -1
- package/dist/browser/instance/index.d.cts +5 -0
- package/dist/browser/instance/index.d.cts.map +1 -0
- package/dist/browser/instance/index.js +4 -75
- package/dist/browser/instance/index.js.map +1 -1
- package/dist/browser/instance/isModuleInstance.d.cts +5 -0
- package/dist/browser/instance/isModuleInstance.d.cts.map +1 -0
- package/dist/browser/instance/isModuleInstance.js +4 -52
- package/dist/browser/instance/isModuleInstance.js.map +1 -1
- package/dist/browser/lib/duplicateModules.d.cts +12 -0
- package/dist/browser/lib/duplicateModules.d.cts.map +1 -0
- package/dist/browser/lib/duplicateModules.js +1 -2
- package/dist/browser/lib/duplicateModules.js.map +1 -1
- package/dist/browser/lib/index.d.cts +3 -0
- package/dist/browser/lib/index.d.cts.map +1 -0
- package/dist/browser/lib/index.js +2 -32
- package/dist/browser/lib/index.js.map +1 -1
- package/dist/browser/lib/serializable.d.cts +3 -0
- package/dist/browser/lib/serializable.d.cts.map +1 -0
- package/dist/browser/lib/serializable.js +4 -5
- package/dist/browser/lib/serializable.js.map +1 -1
- package/dist/browser/module/IsModuleFactory.d.cts +7 -0
- package/dist/browser/module/IsModuleFactory.d.cts.map +1 -0
- package/dist/browser/module/IsModuleFactory.js +4 -22
- package/dist/browser/module/IsModuleFactory.js.map +1 -1
- package/dist/browser/module/Module.d.cts +6 -0
- package/dist/browser/module/Module.d.cts.map +1 -0
- package/dist/browser/module/ModuleFields.d.cts +18 -0
- package/dist/browser/module/ModuleFields.d.cts.map +1 -0
- package/dist/browser/module/ModuleQueryFunctions.d.cts +12 -0
- package/dist/browser/module/ModuleQueryFunctions.d.cts.map +1 -0
- package/dist/browser/module/asModule.d.cts +5 -0
- package/dist/browser/module/asModule.d.cts.map +1 -0
- package/dist/browser/module/asModule.js +2 -50
- package/dist/browser/module/asModule.js.map +1 -1
- package/dist/browser/module/asModuleObject.d.cts +5 -0
- package/dist/browser/module/asModuleObject.d.cts.map +1 -0
- package/dist/browser/module/asModuleObject.js +2 -17
- package/dist/browser/module/asModuleObject.js.map +1 -1
- package/dist/browser/module/index.d.cts +9 -0
- package/dist/browser/module/index.d.cts.map +1 -0
- package/dist/browser/module/index.js +8 -60
- package/dist/browser/module/index.js.map +1 -1
- package/dist/browser/module/isModule.d.cts +5 -0
- package/dist/browser/module/isModule.d.cts.map +1 -0
- package/dist/browser/module/isModule.js +6 -38
- package/dist/browser/module/isModule.js.map +1 -1
- package/dist/browser/module/isModuleObject.d.cts +5 -0
- package/dist/browser/module/isModuleObject.d.cts.map +1 -0
- package/dist/browser/module/isModuleObject.js +3 -4
- package/dist/browser/module/isModuleObject.js.map +1 -1
- package/dist/browser/withModule.d.cts +7 -0
- package/dist/browser/withModule.d.cts.map +1 -0
- package/dist/browser/withModule.js +5 -63
- package/dist/browser/withModule.js.map +1 -1
- package/dist/docs.json +52596 -0
- package/dist/node/Config.d.cts +60 -0
- package/dist/node/Config.d.cts.map +1 -0
- package/dist/node/Config.js +3 -1
- package/dist/node/Config.js.map +1 -1
- package/dist/node/Config.mjs +2 -1
- package/dist/node/Config.mjs.map +1 -1
- package/dist/node/CreatableModule/CreatableModule.d.cts +23 -0
- package/dist/node/CreatableModule/CreatableModule.d.cts.map +1 -0
- package/dist/node/CreatableModule/CreatableModule.js +2 -0
- package/dist/node/CreatableModule/CreatableModule.js.map +1 -1
- package/dist/node/CreatableModule/CreatableModule.mjs +1 -0
- package/dist/node/CreatableModule/CreatableModule.mjs.map +1 -1
- package/dist/node/CreatableModule/CreatableModuleDictionary.d.cts +5 -0
- package/dist/node/CreatableModule/CreatableModuleDictionary.d.cts.map +1 -0
- package/dist/node/CreatableModule/CreatableModuleDictionary.js +2 -0
- package/dist/node/CreatableModule/CreatableModuleDictionary.js.map +1 -1
- package/dist/node/CreatableModule/CreatableModuleRegistry.d.cts +9 -0
- package/dist/node/CreatableModule/CreatableModuleRegistry.d.cts.map +1 -0
- package/dist/node/CreatableModule/CreatableModuleRegistry.js +4 -2
- package/dist/node/CreatableModule/CreatableModuleRegistry.js.map +1 -1
- package/dist/node/CreatableModule/CreatableModuleRegistry.mjs +3 -2
- package/dist/node/CreatableModule/CreatableModuleRegistry.mjs.map +1 -1
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts +6 -0
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts.map +1 -0
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.js +3 -1
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.js.map +1 -1
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.mjs +2 -1
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.mjs.map +1 -1
- package/dist/node/CreatableModule/ModuleFactory.d.cts +25 -0
- package/dist/node/CreatableModule/ModuleFactory.d.cts.map +1 -0
- package/dist/node/CreatableModule/ModuleFactory.js +7 -4
- package/dist/node/CreatableModule/ModuleFactory.js.map +1 -1
- package/dist/node/CreatableModule/ModuleFactory.mjs +6 -4
- package/dist/node/CreatableModule/ModuleFactory.mjs.map +1 -1
- package/dist/node/CreatableModule/ModuleFactoryLocator.d.cts +41 -0
- package/dist/node/CreatableModule/ModuleFactoryLocator.d.cts.map +1 -0
- package/dist/node/CreatableModule/ModuleFactoryLocator.js +23 -6
- package/dist/node/CreatableModule/ModuleFactoryLocator.js.map +1 -1
- package/dist/node/CreatableModule/ModuleFactoryLocator.mjs +22 -6
- package/dist/node/CreatableModule/ModuleFactoryLocator.mjs.map +1 -1
- package/dist/node/CreatableModule/index.d.cts +7 -0
- package/dist/node/CreatableModule/index.d.cts.map +1 -0
- package/dist/node/CreatableModule/index.js +184 -13
- package/dist/node/CreatableModule/index.js.map +1 -1
- package/dist/node/CreatableModule/index.mjs +171 -6
- package/dist/node/CreatableModule/index.mjs.map +1 -1
- package/dist/node/EventsModels/ModuleBusy.d.cts +9 -0
- package/dist/node/EventsModels/ModuleBusy.d.cts.map +1 -0
- package/dist/node/EventsModels/ModuleBusy.js +2 -0
- package/dist/node/EventsModels/ModuleBusy.js.map +1 -1
- package/dist/node/EventsModels/ModuleError.d.cts +9 -0
- package/dist/node/EventsModels/ModuleError.d.cts.map +1 -0
- package/dist/node/EventsModels/ModuleError.js +2 -0
- package/dist/node/EventsModels/ModuleError.js.map +1 -1
- package/dist/node/EventsModels/ModuleEventArgs.d.cts +7 -0
- package/dist/node/EventsModels/ModuleEventArgs.d.cts.map +1 -0
- package/dist/node/EventsModels/ModuleEventArgs.js +2 -0
- package/dist/node/EventsModels/ModuleEventArgs.js.map +1 -1
- package/dist/node/EventsModels/ModuleEventData.d.cts +6 -0
- package/dist/node/EventsModels/ModuleEventData.d.cts.map +1 -0
- package/dist/node/EventsModels/ModuleEventData.js +2 -0
- package/dist/node/EventsModels/ModuleEventData.js.map +1 -1
- package/dist/node/EventsModels/ModuleQueried.d.cts +14 -0
- package/dist/node/EventsModels/ModuleQueried.d.cts.map +1 -0
- package/dist/node/EventsModels/ModuleQueried.js +2 -0
- package/dist/node/EventsModels/ModuleQueried.js.map +1 -1
- package/dist/node/EventsModels/index.d.cts +6 -0
- package/dist/node/EventsModels/index.d.cts.map +1 -0
- package/dist/node/EventsModels/index.js +2 -14
- package/dist/node/EventsModels/index.js.map +1 -1
- package/dist/node/EventsModels/index.mjs +0 -5
- package/dist/node/EventsModels/index.mjs.map +1 -1
- package/dist/node/Labels/Labels.d.cts +26 -0
- package/dist/node/Labels/Labels.d.cts.map +1 -0
- package/dist/node/Labels/Labels.js +4 -2
- package/dist/node/Labels/Labels.js.map +1 -1
- package/dist/node/Labels/Labels.mjs +3 -2
- package/dist/node/Labels/Labels.mjs.map +1 -1
- package/dist/node/Labels/index.d.cts +2 -0
- package/dist/node/Labels/index.d.cts.map +1 -0
- package/dist/node/Labels/index.js +19 -3
- package/dist/node/Labels/index.js.map +1 -1
- package/dist/node/Labels/index.mjs +11 -1
- package/dist/node/Labels/index.mjs.map +1 -1
- package/dist/node/ModuleDescription.d.cts +7 -0
- package/dist/node/ModuleDescription.d.cts.map +1 -0
- package/dist/node/ModuleDescription.js +2 -0
- package/dist/node/ModuleDescription.js.map +1 -1
- package/dist/node/ModuleParams.d.cts +11 -0
- package/dist/node/ModuleParams.d.cts.map +1 -0
- package/dist/node/ModuleParams.js +2 -0
- package/dist/node/ModuleParams.js.map +1 -1
- package/dist/node/ModuleQueryHandlerResult.d.cts +3 -0
- package/dist/node/ModuleQueryHandlerResult.d.cts.map +1 -0
- package/dist/node/ModuleQueryHandlerResult.js +2 -0
- package/dist/node/ModuleQueryHandlerResult.js.map +1 -1
- package/dist/node/ModuleQueryResult.d.cts +4 -0
- package/dist/node/ModuleQueryResult.d.cts.map +1 -0
- package/dist/node/ModuleQueryResult.js +2 -0
- package/dist/node/ModuleQueryResult.js.map +1 -1
- package/dist/node/Queries/Describe/Payload.d.cts +6 -0
- package/dist/node/Queries/Describe/Payload.d.cts.map +1 -0
- package/dist/node/Queries/Describe/Payload.js +3 -1
- package/dist/node/Queries/Describe/Payload.js.map +1 -1
- package/dist/node/Queries/Describe/Payload.mjs +2 -1
- package/dist/node/Queries/Describe/Payload.mjs.map +1 -1
- package/dist/node/Queries/Describe/Query.d.cts +7 -0
- package/dist/node/Queries/Describe/Query.d.cts.map +1 -0
- package/dist/node/Queries/Describe/Query.js +3 -1
- package/dist/node/Queries/Describe/Query.js.map +1 -1
- package/dist/node/Queries/Describe/Query.mjs +2 -1
- package/dist/node/Queries/Describe/Query.mjs.map +1 -1
- package/dist/node/Queries/Describe/index.d.cts +3 -0
- package/dist/node/Queries/Describe/index.d.cts.map +1 -0
- package/dist/node/Queries/Describe/index.js +18 -5
- package/dist/node/Queries/Describe/index.js.map +1 -1
- package/dist/node/Queries/Describe/index.mjs +9 -2
- package/dist/node/Queries/Describe/index.mjs.map +1 -1
- package/dist/node/Queries/Discover.d.cts +7 -0
- package/dist/node/Queries/Discover.d.cts.map +1 -0
- package/dist/node/Queries/Discover.js +3 -1
- package/dist/node/Queries/Discover.js.map +1 -1
- package/dist/node/Queries/Discover.mjs +2 -1
- package/dist/node/Queries/Discover.mjs.map +1 -1
- package/dist/node/Queries/Manifest.d.cts +7 -0
- package/dist/node/Queries/Manifest.d.cts.map +1 -0
- package/dist/node/Queries/Manifest.js +3 -1
- package/dist/node/Queries/Manifest.js.map +1 -1
- package/dist/node/Queries/Manifest.mjs +2 -1
- package/dist/node/Queries/Manifest.mjs.map +1 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.cts +9 -0
- package/dist/node/Queries/ModuleAddress/Payload.d.cts.map +1 -0
- package/dist/node/Queries/ModuleAddress/Payload.js +3 -1
- package/dist/node/Queries/ModuleAddress/Payload.js.map +1 -1
- package/dist/node/Queries/ModuleAddress/Payload.mjs +2 -1
- package/dist/node/Queries/ModuleAddress/Payload.mjs.map +1 -1
- package/dist/node/Queries/ModuleAddress/Query.d.cts +7 -0
- package/dist/node/Queries/ModuleAddress/Query.d.cts.map +1 -0
- package/dist/node/Queries/ModuleAddress/Query.js +3 -1
- package/dist/node/Queries/ModuleAddress/Query.js.map +1 -1
- package/dist/node/Queries/ModuleAddress/Query.mjs +2 -1
- package/dist/node/Queries/ModuleAddress/Query.mjs.map +1 -1
- package/dist/node/Queries/ModuleAddress/index.d.cts +3 -0
- package/dist/node/Queries/ModuleAddress/index.d.cts.map +1 -0
- package/dist/node/Queries/ModuleAddress/index.js +19 -5
- package/dist/node/Queries/ModuleAddress/index.js.map +1 -1
- package/dist/node/Queries/ModuleAddress/index.mjs +10 -2
- package/dist/node/Queries/ModuleAddress/index.mjs.map +1 -1
- package/dist/node/Queries/Subscribe.d.cts +17 -0
- package/dist/node/Queries/Subscribe.d.cts.map +1 -0
- package/dist/node/Queries/Subscribe.js +3 -1
- package/dist/node/Queries/Subscribe.js.map +1 -1
- package/dist/node/Queries/Subscribe.mjs +2 -1
- package/dist/node/Queries/Subscribe.mjs.map +1 -1
- package/dist/node/Queries/index.d.cts +14 -0
- package/dist/node/Queries/index.d.cts.map +1 -0
- package/dist/node/Queries/index.js +44 -11
- package/dist/node/Queries/index.js.map +1 -1
- package/dist/node/Queries/index.mjs +30 -5
- package/dist/node/Queries/index.mjs.map +1 -1
- package/dist/node/index.d.cts +14 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +373 -27
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +334 -13
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/instance/ModuleInstance.d.cts +41 -0
- package/dist/node/instance/ModuleInstance.d.cts.map +1 -0
- package/dist/node/instance/ModuleInstance.js +4 -2
- package/dist/node/instance/ModuleInstance.js.map +1 -1
- package/dist/node/instance/ModuleInstance.mjs +3 -2
- package/dist/node/instance/ModuleInstance.mjs.map +1 -1
- package/dist/node/instance/ModuleRepository.d.cts +9 -0
- package/dist/node/instance/ModuleRepository.d.cts.map +1 -0
- package/dist/node/instance/ModuleRepository.js +2 -0
- package/dist/node/instance/ModuleRepository.js.map +1 -1
- package/dist/node/instance/asModuleInstance.d.cts +5 -0
- package/dist/node/instance/asModuleInstance.d.cts.map +1 -0
- package/dist/node/instance/asModuleInstance.js +64 -2
- package/dist/node/instance/asModuleInstance.js.map +1 -1
- package/dist/node/instance/asModuleInstance.mjs +63 -2
- package/dist/node/instance/asModuleInstance.mjs.map +1 -1
- package/dist/node/instance/index.d.cts +5 -0
- package/dist/node/instance/index.d.cts.map +1 -0
- package/dist/node/instance/index.js +86 -9
- package/dist/node/instance/index.js.map +1 -1
- package/dist/node/instance/index.mjs +75 -4
- package/dist/node/instance/index.mjs.map +1 -1
- package/dist/node/instance/isModuleInstance.d.cts +5 -0
- package/dist/node/instance/isModuleInstance.d.cts.map +1 -0
- package/dist/node/instance/isModuleInstance.js +53 -4
- package/dist/node/instance/isModuleInstance.js.map +1 -1
- package/dist/node/instance/isModuleInstance.mjs +52 -4
- package/dist/node/instance/isModuleInstance.mjs.map +1 -1
- package/dist/node/lib/duplicateModules.d.cts +12 -0
- package/dist/node/lib/duplicateModules.d.cts.map +1 -0
- package/dist/node/lib/duplicateModules.js +3 -1
- package/dist/node/lib/duplicateModules.js.map +1 -1
- package/dist/node/lib/duplicateModules.mjs +2 -1
- package/dist/node/lib/duplicateModules.mjs.map +1 -1
- package/dist/node/lib/index.d.cts +3 -0
- package/dist/node/lib/index.d.cts.map +1 -0
- package/dist/node/lib/index.js +42 -5
- package/dist/node/lib/index.js.map +1 -1
- package/dist/node/lib/index.mjs +32 -2
- package/dist/node/lib/index.mjs.map +1 -1
- package/dist/node/lib/serializable.d.cts +3 -0
- package/dist/node/lib/serializable.d.cts.map +1 -0
- package/dist/node/lib/serializable.js +6 -4
- package/dist/node/lib/serializable.js.map +1 -1
- package/dist/node/lib/serializable.mjs +5 -4
- package/dist/node/lib/serializable.mjs.map +1 -1
- package/dist/node/module/IsModuleFactory.d.cts +7 -0
- package/dist/node/module/IsModuleFactory.d.cts.map +1 -0
- package/dist/node/module/IsModuleFactory.js +28 -7
- package/dist/node/module/IsModuleFactory.js.map +1 -1
- package/dist/node/module/IsModuleFactory.mjs +24 -6
- package/dist/node/module/IsModuleFactory.mjs.map +1 -1
- package/dist/node/module/Module.d.cts +6 -0
- package/dist/node/module/Module.d.cts.map +1 -0
- package/dist/node/module/Module.js +2 -0
- package/dist/node/module/Module.js.map +1 -1
- package/dist/node/module/ModuleFields.d.cts +18 -0
- package/dist/node/module/ModuleFields.d.cts.map +1 -0
- package/dist/node/module/ModuleFields.js +2 -0
- package/dist/node/module/ModuleFields.js.map +1 -1
- package/dist/node/module/ModuleQueryFunctions.d.cts +12 -0
- package/dist/node/module/ModuleQueryFunctions.d.cts.map +1 -0
- package/dist/node/module/ModuleQueryFunctions.js +2 -0
- package/dist/node/module/ModuleQueryFunctions.js.map +1 -1
- package/dist/node/module/asModule.d.cts +5 -0
- package/dist/node/module/asModule.d.cts.map +1 -0
- package/dist/node/module/asModule.js +51 -2
- package/dist/node/module/asModule.js.map +1 -1
- package/dist/node/module/asModule.mjs +50 -2
- package/dist/node/module/asModule.mjs.map +1 -1
- package/dist/node/module/asModuleObject.d.cts +5 -0
- package/dist/node/module/asModuleObject.d.cts.map +1 -0
- package/dist/node/module/asModuleObject.js +18 -2
- package/dist/node/module/asModuleObject.js.map +1 -1
- package/dist/node/module/asModuleObject.mjs +17 -2
- package/dist/node/module/asModuleObject.mjs.map +1 -1
- package/dist/node/module/index.d.cts +9 -0
- package/dist/node/module/index.d.cts.map +1 -0
- package/dist/node/module/index.js +74 -17
- package/dist/node/module/index.js.map +1 -1
- package/dist/node/module/index.mjs +60 -8
- package/dist/node/module/index.mjs.map +1 -1
- package/dist/node/module/isModule.d.cts +5 -0
- package/dist/node/module/isModule.d.cts.map +1 -0
- package/dist/node/module/isModule.js +42 -7
- package/dist/node/module/isModule.js.map +1 -1
- package/dist/node/module/isModule.mjs +38 -6
- package/dist/node/module/isModule.mjs.map +1 -1
- package/dist/node/module/isModuleObject.d.cts +5 -0
- package/dist/node/module/isModuleObject.d.cts.map +1 -0
- package/dist/node/module/isModuleObject.js +5 -3
- package/dist/node/module/isModuleObject.js.map +1 -1
- package/dist/node/module/isModuleObject.mjs +4 -3
- package/dist/node/module/isModuleObject.mjs.map +1 -1
- package/dist/node/withModule.d.cts +7 -0
- package/dist/node/withModule.d.cts.map +1 -0
- package/dist/node/withModule.js +66 -5
- package/dist/node/withModule.js.map +1 -1
- package/dist/node/withModule.mjs +63 -5
- package/dist/node/withModule.mjs.map +1 -1
- package/package.json +18 -18
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { AnyObject, WithAdditional } from '@xyo-network/core';
|
|
2
|
+
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
3
|
+
import { Labels } from './Labels';
|
|
4
|
+
export type ModuleConfigSchema = 'network.xyo.module.config';
|
|
5
|
+
export declare const ModuleConfigSchema: ModuleConfigSchema;
|
|
6
|
+
export type AddressString = string;
|
|
7
|
+
export type CosigningAddressSet = string[];
|
|
8
|
+
export type SchemaString = string;
|
|
9
|
+
export type NameOrAddress = string;
|
|
10
|
+
export interface IndividualArchivistConfig {
|
|
11
|
+
readonly commit?: NameOrAddress;
|
|
12
|
+
readonly read?: NameOrAddress;
|
|
13
|
+
readonly write?: NameOrAddress;
|
|
14
|
+
}
|
|
15
|
+
export type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig;
|
|
16
|
+
export type ModuleConfig<TConfig extends Payload | void = void, TAdditionalParams extends AnyObject | void = void, TSchema extends Schema | void = void> = Payload<WithAdditional<WithAdditional<{
|
|
17
|
+
/** @field The path to use when creating the account */
|
|
18
|
+
accountDerivationPath?: string;
|
|
19
|
+
/** @field The name/address of the Archivist to use for this module */
|
|
20
|
+
readonly archivist?: ArchivistModuleConfig;
|
|
21
|
+
/**
|
|
22
|
+
* @field The labels used for this module. If a label is specified, then the
|
|
23
|
+
* ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding
|
|
24
|
+
* labels to construct this module.
|
|
25
|
+
*/
|
|
26
|
+
readonly labels?: Labels;
|
|
27
|
+
/** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */
|
|
28
|
+
readonly name?: string;
|
|
29
|
+
/** @field paging settings for queries */
|
|
30
|
+
readonly paging?: Record<string, {
|
|
31
|
+
size?: number;
|
|
32
|
+
}>;
|
|
33
|
+
/** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */
|
|
34
|
+
readonly security?: {
|
|
35
|
+
/** @field Will the module process queries that have unsigned BoundWitness in query tuples */
|
|
36
|
+
readonly allowAnonymous?: boolean;
|
|
37
|
+
/** @field If schema in record, then only these address sets can access query */
|
|
38
|
+
readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
|
|
39
|
+
/** @field If schema in record, then anyone except these addresses can access query */
|
|
40
|
+
readonly disallowed?: Record<SchemaString, AddressString[]>;
|
|
41
|
+
};
|
|
42
|
+
/** @field sign every query */
|
|
43
|
+
readonly sign?: boolean;
|
|
44
|
+
/** @field Store the queries made to the module in an archivist if possible */
|
|
45
|
+
readonly storeQueries?: boolean;
|
|
46
|
+
/** @field add a timestamp payload to every query */
|
|
47
|
+
readonly timestamp?: boolean;
|
|
48
|
+
}, TConfig>, TAdditionalParams>, TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema>;
|
|
49
|
+
export type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & {
|
|
50
|
+
schema: string;
|
|
51
|
+
} = Omit<ModuleConfig, 'schema'> & {
|
|
52
|
+
schema: string;
|
|
53
|
+
}> = ModuleConfig<WithAdditional<Omit<TConfig, 'schema'>, {
|
|
54
|
+
schema: string;
|
|
55
|
+
}>>;
|
|
56
|
+
export type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {
|
|
57
|
+
schema?: TConfig['schema'];
|
|
58
|
+
};
|
|
59
|
+
export type AnyModuleConfig = AnyConfigSchema<ModuleConfig>;
|
|
60
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,MAAM,kBAAkB,GAAG,2BAA2B,CAAA;AAC5D,eAAO,MAAM,kBAAkB,EAAE,kBAAgD,CAAA;AAEjF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAClC,MAAM,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,yBAAyB,CAAA;AAE7E,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,OAAO,GAAG,IAAI,GAAG,IAAI,EACrC,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,EACjD,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAClC,OAAO,CACT,cAAc,CACZ,cAAc,CACZ;IACE,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAExB,gIAAgI;IAChI,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEnD,iMAAiM;IACjM,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,6FAA6F;QAC7F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;QAEjC,gFAAgF;QAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAEhF,sFAAsF;QACtF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAA;KAC5D,CAAA;IAED,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IAEvB,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAE/B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B,EACD,OAAO,CACR,EACD,iBAAiB,CAClB,EACD,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,OAAO,SAAS,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CACpG,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,IAC/I,YAAY,CACV,cAAc,CACZ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EACvB;IACE,MAAM,EAAE,MAAM,CAAA;CACf,CACF,CACF,CAAA;AAEH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,eAAe,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC1I,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA"}
|
package/dist/node/Config.js
CHANGED
|
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/Config.ts
|
|
19
21
|
var Config_exports = {};
|
|
20
22
|
__export(Config_exports, {
|
|
21
23
|
ModuleConfigSchema: () => ModuleConfigSchema
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(Config_exports);
|
|
24
|
-
|
|
26
|
+
var ModuleConfigSchema = "network.xyo.module.config";
|
|
25
27
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
28
|
0 && (module.exports = {
|
|
27
29
|
ModuleConfigSchema
|
package/dist/node/Config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AnyObject, WithAdditional } from '@xyo-network/core'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { Labels } from './Labels'\n\nexport type ModuleConfigSchema = 'network.xyo.module.config'\nexport const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config'\n\nexport type AddressString = string\nexport type CosigningAddressSet = string[]\nexport type SchemaString = string\n\nexport type NameOrAddress = string\n\nexport interface IndividualArchivistConfig {\n readonly commit?: NameOrAddress\n readonly read?: NameOrAddress\n readonly write?: NameOrAddress\n}\n\nexport type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig\n\nexport type ModuleConfig<\n TConfig extends Payload | void = void,\n TAdditionalParams extends AnyObject | void = void,\n TSchema extends Schema | void = void,\n> = Payload<\n WithAdditional<\n WithAdditional<\n {\n /** @field The path to use when creating the account */\n accountDerivationPath?: string\n\n /** @field The name/address of the Archivist to use for this module */\n readonly archivist?: ArchivistModuleConfig\n\n /**\n * @field The labels used for this module. If a label is specified, then the\n * ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding\n * labels to construct this module.\n */\n readonly labels?: Labels\n\n /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */\n readonly name?: string\n\n /** @field paging settings for queries */\n readonly paging?: Record<string, { size?: number }>\n\n /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */\n readonly security?: {\n /** @field Will the module process queries that have unsigned BoundWitness in query tuples */\n readonly allowAnonymous?: boolean\n\n /** @field If schema in record, then only these address sets can access query */\n readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>\n\n /** @field If schema in record, then anyone except these addresses can access query */\n readonly disallowed?: Record<SchemaString, AddressString[]>\n }\n\n /** @field sign every query */\n readonly sign?: boolean\n\n /** @field Store the queries made to the module in an archivist if possible */\n readonly storeQueries?: boolean\n\n /** @field add a timestamp payload to every query */\n readonly timestamp?: boolean\n },\n TConfig\n >,\n TAdditionalParams\n >,\n TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema\n>\n\nexport type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: string } = Omit<ModuleConfig, 'schema'> & { schema: string }> =\n ModuleConfig<\n WithAdditional<\n Omit<TConfig, 'schema'>,\n {\n schema: string\n }\n >\n >\n\nexport type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {\n schema?: TConfig['schema']\n}\n\nexport type AnyModuleConfig = AnyConfigSchema<ModuleConfig>\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AnyObject, WithAdditional } from '@xyo-network/core'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { Labels } from './Labels'\n\nexport type ModuleConfigSchema = 'network.xyo.module.config'\nexport const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config'\n\nexport type AddressString = string\nexport type CosigningAddressSet = string[]\nexport type SchemaString = string\n\nexport type NameOrAddress = string\n\nexport interface IndividualArchivistConfig {\n readonly commit?: NameOrAddress\n readonly read?: NameOrAddress\n readonly write?: NameOrAddress\n}\n\nexport type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig\n\nexport type ModuleConfig<\n TConfig extends Payload | void = void,\n TAdditionalParams extends AnyObject | void = void,\n TSchema extends Schema | void = void,\n> = Payload<\n WithAdditional<\n WithAdditional<\n {\n /** @field The path to use when creating the account */\n accountDerivationPath?: string\n\n /** @field The name/address of the Archivist to use for this module */\n readonly archivist?: ArchivistModuleConfig\n\n /**\n * @field The labels used for this module. If a label is specified, then the\n * ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding\n * labels to construct this module.\n */\n readonly labels?: Labels\n\n /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */\n readonly name?: string\n\n /** @field paging settings for queries */\n readonly paging?: Record<string, { size?: number }>\n\n /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */\n readonly security?: {\n /** @field Will the module process queries that have unsigned BoundWitness in query tuples */\n readonly allowAnonymous?: boolean\n\n /** @field If schema in record, then only these address sets can access query */\n readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>\n\n /** @field If schema in record, then anyone except these addresses can access query */\n readonly disallowed?: Record<SchemaString, AddressString[]>\n }\n\n /** @field sign every query */\n readonly sign?: boolean\n\n /** @field Store the queries made to the module in an archivist if possible */\n readonly storeQueries?: boolean\n\n /** @field add a timestamp payload to every query */\n readonly timestamp?: boolean\n },\n TConfig\n >,\n TAdditionalParams\n >,\n TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema\n>\n\nexport type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: string } = Omit<ModuleConfig, 'schema'> & { schema: string }> =\n ModuleConfig<\n WithAdditional<\n Omit<TConfig, 'schema'>,\n {\n schema: string\n }\n >\n >\n\nexport type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {\n schema?: TConfig['schema']\n}\n\nexport type AnyModuleConfig = AnyConfigSchema<ModuleConfig>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAM,qBAAyC;","names":[]}
|
package/dist/node/Config.mjs
CHANGED
package/dist/node/Config.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AnyObject, WithAdditional } from '@xyo-network/core'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { Labels } from './Labels'\n\nexport type ModuleConfigSchema = 'network.xyo.module.config'\nexport const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config'\n\nexport type AddressString = string\nexport type CosigningAddressSet = string[]\nexport type SchemaString = string\n\nexport type NameOrAddress = string\n\nexport interface IndividualArchivistConfig {\n readonly commit?: NameOrAddress\n readonly read?: NameOrAddress\n readonly write?: NameOrAddress\n}\n\nexport type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig\n\nexport type ModuleConfig<\n TConfig extends Payload | void = void,\n TAdditionalParams extends AnyObject | void = void,\n TSchema extends Schema | void = void,\n> = Payload<\n WithAdditional<\n WithAdditional<\n {\n /** @field The path to use when creating the account */\n accountDerivationPath?: string\n\n /** @field The name/address of the Archivist to use for this module */\n readonly archivist?: ArchivistModuleConfig\n\n /**\n * @field The labels used for this module. If a label is specified, then the\n * ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding\n * labels to construct this module.\n */\n readonly labels?: Labels\n\n /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */\n readonly name?: string\n\n /** @field paging settings for queries */\n readonly paging?: Record<string, { size?: number }>\n\n /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */\n readonly security?: {\n /** @field Will the module process queries that have unsigned BoundWitness in query tuples */\n readonly allowAnonymous?: boolean\n\n /** @field If schema in record, then only these address sets can access query */\n readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>\n\n /** @field If schema in record, then anyone except these addresses can access query */\n readonly disallowed?: Record<SchemaString, AddressString[]>\n }\n\n /** @field sign every query */\n readonly sign?: boolean\n\n /** @field Store the queries made to the module in an archivist if possible */\n readonly storeQueries?: boolean\n\n /** @field add a timestamp payload to every query */\n readonly timestamp?: boolean\n },\n TConfig\n >,\n TAdditionalParams\n >,\n TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema\n>\n\nexport type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: string } = Omit<ModuleConfig, 'schema'> & { schema: string }> =\n ModuleConfig<\n WithAdditional<\n Omit<TConfig, 'schema'>,\n {\n schema: string\n }\n >\n >\n\nexport type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {\n schema?: TConfig['schema']\n}\n\nexport type AnyModuleConfig = AnyConfigSchema<ModuleConfig>\n"],"mappings":"AAMO,
|
|
1
|
+
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["import { AnyObject, WithAdditional } from '@xyo-network/core'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { Labels } from './Labels'\n\nexport type ModuleConfigSchema = 'network.xyo.module.config'\nexport const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config'\n\nexport type AddressString = string\nexport type CosigningAddressSet = string[]\nexport type SchemaString = string\n\nexport type NameOrAddress = string\n\nexport interface IndividualArchivistConfig {\n readonly commit?: NameOrAddress\n readonly read?: NameOrAddress\n readonly write?: NameOrAddress\n}\n\nexport type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig\n\nexport type ModuleConfig<\n TConfig extends Payload | void = void,\n TAdditionalParams extends AnyObject | void = void,\n TSchema extends Schema | void = void,\n> = Payload<\n WithAdditional<\n WithAdditional<\n {\n /** @field The path to use when creating the account */\n accountDerivationPath?: string\n\n /** @field The name/address of the Archivist to use for this module */\n readonly archivist?: ArchivistModuleConfig\n\n /**\n * @field The labels used for this module. If a label is specified, then the\n * ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding\n * labels to construct this module.\n */\n readonly labels?: Labels\n\n /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */\n readonly name?: string\n\n /** @field paging settings for queries */\n readonly paging?: Record<string, { size?: number }>\n\n /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */\n readonly security?: {\n /** @field Will the module process queries that have unsigned BoundWitness in query tuples */\n readonly allowAnonymous?: boolean\n\n /** @field If schema in record, then only these address sets can access query */\n readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>\n\n /** @field If schema in record, then anyone except these addresses can access query */\n readonly disallowed?: Record<SchemaString, AddressString[]>\n }\n\n /** @field sign every query */\n readonly sign?: boolean\n\n /** @field Store the queries made to the module in an archivist if possible */\n readonly storeQueries?: boolean\n\n /** @field add a timestamp payload to every query */\n readonly timestamp?: boolean\n },\n TConfig\n >,\n TAdditionalParams\n >,\n TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema\n>\n\nexport type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: string } = Omit<ModuleConfig, 'schema'> & { schema: string }> =\n ModuleConfig<\n WithAdditional<\n Omit<TConfig, 'schema'>,\n {\n schema: string\n }\n >\n >\n\nexport type OptionalConfigSchema<TConfig extends AnyConfigSchema<ModuleConfig> = AnyConfigSchema<ModuleConfig>> = Omit<TConfig, 'schema'> & {\n schema?: TConfig['schema']\n}\n\nexport type AnyModuleConfig = AnyConfigSchema<ModuleConfig>\n"],"mappings":";AAMO,IAAM,qBAAyC;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { Logger } from '@xyo-network/logger';
|
|
3
|
+
import { ModuleInstance } from '../instance';
|
|
4
|
+
export type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {
|
|
5
|
+
create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>;
|
|
6
|
+
};
|
|
7
|
+
export interface CreatableModule<T extends ModuleInstance = ModuleInstance> {
|
|
8
|
+
configSchema: string;
|
|
9
|
+
configSchemas: string[];
|
|
10
|
+
defaultLogger?: Logger;
|
|
11
|
+
new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T;
|
|
12
|
+
_noOverride(functionName: string): void;
|
|
13
|
+
create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>;
|
|
14
|
+
factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Class annotation to be used to decorate Modules which support
|
|
18
|
+
* an asynchronous creation pattern
|
|
19
|
+
* @returns The decorated Module requiring it implement the members
|
|
20
|
+
* of the CreatableModule as statics properties/methods
|
|
21
|
+
*/
|
|
22
|
+
export declare function creatableModule<TModule extends ModuleInstance = ModuleInstance>(): <U extends CreatableModule<TModule>>(constructor: U) => void;
|
|
23
|
+
//# sourceMappingURL=CreatableModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatableModule.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/CreatableModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG;IAChI,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACpG,CAAA;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACxE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,CAAC,CAAA;IACrF,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5F,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAC7G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,kEAI9E"}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/CreatableModule/CreatableModule.ts
|
|
19
21
|
var CreatableModule_exports = {};
|
|
20
22
|
__export(CreatableModule_exports, {
|
|
21
23
|
creatableModule: () => creatableModule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/CreatableModule.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\n\nexport type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>\n}\n\nexport interface CreatableModule<T extends ModuleInstance = ModuleInstance> {\n configSchema: string\n configSchemas: string[]\n defaultLogger?: Logger\n new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T\n _noOverride(functionName: string): void\n create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>\n factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function creatableModule<TModule extends ModuleInstance = ModuleInstance>() {\n return <U extends CreatableModule<TModule>>(constructor: U) => {\n constructor\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/CreatableModule.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\n\nexport type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>\n}\n\nexport interface CreatableModule<T extends ModuleInstance = ModuleInstance> {\n configSchema: string\n configSchemas: string[]\n defaultLogger?: Logger\n new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T\n _noOverride(functionName: string): void\n create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>\n factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function creatableModule<TModule extends ModuleInstance = ModuleInstance>() {\n return <U extends CreatableModule<TModule>>(constructor: U) => {\n constructor\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBO,SAAS,kBAAmE;AACjF,SAAO,CAAqC,gBAAmB;AAC7D;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/CreatableModule.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\n\nexport type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>\n}\n\nexport interface CreatableModule<T extends ModuleInstance = ModuleInstance> {\n configSchema: string\n configSchemas: string[]\n defaultLogger?: Logger\n new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T\n _noOverride(functionName: string): void\n create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>\n factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function creatableModule<TModule extends ModuleInstance = ModuleInstance>() {\n return <U extends CreatableModule<TModule>>(constructor: U) => {\n constructor\n }\n}\n"],"mappings":"AAyBO,SAAS,kBAAmE;AACjF,SAAO,CAAqC,gBAAmB;AAC7D;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/CreatableModule.ts"],"sourcesContent":["import { AccountInstance } from '@xyo-network/account-model'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\n\nexport type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>\n}\n\nexport interface CreatableModule<T extends ModuleInstance = ModuleInstance> {\n configSchema: string\n configSchemas: string[]\n defaultLogger?: Logger\n new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T\n _noOverride(functionName: string): void\n create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>\n factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>\n}\n\n/**\n * Class annotation to be used to decorate Modules which support\n * an asynchronous creation pattern\n * @returns The decorated Module requiring it implement the members\n * of the CreatableModule as statics properties/methods\n */\nexport function creatableModule<TModule extends ModuleInstance = ModuleInstance>() {\n return <U extends CreatableModule<TModule>>(constructor: U) => {\n constructor\n }\n}\n"],"mappings":";AAyBO,SAAS,kBAAmE;AACjF,SAAO,CAAqC,gBAAmB;AAC7D;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatableModuleDictionary.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/CreatableModuleDictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;CACtC"}
|
|
@@ -12,6 +12,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
12
12
|
return to;
|
|
13
13
|
};
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/CreatableModule/CreatableModuleDictionary.ts
|
|
15
17
|
var CreatableModuleDictionary_exports = {};
|
|
16
18
|
module.exports = __toCommonJS(CreatableModuleDictionary_exports);
|
|
17
19
|
//# sourceMappingURL=CreatableModuleDictionary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleDictionary.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\n\nexport interface CreatableModuleDictionary {\n [key: string]: CreatableModuleFactory\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleDictionary.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\n\nexport interface CreatableModuleDictionary {\n [key: string]: CreatableModuleFactory\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CreatableModuleFactory } from './CreatableModule';
|
|
2
|
+
import { CreatableModuleDictionary } from './CreatableModuleDictionary';
|
|
3
|
+
import { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory';
|
|
4
|
+
export interface CreatableModuleRegistry {
|
|
5
|
+
[key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare const toCreatableModuleRegistry: (dict: CreatableModuleDictionary | CreatableModuleRegistry) => CreatableModuleRegistry;
|
|
8
|
+
export declare const assignCreatableModuleRegistry: (target?: CreatableModuleRegistry, ...sources: CreatableModuleRegistry[]) => CreatableModuleRegistry;
|
|
9
|
+
//# sourceMappingURL=CreatableModuleRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatableModuleRegistry.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,sBAAsB,GAAG,6BAA6B,CAAC,EAAE,GAAG,SAAS,CAAA;CACtF;AAED,eAAO,MAAM,yBAAyB,SAAU,yBAAyB,GAAG,uBAAuB,KAAG,uBAKrG,CAAA;AAED,eAAO,MAAM,6BAA6B,YAChC,uBAAuB,cACnB,uBAAuB,EAAE,KACpC,uBAUF,CAAA"}
|
|
@@ -16,19 +16,21 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/CreatableModule/CreatableModuleRegistry.ts
|
|
19
21
|
var CreatableModuleRegistry_exports = {};
|
|
20
22
|
__export(CreatableModuleRegistry_exports, {
|
|
21
23
|
assignCreatableModuleRegistry: () => assignCreatableModuleRegistry,
|
|
22
24
|
toCreatableModuleRegistry: () => toCreatableModuleRegistry
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(CreatableModuleRegistry_exports);
|
|
25
|
-
|
|
27
|
+
var toCreatableModuleRegistry = (dict) => {
|
|
26
28
|
return Object.entries(dict).reduce((registry, [schema, factory]) => {
|
|
27
29
|
registry[schema] = Array.isArray(factory) ? factory : [factory];
|
|
28
30
|
return registry;
|
|
29
31
|
}, {});
|
|
30
32
|
};
|
|
31
|
-
|
|
33
|
+
var assignCreatableModuleRegistry = (target = {}, ...sources) => {
|
|
32
34
|
sources.map(
|
|
33
35
|
(source) => Object.entries(source).map(([schema, factories]) => {
|
|
34
36
|
if (factories) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\nimport { CreatableModuleDictionary } from './CreatableModuleDictionary'\nimport { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'\n\nexport interface CreatableModuleRegistry {\n [key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined\n}\n\nexport const toCreatableModuleRegistry = (dict: CreatableModuleDictionary | CreatableModuleRegistry): CreatableModuleRegistry => {\n return Object.entries(dict).reduce((registry, [schema, factory]) => {\n registry[schema] = Array.isArray(factory) ? factory : [factory]\n return registry\n }, {} as CreatableModuleRegistry)\n}\n\nexport const assignCreatableModuleRegistry = (\n target: CreatableModuleRegistry = {},\n ...sources: CreatableModuleRegistry[]\n): CreatableModuleRegistry => {\n sources.map((source) =>\n Object.entries(source).map(([schema, factories]) => {\n if (factories) {\n const existingFactories = target[schema]\n target[schema] = existingFactories ? (target[schema] = [...existingFactories, ...factories]) : factories\n }\n }),\n )\n return target\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\nimport { CreatableModuleDictionary } from './CreatableModuleDictionary'\nimport { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'\n\nexport interface CreatableModuleRegistry {\n [key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined\n}\n\nexport const toCreatableModuleRegistry = (dict: CreatableModuleDictionary | CreatableModuleRegistry): CreatableModuleRegistry => {\n return Object.entries(dict).reduce((registry, [schema, factory]) => {\n registry[schema] = Array.isArray(factory) ? factory : [factory]\n return registry\n }, {} as CreatableModuleRegistry)\n}\n\nexport const assignCreatableModuleRegistry = (\n target: CreatableModuleRegistry = {},\n ...sources: CreatableModuleRegistry[]\n): CreatableModuleRegistry => {\n sources.map((source) =>\n Object.entries(source).map(([schema, factories]) => {\n if (factories) {\n const existingFactories = target[schema]\n target[schema] = existingFactories ? (target[schema] = [...existingFactories, ...factories]) : factories\n }\n }),\n )\n return target\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,IAAM,4BAA4B,CAAC,SAAuF;AAC/H,SAAO,OAAO,QAAQ,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,OAAO,MAAM;AAClE,aAAS,MAAM,IAAI,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAC9D,WAAO;AAAA,EACT,GAAG,CAAC,CAA4B;AAClC;AAEO,IAAM,gCAAgC,CAC3C,SAAkC,CAAC,MAChC,YACyB;AAC5B,UAAQ;AAAA,IAAI,CAAC,WACX,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,SAAS,MAAM;AAClD,UAAI,WAAW;AACb,cAAM,oBAAoB,OAAO,MAAM;AACvC,eAAO,MAAM,IAAI,oBAAqB,OAAO,MAAM,IAAI,CAAC,GAAG,mBAAmB,GAAG,SAAS,IAAK;AAAA,MACjG;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAO;AACT;","names":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
// src/CreatableModule/CreatableModuleRegistry.ts
|
|
2
|
+
var toCreatableModuleRegistry = (dict) => {
|
|
2
3
|
return Object.entries(dict).reduce((registry, [schema, factory]) => {
|
|
3
4
|
registry[schema] = Array.isArray(factory) ? factory : [factory];
|
|
4
5
|
return registry;
|
|
5
6
|
}, {});
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
+
var assignCreatableModuleRegistry = (target = {}, ...sources) => {
|
|
8
9
|
sources.map(
|
|
9
10
|
(source) => Object.entries(source).map(([schema, factories]) => {
|
|
10
11
|
if (factories) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\nimport { CreatableModuleDictionary } from './CreatableModuleDictionary'\nimport { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'\n\nexport interface CreatableModuleRegistry {\n [key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined\n}\n\nexport const toCreatableModuleRegistry = (dict: CreatableModuleDictionary | CreatableModuleRegistry): CreatableModuleRegistry => {\n return Object.entries(dict).reduce((registry, [schema, factory]) => {\n registry[schema] = Array.isArray(factory) ? factory : [factory]\n return registry\n }, {} as CreatableModuleRegistry)\n}\n\nexport const assignCreatableModuleRegistry = (\n target: CreatableModuleRegistry = {},\n ...sources: CreatableModuleRegistry[]\n): CreatableModuleRegistry => {\n sources.map((source) =>\n Object.entries(source).map(([schema, factories]) => {\n if (factories) {\n const existingFactories = target[schema]\n target[schema] = existingFactories ? (target[schema] = [...existingFactories, ...factories]) : factories\n }\n }),\n )\n return target\n}\n"],"mappings":"AAQO,
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"sourcesContent":["import { CreatableModuleFactory } from './CreatableModule'\nimport { CreatableModuleDictionary } from './CreatableModuleDictionary'\nimport { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'\n\nexport interface CreatableModuleRegistry {\n [key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined\n}\n\nexport const toCreatableModuleRegistry = (dict: CreatableModuleDictionary | CreatableModuleRegistry): CreatableModuleRegistry => {\n return Object.entries(dict).reduce((registry, [schema, factory]) => {\n registry[schema] = Array.isArray(factory) ? factory : [factory]\n return registry\n }, {} as CreatableModuleRegistry)\n}\n\nexport const assignCreatableModuleRegistry = (\n target: CreatableModuleRegistry = {},\n ...sources: CreatableModuleRegistry[]\n): CreatableModuleRegistry => {\n sources.map((source) =>\n Object.entries(source).map(([schema, factories]) => {\n if (factories) {\n const existingFactories = target[schema]\n target[schema] = existingFactories ? (target[schema] = [...existingFactories, ...factories]) : factories\n }\n }),\n )\n return target\n}\n"],"mappings":";AAQO,IAAM,4BAA4B,CAAC,SAAuF;AAC/H,SAAO,OAAO,QAAQ,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,OAAO,MAAM;AAClE,aAAS,MAAM,IAAI,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAC9D,WAAO;AAAA,EACT,GAAG,CAAC,CAA4B;AAClC;AAEO,IAAM,gCAAgC,CAC3C,SAAkC,CAAC,MAChC,YACyB;AAC5B,UAAQ;AAAA,IAAI,CAAC,WACX,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,SAAS,MAAM;AAClD,UAAI,WAAW;AACb,cAAM,oBAAoB,OAAO,MAAM;AACvC,eAAO,MAAM,IAAI,oBAAqB,OAAO,MAAM,IAAI,CAAC,GAAG,mBAAmB,GAAG,SAAS,IAAK;AAAA,MACjG;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModuleInstance } from '../instance';
|
|
2
|
+
import { WithOptionalLabels } from '../Labels';
|
|
3
|
+
import { CreatableModuleFactory } from './CreatableModule';
|
|
4
|
+
export type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels;
|
|
5
|
+
export declare const hasLabels: (factory: CreatableModuleFactory | LabeledCreatableModuleFactory) => factory is LabeledCreatableModuleFactory<ModuleInstance>;
|
|
6
|
+
//# sourceMappingURL=LabeledCreatableModuleFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabeledCreatableModuleFactory.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/LabeledCreatableModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAA;AAErI,eAAO,MAAM,SAAS,YAAa,sBAAsB,GAAG,6BAA6B,6DAExF,CAAA"}
|
|
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/CreatableModule/LabeledCreatableModuleFactory.ts
|
|
19
21
|
var LabeledCreatableModuleFactory_exports = {};
|
|
20
22
|
__export(LabeledCreatableModuleFactory_exports, {
|
|
21
23
|
hasLabels: () => hasLabels
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(LabeledCreatableModuleFactory_exports);
|
|
24
|
-
|
|
26
|
+
var hasLabels = (factory) => {
|
|
25
27
|
return factory.labels !== void 0;
|
|
26
28
|
};
|
|
27
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/LabeledCreatableModuleFactory.ts"],"sourcesContent":["import { ModuleInstance } from '../instance'\nimport { WithOptionalLabels } from '../Labels'\nimport { CreatableModuleFactory } from './CreatableModule'\n\nexport type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels\n\nexport const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {\n return (factory as LabeledCreatableModuleFactory).labels !== undefined\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/LabeledCreatableModuleFactory.ts"],"sourcesContent":["import { ModuleInstance } from '../instance'\nimport { WithOptionalLabels } from '../Labels'\nimport { CreatableModuleFactory } from './CreatableModule'\n\nexport type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels\n\nexport const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {\n return (factory as LabeledCreatableModuleFactory).labels !== undefined\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAM,YAAY,CAAC,YAA8G;AACtI,SAAQ,QAA0C,WAAW;AAC/D;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/LabeledCreatableModuleFactory.ts"],"sourcesContent":["import { ModuleInstance } from '../instance'\nimport { WithOptionalLabels } from '../Labels'\nimport { CreatableModuleFactory } from './CreatableModule'\n\nexport type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels\n\nexport const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {\n return (factory as LabeledCreatableModuleFactory).labels !== undefined\n}\n"],"mappings":"AAMO,
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/LabeledCreatableModuleFactory.ts"],"sourcesContent":["import { ModuleInstance } from '../instance'\nimport { WithOptionalLabels } from '../Labels'\nimport { CreatableModuleFactory } from './CreatableModule'\n\nexport type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels\n\nexport const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {\n return (factory as LabeledCreatableModuleFactory).labels !== undefined\n}\n"],"mappings":";AAMO,IAAM,YAAY,CAAC,YAA8G;AACtI,SAAQ,QAA0C,WAAW;AAC/D;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Logger } from '@xyo-network/logger';
|
|
2
|
+
import { ModuleInstance } from '../instance';
|
|
3
|
+
import { Labels } from '../Labels';
|
|
4
|
+
import { CreatableModule, CreatableModuleFactory } from './CreatableModule';
|
|
5
|
+
export declare class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {
|
|
6
|
+
configSchemas: CreatableModuleFactory<TModule>['configSchemas'];
|
|
7
|
+
creatableModule: CreatableModule<TModule>;
|
|
8
|
+
defaultLogger?: Logger | undefined;
|
|
9
|
+
defaultParams?: Omit<TModule['params'], 'config'> & {
|
|
10
|
+
config?: TModule['params']['config'];
|
|
11
|
+
};
|
|
12
|
+
labels?: Labels;
|
|
13
|
+
constructor(creatableModule: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
|
|
14
|
+
config?: TModule['params']['config'];
|
|
15
|
+
}, labels?: Labels);
|
|
16
|
+
get configSchema(): string;
|
|
17
|
+
static withParams<T extends ModuleInstance>(creatableModule: CreatableModule<T>, params?: Omit<T['params'], 'config'> & {
|
|
18
|
+
config?: T['params']['config'];
|
|
19
|
+
}, labels?: Labels): ModuleFactory<T>;
|
|
20
|
+
_getRootFunction(funcName: string): any;
|
|
21
|
+
_noOverride(functionName: string): void;
|
|
22
|
+
create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T>;
|
|
23
|
+
factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ModuleFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleFactory.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/ModuleFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAsB,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,qBAAa,aAAa,CAAC,OAAO,SAAS,cAAc,CAAE,YAAW,sBAAsB,CAAC,OAAO,CAAC;IACnG,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IAE/D,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAEzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAElC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAA;IAE5F,MAAM,CAAC,EAAE,MAAM,CAAA;gBAGb,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,EACzC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE,EACrF,MAAM,GAAE,MAAW;IAQrB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,cAAc,EACxC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE,EACzE,MAAM,GAAE,MAAW;IAKrB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IASjC,WAAW,CAAC,YAAY,EAAE,MAAM;IAQhC,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IASrH,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC;CAG1H"}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/CreatableModule/ModuleFactory.ts
|
|
19
21
|
var ModuleFactory_exports = {};
|
|
20
22
|
__export(ModuleFactory_exports, {
|
|
21
23
|
ModuleFactory: () => ModuleFactory
|
|
@@ -23,7 +25,7 @@ __export(ModuleFactory_exports, {
|
|
|
23
25
|
module.exports = __toCommonJS(ModuleFactory_exports);
|
|
24
26
|
var import_assert = require("@xylabs/assert");
|
|
25
27
|
var import_lodash = require("@xylabs/lodash");
|
|
26
|
-
|
|
28
|
+
var ModuleFactory = class _ModuleFactory {
|
|
27
29
|
configSchemas;
|
|
28
30
|
creatableModule;
|
|
29
31
|
defaultLogger;
|
|
@@ -39,7 +41,7 @@ class ModuleFactory {
|
|
|
39
41
|
return this.configSchemas[0];
|
|
40
42
|
}
|
|
41
43
|
static withParams(creatableModule, params, labels = {}) {
|
|
42
|
-
return new
|
|
44
|
+
return new _ModuleFactory(creatableModule, params, labels);
|
|
43
45
|
}
|
|
44
46
|
_getRootFunction(funcName) {
|
|
45
47
|
let anyThis = this;
|
|
@@ -54,17 +56,18 @@ class ModuleFactory {
|
|
|
54
56
|
(0, import_assert.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
55
57
|
}
|
|
56
58
|
create(params) {
|
|
59
|
+
var _a;
|
|
57
60
|
const factory = this;
|
|
58
61
|
const schema = factory.creatableModule.configSchema;
|
|
59
62
|
const mergedParams = (0, import_lodash.merge)({}, factory.defaultParams, params, {
|
|
60
|
-
config: (0, import_lodash.merge)({}, factory.defaultParams
|
|
63
|
+
config: (0, import_lodash.merge)({}, (_a = factory.defaultParams) == null ? void 0 : _a.config, params == null ? void 0 : params.config, { schema })
|
|
61
64
|
});
|
|
62
65
|
return factory.creatableModule.create(mergedParams);
|
|
63
66
|
}
|
|
64
67
|
factory(_params) {
|
|
65
68
|
throw new Error("Method not implemented.");
|
|
66
69
|
}
|
|
67
|
-
}
|
|
70
|
+
};
|
|
68
71
|
// Annotate the CommonJS export names for ESM import in node:
|
|
69
72
|
0 && (module.exports = {
|
|
70
73
|
ModuleFactory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/ModuleFactory.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { merge } from '@xylabs/lodash'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\nimport { Labels, WithOptionalLabels } from '../Labels'\nimport { CreatableModule, CreatableModuleFactory } from './CreatableModule'\n\nexport class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {\n configSchemas: CreatableModuleFactory<TModule>['configSchemas']\n\n creatableModule: CreatableModule<TModule>\n\n defaultLogger?: Logger | undefined\n\n defaultParams?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] }\n\n labels?: Labels\n\n constructor(\n creatableModule: CreatableModule<TModule>,\n params?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] },\n labels: Labels = {},\n ) {\n this.creatableModule = creatableModule\n this.defaultParams = params\n this.configSchemas = creatableModule.configSchemas\n this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})\n }\n\n get configSchema(): string {\n return this.configSchemas[0]\n }\n\n static withParams<T extends ModuleInstance>(\n creatableModule: CreatableModule<T>,\n params?: Omit<T['params'], 'config'> & { config?: T['params']['config'] },\n labels: Labels = {},\n ) {\n return new ModuleFactory(creatableModule, params, labels)\n }\n\n _getRootFunction(funcName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let anyThis = this as any\n while (anyThis.__proto__[funcName]) {\n anyThis = anyThis.__proto__\n }\n return anyThis[funcName]\n }\n\n _noOverride(functionName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const thisFunc = (this as any)[functionName]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootFunc = this._getRootFunction(functionName)\n assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`)\n }\n\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T> {\n const factory = this as ModuleFactory<T>\n const schema = factory.creatableModule.configSchema\n const mergedParams: TModule['params'] = merge({}, factory.defaultParams, params, {\n config: merge({}, factory.defaultParams?.config, params?.config, { schema }),\n })\n return factory.creatableModule.create<T>(mergedParams)\n }\n\n factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T> {\n throw new Error('Method not implemented.')\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/ModuleFactory.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { merge } from '@xylabs/lodash'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\nimport { Labels, WithOptionalLabels } from '../Labels'\nimport { CreatableModule, CreatableModuleFactory } from './CreatableModule'\n\nexport class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {\n configSchemas: CreatableModuleFactory<TModule>['configSchemas']\n\n creatableModule: CreatableModule<TModule>\n\n defaultLogger?: Logger | undefined\n\n defaultParams?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] }\n\n labels?: Labels\n\n constructor(\n creatableModule: CreatableModule<TModule>,\n params?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] },\n labels: Labels = {},\n ) {\n this.creatableModule = creatableModule\n this.defaultParams = params\n this.configSchemas = creatableModule.configSchemas\n this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})\n }\n\n get configSchema(): string {\n return this.configSchemas[0]\n }\n\n static withParams<T extends ModuleInstance>(\n creatableModule: CreatableModule<T>,\n params?: Omit<T['params'], 'config'> & { config?: T['params']['config'] },\n labels: Labels = {},\n ) {\n return new ModuleFactory(creatableModule, params, labels)\n }\n\n _getRootFunction(funcName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let anyThis = this as any\n while (anyThis.__proto__[funcName]) {\n anyThis = anyThis.__proto__\n }\n return anyThis[funcName]\n }\n\n _noOverride(functionName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const thisFunc = (this as any)[functionName]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootFunc = this._getRootFunction(functionName)\n assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`)\n }\n\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T> {\n const factory = this as ModuleFactory<T>\n const schema = factory.creatableModule.configSchema\n const mergedParams: TModule['params'] = merge({}, factory.defaultParams, params, {\n config: merge({}, factory.defaultParams?.config, params?.config, { schema }),\n })\n return factory.creatableModule.create<T>(mergedParams)\n }\n\n factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T> {\n throw new Error('Method not implemented.')\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyB;AACzB,oBAAsB;AAOf,IAAM,gBAAN,MAAM,eAAyF;AAAA,EACpG;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YACE,iBACA,QACA,SAAiB,CAAC,GAClB;AACA,SAAK,kBAAkB;AACvB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB,gBAAgB;AACrC,SAAK,SAAS,OAAO,OAAO,CAAC,GAAI,gBAAuC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAAA,EACpG;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO,KAAK,cAAc,CAAC;AAAA,EAC7B;AAAA,EAEA,OAAO,WACL,iBACA,QACA,SAAiB,CAAC,GAClB;AACA,WAAO,IAAI,eAAc,iBAAiB,QAAQ,MAAM;AAAA,EAC1D;AAAA,EAEA,iBAAiB,UAAkB;AAEjC,QAAI,UAAU;AACd,WAAO,QAAQ,UAAU,QAAQ,GAAG;AAClC,gBAAU,QAAQ;AAAA,IACpB;AACA,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,YAAY,cAAsB;AAEhC,UAAM,WAAY,KAAa,YAAY;AAE3C,UAAM,WAAW,KAAK,iBAAiB,YAAY;AACnD,gCAAS,aAAa,UAAU,6BAA6B,YAAY,gBAAgB,YAAY,iBAAiB;AAAA,EACxH;AAAA,EAEA,OAAkE,QAAoD;AA3DxH;AA4DI,UAAM,UAAU;AAChB,UAAM,SAAS,QAAQ,gBAAgB;AACvC,UAAM,mBAAkC,qBAAM,CAAC,GAAG,QAAQ,eAAe,QAAQ;AAAA,MAC/E,YAAQ,qBAAM,CAAC,IAAG,aAAQ,kBAAR,mBAAuB,QAAQ,iCAAQ,QAAQ,EAAE,OAAO,CAAC;AAAA,IAC7E,CAAC;AACD,WAAO,QAAQ,gBAAgB,OAAU,YAAY;AAAA,EACvD;AAAA,EAEA,QAA4D,SAA8D;AACxH,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACF;","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
// src/CreatableModule/ModuleFactory.ts
|
|
1
2
|
import { assertEx } from "@xylabs/assert";
|
|
2
3
|
import { merge } from "@xylabs/lodash";
|
|
3
|
-
|
|
4
|
+
var ModuleFactory = class _ModuleFactory {
|
|
4
5
|
configSchemas;
|
|
5
6
|
creatableModule;
|
|
6
7
|
defaultLogger;
|
|
@@ -16,7 +17,7 @@ class ModuleFactory {
|
|
|
16
17
|
return this.configSchemas[0];
|
|
17
18
|
}
|
|
18
19
|
static withParams(creatableModule, params, labels = {}) {
|
|
19
|
-
return new
|
|
20
|
+
return new _ModuleFactory(creatableModule, params, labels);
|
|
20
21
|
}
|
|
21
22
|
_getRootFunction(funcName) {
|
|
22
23
|
let anyThis = this;
|
|
@@ -31,17 +32,18 @@ class ModuleFactory {
|
|
|
31
32
|
assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
32
33
|
}
|
|
33
34
|
create(params) {
|
|
35
|
+
var _a;
|
|
34
36
|
const factory = this;
|
|
35
37
|
const schema = factory.creatableModule.configSchema;
|
|
36
38
|
const mergedParams = merge({}, factory.defaultParams, params, {
|
|
37
|
-
config: merge({}, factory.defaultParams
|
|
39
|
+
config: merge({}, (_a = factory.defaultParams) == null ? void 0 : _a.config, params == null ? void 0 : params.config, { schema })
|
|
38
40
|
});
|
|
39
41
|
return factory.creatableModule.create(mergedParams);
|
|
40
42
|
}
|
|
41
43
|
factory(_params) {
|
|
42
44
|
throw new Error("Method not implemented.");
|
|
43
45
|
}
|
|
44
|
-
}
|
|
46
|
+
};
|
|
45
47
|
export {
|
|
46
48
|
ModuleFactory
|
|
47
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/CreatableModule/ModuleFactory.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { merge } from '@xylabs/lodash'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\nimport { Labels, WithOptionalLabels } from '../Labels'\nimport { CreatableModule, CreatableModuleFactory } from './CreatableModule'\n\nexport class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {\n configSchemas: CreatableModuleFactory<TModule>['configSchemas']\n\n creatableModule: CreatableModule<TModule>\n\n defaultLogger?: Logger | undefined\n\n defaultParams?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] }\n\n labels?: Labels\n\n constructor(\n creatableModule: CreatableModule<TModule>,\n params?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] },\n labels: Labels = {},\n ) {\n this.creatableModule = creatableModule\n this.defaultParams = params\n this.configSchemas = creatableModule.configSchemas\n this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})\n }\n\n get configSchema(): string {\n return this.configSchemas[0]\n }\n\n static withParams<T extends ModuleInstance>(\n creatableModule: CreatableModule<T>,\n params?: Omit<T['params'], 'config'> & { config?: T['params']['config'] },\n labels: Labels = {},\n ) {\n return new ModuleFactory(creatableModule, params, labels)\n }\n\n _getRootFunction(funcName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let anyThis = this as any\n while (anyThis.__proto__[funcName]) {\n anyThis = anyThis.__proto__\n }\n return anyThis[funcName]\n }\n\n _noOverride(functionName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const thisFunc = (this as any)[functionName]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootFunc = this._getRootFunction(functionName)\n assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`)\n }\n\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T> {\n const factory = this as ModuleFactory<T>\n const schema = factory.creatableModule.configSchema\n const mergedParams: TModule['params'] = merge({}, factory.defaultParams, params, {\n config: merge({}, factory.defaultParams?.config, params?.config, { schema }),\n })\n return factory.creatableModule.create<T>(mergedParams)\n }\n\n factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T> {\n throw new Error('Method not implemented.')\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAOf,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/CreatableModule/ModuleFactory.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { merge } from '@xylabs/lodash'\nimport { Logger } from '@xyo-network/logger'\n\nimport { ModuleInstance } from '../instance'\nimport { Labels, WithOptionalLabels } from '../Labels'\nimport { CreatableModule, CreatableModuleFactory } from './CreatableModule'\n\nexport class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {\n configSchemas: CreatableModuleFactory<TModule>['configSchemas']\n\n creatableModule: CreatableModule<TModule>\n\n defaultLogger?: Logger | undefined\n\n defaultParams?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] }\n\n labels?: Labels\n\n constructor(\n creatableModule: CreatableModule<TModule>,\n params?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] },\n labels: Labels = {},\n ) {\n this.creatableModule = creatableModule\n this.defaultParams = params\n this.configSchemas = creatableModule.configSchemas\n this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})\n }\n\n get configSchema(): string {\n return this.configSchemas[0]\n }\n\n static withParams<T extends ModuleInstance>(\n creatableModule: CreatableModule<T>,\n params?: Omit<T['params'], 'config'> & { config?: T['params']['config'] },\n labels: Labels = {},\n ) {\n return new ModuleFactory(creatableModule, params, labels)\n }\n\n _getRootFunction(funcName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let anyThis = this as any\n while (anyThis.__proto__[funcName]) {\n anyThis = anyThis.__proto__\n }\n return anyThis[funcName]\n }\n\n _noOverride(functionName: string) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const thisFunc = (this as any)[functionName]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rootFunc = this._getRootFunction(functionName)\n assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`)\n }\n\n create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T> {\n const factory = this as ModuleFactory<T>\n const schema = factory.creatableModule.configSchema\n const mergedParams: TModule['params'] = merge({}, factory.defaultParams, params, {\n config: merge({}, factory.defaultParams?.config, params?.config, { schema }),\n })\n return factory.creatableModule.create<T>(mergedParams)\n }\n\n factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T> {\n throw new Error('Method not implemented.')\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAOf,IAAM,gBAAN,MAAM,eAAyF;AAAA,EACpG;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,YACE,iBACA,QACA,SAAiB,CAAC,GAClB;AACA,SAAK,kBAAkB;AACvB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB,gBAAgB;AACrC,SAAK,SAAS,OAAO,OAAO,CAAC,GAAI,gBAAuC,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAAA,EACpG;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO,KAAK,cAAc,CAAC;AAAA,EAC7B;AAAA,EAEA,OAAO,WACL,iBACA,QACA,SAAiB,CAAC,GAClB;AACA,WAAO,IAAI,eAAc,iBAAiB,QAAQ,MAAM;AAAA,EAC1D;AAAA,EAEA,iBAAiB,UAAkB;AAEjC,QAAI,UAAU;AACd,WAAO,QAAQ,UAAU,QAAQ,GAAG;AAClC,gBAAU,QAAQ;AAAA,IACpB;AACA,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,YAAY,cAAsB;AAEhC,UAAM,WAAY,KAAa,YAAY;AAE3C,UAAM,WAAW,KAAK,iBAAiB,YAAY;AACnD,aAAS,aAAa,UAAU,6BAA6B,YAAY,gBAAgB,YAAY,iBAAiB;AAAA,EACxH;AAAA,EAEA,OAAkE,QAAoD;AA3DxH;AA4DI,UAAM,UAAU;AAChB,UAAM,SAAS,QAAQ,gBAAgB;AACvC,UAAM,eAAkC,MAAM,CAAC,GAAG,QAAQ,eAAe,QAAQ;AAAA,MAC/E,QAAQ,MAAM,CAAC,IAAG,aAAQ,kBAAR,mBAAuB,QAAQ,iCAAQ,QAAQ,EAAE,OAAO,CAAC;AAAA,IAC7E,CAAC;AACD,WAAO,QAAQ,gBAAgB,OAAU,YAAY;AAAA,EACvD;AAAA,EAEA,QAA4D,SAA8D;AACxH,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC3C;AACF;","names":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ModuleInstance } from '../instance';
|
|
2
|
+
import { Labels } from '../Labels';
|
|
3
|
+
import { CreatableModuleFactory } from './CreatableModule';
|
|
4
|
+
import { CreatableModuleRegistry } from './CreatableModuleRegistry';
|
|
5
|
+
import { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory';
|
|
6
|
+
/**
|
|
7
|
+
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
8
|
+
*/
|
|
9
|
+
export declare class ModuleFactoryLocator {
|
|
10
|
+
protected readonly _registry: CreatableModuleRegistry;
|
|
11
|
+
constructor(_registry?: CreatableModuleRegistry);
|
|
12
|
+
/**
|
|
13
|
+
* The current registry for the module factory
|
|
14
|
+
*/
|
|
15
|
+
get registry(): Readonly<CreatableModuleRegistry>;
|
|
16
|
+
/**
|
|
17
|
+
* Locates a module factory that matches the supplied schema and labels
|
|
18
|
+
* @param schema The config schema for the module
|
|
19
|
+
* @param labels The labels for the module factory
|
|
20
|
+
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
21
|
+
*/
|
|
22
|
+
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
23
|
+
/**
|
|
24
|
+
* Registers a single module factory (with optional tags) with the locator
|
|
25
|
+
* @param additional Additional module factories to register
|
|
26
|
+
*/
|
|
27
|
+
register<TModule extends ModuleInstance>(mod: CreatableModuleFactory<TModule>, labels?: Labels): this;
|
|
28
|
+
/**
|
|
29
|
+
* Registers multiple module factories with the locator
|
|
30
|
+
* @param additional Additional module factories to register
|
|
31
|
+
*/
|
|
32
|
+
registerMany(additional: CreatableModuleRegistry): this;
|
|
33
|
+
/**
|
|
34
|
+
* Tries to locate a module factory that matches the supplied schema and labels
|
|
35
|
+
* @param schema The config schema for the module
|
|
36
|
+
* @param labels The labels for the module factory
|
|
37
|
+
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
38
|
+
*/
|
|
39
|
+
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/ModuleFactoryLocator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAa,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE1F;;GAEG;AACH,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAA4B;IAEtE;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAQ/F;;;OAGG;IACH,QAAQ,CAAC,OAAO,SAAS,cAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBrG;;;OAGG;IACH,YAAY,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;IAUvD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|