@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
|
@@ -16,14 +16,76 @@ 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/instance/asModuleInstance.ts
|
|
19
21
|
var asModuleInstance_exports = {};
|
|
20
22
|
__export(asModuleInstance_exports, {
|
|
21
23
|
asModuleInstance: () => asModuleInstance
|
|
22
24
|
});
|
|
23
25
|
module.exports = __toCommonJS(asModuleInstance_exports);
|
|
26
|
+
var import_object4 = require("@xyo-network/object");
|
|
27
|
+
|
|
28
|
+
// src/instance/isModuleInstance.ts
|
|
29
|
+
var import_object3 = require("@xyo-network/object");
|
|
30
|
+
|
|
31
|
+
// src/Queries/Discover.ts
|
|
32
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
33
|
+
|
|
34
|
+
// src/module/asModuleObject.ts
|
|
35
|
+
var import_object2 = require("@xyo-network/object");
|
|
36
|
+
|
|
37
|
+
// src/module/isModuleObject.ts
|
|
24
38
|
var import_object = require("@xyo-network/object");
|
|
25
|
-
var
|
|
26
|
-
|
|
39
|
+
var requiredModuleFunctions = {
|
|
40
|
+
address: "string",
|
|
41
|
+
config: "object",
|
|
42
|
+
params: "object",
|
|
43
|
+
queries: "array",
|
|
44
|
+
query: "function",
|
|
45
|
+
queryable: "function"
|
|
46
|
+
};
|
|
47
|
+
var factory = new import_object.IsObjectFactory();
|
|
48
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
49
|
+
|
|
50
|
+
// src/module/asModuleObject.ts
|
|
51
|
+
var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
|
|
52
|
+
|
|
53
|
+
// src/module/IsModuleFactory.ts
|
|
54
|
+
var IsModuleFactory = class {
|
|
55
|
+
create(expectedQueries, additionalChecks) {
|
|
56
|
+
return (obj, config) => {
|
|
57
|
+
const module2 = asModuleObject(obj);
|
|
58
|
+
const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
59
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
60
|
+
return result;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// src/module/isModule.ts
|
|
66
|
+
var requiredModuleQueries = [
|
|
67
|
+
/* We need to update this once live module conform */
|
|
68
|
+
//ModuleDescribeQuerySchema,
|
|
69
|
+
//ModuleAddressQuerySchema,
|
|
70
|
+
ModuleDiscoverQuerySchema
|
|
71
|
+
//ModuleManifestQuerySchema,
|
|
72
|
+
//ModuleSubscribeQuerySchema,
|
|
73
|
+
];
|
|
74
|
+
var factory2 = new IsModuleFactory();
|
|
75
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
76
|
+
|
|
77
|
+
// src/instance/isModuleInstance.ts
|
|
78
|
+
var requiredModuleInstanceFunctions = {
|
|
79
|
+
describe: "function",
|
|
80
|
+
discover: "function",
|
|
81
|
+
manifest: "function",
|
|
82
|
+
moduleAddress: "function"
|
|
83
|
+
};
|
|
84
|
+
var factory3 = new import_object3.IsObjectFactory();
|
|
85
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
86
|
+
|
|
87
|
+
// src/instance/asModuleInstance.ts
|
|
88
|
+
var asModuleInstance = import_object4.AsObjectFactory.create(isModuleInstance);
|
|
27
89
|
// Annotate the CommonJS export names for ESM import in node:
|
|
28
90
|
0 && (module.exports = {
|
|
29
91
|
asModuleInstance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/asModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,iBAAgC;;;ACAhC,IAAAC,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmB,+BAAgB,OAAO,gBAAgB;","names":["import_object","import_object","import_object","module","factory","factory"]}
|
|
@@ -1,6 +1,67 @@
|
|
|
1
|
+
// src/instance/asModuleInstance.ts
|
|
2
|
+
import { AsObjectFactory as AsObjectFactory2 } from "@xyo-network/object";
|
|
3
|
+
|
|
4
|
+
// src/instance/isModuleInstance.ts
|
|
5
|
+
import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
|
|
6
|
+
|
|
7
|
+
// src/Queries/Discover.ts
|
|
8
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
9
|
+
|
|
10
|
+
// src/module/asModuleObject.ts
|
|
1
11
|
import { AsObjectFactory } from "@xyo-network/object";
|
|
2
|
-
|
|
3
|
-
|
|
12
|
+
|
|
13
|
+
// src/module/isModuleObject.ts
|
|
14
|
+
import { IsObjectFactory } from "@xyo-network/object";
|
|
15
|
+
var requiredModuleFunctions = {
|
|
16
|
+
address: "string",
|
|
17
|
+
config: "object",
|
|
18
|
+
params: "object",
|
|
19
|
+
queries: "array",
|
|
20
|
+
query: "function",
|
|
21
|
+
queryable: "function"
|
|
22
|
+
};
|
|
23
|
+
var factory = new IsObjectFactory();
|
|
24
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
25
|
+
|
|
26
|
+
// src/module/asModuleObject.ts
|
|
27
|
+
var asModuleObject = AsObjectFactory.create(isModuleObject);
|
|
28
|
+
|
|
29
|
+
// src/module/IsModuleFactory.ts
|
|
30
|
+
var IsModuleFactory = class {
|
|
31
|
+
create(expectedQueries, additionalChecks) {
|
|
32
|
+
return (obj, config) => {
|
|
33
|
+
const module = asModuleObject(obj);
|
|
34
|
+
const result = isModuleObject(module, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
35
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// src/module/isModule.ts
|
|
42
|
+
var requiredModuleQueries = [
|
|
43
|
+
/* We need to update this once live module conform */
|
|
44
|
+
//ModuleDescribeQuerySchema,
|
|
45
|
+
//ModuleAddressQuerySchema,
|
|
46
|
+
ModuleDiscoverQuerySchema
|
|
47
|
+
//ModuleManifestQuerySchema,
|
|
48
|
+
//ModuleSubscribeQuerySchema,
|
|
49
|
+
];
|
|
50
|
+
var factory2 = new IsModuleFactory();
|
|
51
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
52
|
+
|
|
53
|
+
// src/instance/isModuleInstance.ts
|
|
54
|
+
var requiredModuleInstanceFunctions = {
|
|
55
|
+
describe: "function",
|
|
56
|
+
discover: "function",
|
|
57
|
+
manifest: "function",
|
|
58
|
+
moduleAddress: "function"
|
|
59
|
+
};
|
|
60
|
+
var factory3 = new IsObjectFactory2();
|
|
61
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
62
|
+
|
|
63
|
+
// src/instance/asModuleInstance.ts
|
|
64
|
+
var asModuleInstance = AsObjectFactory2.create(isModuleInstance);
|
|
4
65
|
export {
|
|
5
66
|
asModuleInstance
|
|
6
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/asModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n"],"mappings":"AAAA,SAAS,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACAhC,SAAS,mBAAAC,wBAAyD;;;ACG3D,IAAM,4BAAuD;;;ACHpE,SAAS,uBAAuB;;;ACAhC,SAAS,uBAAyD;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,gBAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,gBAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAM,SAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAe,QAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAIC,iBAAgC;AAE7C,IAAM,mBAAoDD,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmBE,iBAAgB,OAAO,gBAAgB;","names":["AsObjectFactory","IsObjectFactory","factory","factory","IsObjectFactory","AsObjectFactory"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA"}
|
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -11,19 +15,92 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
11
15
|
}
|
|
12
16
|
return to;
|
|
13
17
|
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/instance/index.ts
|
|
16
21
|
var instance_exports = {};
|
|
22
|
+
__export(instance_exports, {
|
|
23
|
+
IsInstanceFactory: () => IsInstanceFactory,
|
|
24
|
+
asModuleInstance: () => asModuleInstance,
|
|
25
|
+
isModuleInstance: () => isModuleInstance,
|
|
26
|
+
requiredModuleInstanceFunctions: () => requiredModuleInstanceFunctions
|
|
27
|
+
});
|
|
17
28
|
module.exports = __toCommonJS(instance_exports);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
|
|
30
|
+
// src/instance/asModuleInstance.ts
|
|
31
|
+
var import_object4 = require("@xyo-network/object");
|
|
32
|
+
|
|
33
|
+
// src/instance/isModuleInstance.ts
|
|
34
|
+
var import_object3 = require("@xyo-network/object");
|
|
35
|
+
|
|
36
|
+
// src/Queries/Discover.ts
|
|
37
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
38
|
+
|
|
39
|
+
// src/module/asModuleObject.ts
|
|
40
|
+
var import_object2 = require("@xyo-network/object");
|
|
41
|
+
|
|
42
|
+
// src/module/isModuleObject.ts
|
|
43
|
+
var import_object = require("@xyo-network/object");
|
|
44
|
+
var requiredModuleFunctions = {
|
|
45
|
+
address: "string",
|
|
46
|
+
config: "object",
|
|
47
|
+
params: "object",
|
|
48
|
+
queries: "array",
|
|
49
|
+
query: "function",
|
|
50
|
+
queryable: "function"
|
|
51
|
+
};
|
|
52
|
+
var factory = new import_object.IsObjectFactory();
|
|
53
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
54
|
+
|
|
55
|
+
// src/module/asModuleObject.ts
|
|
56
|
+
var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
|
|
57
|
+
|
|
58
|
+
// src/module/IsModuleFactory.ts
|
|
59
|
+
var IsModuleFactory = class {
|
|
60
|
+
create(expectedQueries, additionalChecks) {
|
|
61
|
+
return (obj, config) => {
|
|
62
|
+
const module2 = asModuleObject(obj);
|
|
63
|
+
const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
64
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
65
|
+
return result;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// src/module/isModule.ts
|
|
71
|
+
var requiredModuleQueries = [
|
|
72
|
+
/* We need to update this once live module conform */
|
|
73
|
+
//ModuleDescribeQuerySchema,
|
|
74
|
+
//ModuleAddressQuerySchema,
|
|
75
|
+
ModuleDiscoverQuerySchema
|
|
76
|
+
//ModuleManifestQuerySchema,
|
|
77
|
+
//ModuleSubscribeQuerySchema,
|
|
78
|
+
];
|
|
79
|
+
var factory2 = new IsModuleFactory();
|
|
80
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
81
|
+
|
|
82
|
+
// src/instance/isModuleInstance.ts
|
|
83
|
+
var requiredModuleInstanceFunctions = {
|
|
84
|
+
describe: "function",
|
|
85
|
+
discover: "function",
|
|
86
|
+
manifest: "function",
|
|
87
|
+
moduleAddress: "function"
|
|
88
|
+
};
|
|
89
|
+
var factory3 = new import_object3.IsObjectFactory();
|
|
90
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
91
|
+
|
|
92
|
+
// src/instance/asModuleInstance.ts
|
|
93
|
+
var asModuleInstance = import_object4.AsObjectFactory.create(isModuleInstance);
|
|
94
|
+
|
|
95
|
+
// src/instance/ModuleInstance.ts
|
|
96
|
+
var import_object5 = require("@xyo-network/object");
|
|
97
|
+
var IsInstanceFactory = class extends import_object5.IsObjectFactory {
|
|
98
|
+
};
|
|
22
99
|
// Annotate the CommonJS export names for ESM import in node:
|
|
23
100
|
0 && (module.exports = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
101
|
+
IsInstanceFactory,
|
|
102
|
+
asModuleInstance,
|
|
103
|
+
isModuleInstance,
|
|
104
|
+
requiredModuleInstanceFunctions
|
|
28
105
|
});
|
|
29
106
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/index.ts"],"sourcesContent":["export * from './asModuleInstance'\nexport * from './isModuleInstance'\nexport * from './ModuleInstance'\nexport * from './ModuleRepository'\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/index.ts","../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts","../../../src/instance/ModuleInstance.ts"],"sourcesContent":["export * from './asModuleInstance'\nexport * from './isModuleInstance'\nexport * from './ModuleInstance'\nexport * from './ModuleRepository'\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n","import { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { AnyConfigSchema, ModuleConfig } from '../Config'\nimport { ModuleEventData } from '../EventsModels'\nimport { Module, ModuleQueryFunctions } from '../module'\nimport { ModuleParams } from '../ModuleParams'\n\nexport interface ResolveFunctions {\n resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>\n resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>\n resolve<T extends ModuleInstance = ModuleInstance>(\n nameOrAddressOrFilter?: ModuleFilter<T> | string,\n options?: ModuleFilterOptions<T>,\n ): Promisable<T | T[] | undefined>\n}\n\nexport interface ModuleResolver extends ResolveFunctions {\n addResolver: (resolver: ModuleResolver) => this\n isModuleResolver: boolean\n removeResolver: (resolver: ModuleResolver) => this\n}\n\nexport type ModuleInstance<\n TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,\n TEventData extends ModuleEventData = ModuleEventData,\n> = Module<TParams, TEventData> &\n ResolveFunctions &\n ModuleQueryFunctions & {\n /* The resolver is a 'down' resolver. It can resolve the module or any children (if it is a node for example), that are in the module*/\n readonly downResolver: Omit<ModuleResolver, 'resolve'>\n\n /* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/\n /* This is set by a NodeModule when attaching to the module */\n readonly upResolver: Omit<ModuleResolver, 'resolve'>\n }\n\nexport type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = ObjectTypeCheck<T>\n\nexport class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}\n\nexport interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {\n direction?: 'up' | 'down' | 'all'\n identity?: InstanceTypeCheck<T>\n maxDepth?: number\n visibility?: 'public' | 'private' | 'all'\n}\n\nexport interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n address: string[]\n}\n\nexport interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n name: string[]\n}\n\nexport interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n query: string[][]\n}\n\nexport type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> &\n Partial<NameModuleFilter<T>> &\n Partial<QueryModuleFilter<T>>\n\nexport type ModuleFilter<T extends ModuleInstance = ModuleInstance> =\n | ModuleFilterOptions<T>\n | AddressModuleFilter<T>\n | NameModuleFilter<T>\n | QueryModuleFilter<T>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAgC;;;ACAhC,IAAAC,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmB,+BAAgB,OAAO,gBAAgB;;;AOJvE,IAAAC,iBAAiD;AAuC1C,IAAM,oBAAN,cAA2E,+BAAmB;AAAC;","names":["import_object","import_object","import_object","module","factory","factory","import_object"]}
|
|
@@ -1,5 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// src/instance/asModuleInstance.ts
|
|
2
|
+
import { AsObjectFactory as AsObjectFactory2 } from "@xyo-network/object";
|
|
3
|
+
|
|
4
|
+
// src/instance/isModuleInstance.ts
|
|
5
|
+
import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
|
|
6
|
+
|
|
7
|
+
// src/Queries/Discover.ts
|
|
8
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
9
|
+
|
|
10
|
+
// src/module/asModuleObject.ts
|
|
11
|
+
import { AsObjectFactory } from "@xyo-network/object";
|
|
12
|
+
|
|
13
|
+
// src/module/isModuleObject.ts
|
|
14
|
+
import { IsObjectFactory } from "@xyo-network/object";
|
|
15
|
+
var requiredModuleFunctions = {
|
|
16
|
+
address: "string",
|
|
17
|
+
config: "object",
|
|
18
|
+
params: "object",
|
|
19
|
+
queries: "array",
|
|
20
|
+
query: "function",
|
|
21
|
+
queryable: "function"
|
|
22
|
+
};
|
|
23
|
+
var factory = new IsObjectFactory();
|
|
24
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
25
|
+
|
|
26
|
+
// src/module/asModuleObject.ts
|
|
27
|
+
var asModuleObject = AsObjectFactory.create(isModuleObject);
|
|
28
|
+
|
|
29
|
+
// src/module/IsModuleFactory.ts
|
|
30
|
+
var IsModuleFactory = class {
|
|
31
|
+
create(expectedQueries, additionalChecks) {
|
|
32
|
+
return (obj, config) => {
|
|
33
|
+
const module = asModuleObject(obj);
|
|
34
|
+
const result = isModuleObject(module, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
35
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// src/module/isModule.ts
|
|
42
|
+
var requiredModuleQueries = [
|
|
43
|
+
/* We need to update this once live module conform */
|
|
44
|
+
//ModuleDescribeQuerySchema,
|
|
45
|
+
//ModuleAddressQuerySchema,
|
|
46
|
+
ModuleDiscoverQuerySchema
|
|
47
|
+
//ModuleManifestQuerySchema,
|
|
48
|
+
//ModuleSubscribeQuerySchema,
|
|
49
|
+
];
|
|
50
|
+
var factory2 = new IsModuleFactory();
|
|
51
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
52
|
+
|
|
53
|
+
// src/instance/isModuleInstance.ts
|
|
54
|
+
var requiredModuleInstanceFunctions = {
|
|
55
|
+
describe: "function",
|
|
56
|
+
discover: "function",
|
|
57
|
+
manifest: "function",
|
|
58
|
+
moduleAddress: "function"
|
|
59
|
+
};
|
|
60
|
+
var factory3 = new IsObjectFactory2();
|
|
61
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
62
|
+
|
|
63
|
+
// src/instance/asModuleInstance.ts
|
|
64
|
+
var asModuleInstance = AsObjectFactory2.create(isModuleInstance);
|
|
65
|
+
|
|
66
|
+
// src/instance/ModuleInstance.ts
|
|
67
|
+
import { IsObjectFactory as IsObjectFactory3 } from "@xyo-network/object";
|
|
68
|
+
var IsInstanceFactory = class extends IsObjectFactory3 {
|
|
69
|
+
};
|
|
70
|
+
export {
|
|
71
|
+
IsInstanceFactory,
|
|
72
|
+
asModuleInstance,
|
|
73
|
+
isModuleInstance,
|
|
74
|
+
requiredModuleInstanceFunctions
|
|
75
|
+
};
|
|
5
76
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts","../../../src/instance/ModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n","import { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { AnyConfigSchema, ModuleConfig } from '../Config'\nimport { ModuleEventData } from '../EventsModels'\nimport { Module, ModuleQueryFunctions } from '../module'\nimport { ModuleParams } from '../ModuleParams'\n\nexport interface ResolveFunctions {\n resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>\n resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>\n resolve<T extends ModuleInstance = ModuleInstance>(\n nameOrAddressOrFilter?: ModuleFilter<T> | string,\n options?: ModuleFilterOptions<T>,\n ): Promisable<T | T[] | undefined>\n}\n\nexport interface ModuleResolver extends ResolveFunctions {\n addResolver: (resolver: ModuleResolver) => this\n isModuleResolver: boolean\n removeResolver: (resolver: ModuleResolver) => this\n}\n\nexport type ModuleInstance<\n TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,\n TEventData extends ModuleEventData = ModuleEventData,\n> = Module<TParams, TEventData> &\n ResolveFunctions &\n ModuleQueryFunctions & {\n /* The resolver is a 'down' resolver. It can resolve the module or any children (if it is a node for example), that are in the module*/\n readonly downResolver: Omit<ModuleResolver, 'resolve'>\n\n /* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/\n /* This is set by a NodeModule when attaching to the module */\n readonly upResolver: Omit<ModuleResolver, 'resolve'>\n }\n\nexport type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = ObjectTypeCheck<T>\n\nexport class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}\n\nexport interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {\n direction?: 'up' | 'down' | 'all'\n identity?: InstanceTypeCheck<T>\n maxDepth?: number\n visibility?: 'public' | 'private' | 'all'\n}\n\nexport interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n address: string[]\n}\n\nexport interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n name: string[]\n}\n\nexport interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n query: string[][]\n}\n\nexport type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> &\n Partial<NameModuleFilter<T>> &\n Partial<QueryModuleFilter<T>>\n\nexport type ModuleFilter<T extends ModuleInstance = ModuleInstance> =\n | ModuleFilterOptions<T>\n | AddressModuleFilter<T>\n | NameModuleFilter<T>\n | QueryModuleFilter<T>\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACAhC,SAAS,mBAAAC,wBAAyD;;;ACG3D,IAAM,4BAAuD;;;ACHpE,SAAS,uBAAuB;;;ACAhC,SAAS,uBAAyD;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,gBAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,gBAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAM,SAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAe,QAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAIC,iBAAgC;AAE7C,IAAM,mBAAoDD,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmBE,iBAAgB,OAAO,gBAAgB;;;AOJvE,SAAS,mBAAAC,wBAAwC;AAuC1C,IAAM,oBAAN,cAA2EA,iBAAmB;AAAC;","names":["AsObjectFactory","IsObjectFactory","factory","factory","IsObjectFactory","AsObjectFactory","IsObjectFactory"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object';
|
|
2
|
+
import { ModuleInstance } from './ModuleInstance';
|
|
3
|
+
export declare const requiredModuleInstanceFunctions: ObjectTypeShape;
|
|
4
|
+
export declare const isModuleInstance: ObjectTypeCheck<ModuleInstance>;
|
|
5
|
+
//# sourceMappingURL=isModuleInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isModuleInstance.d.ts","sourceRoot":"","sources":["../../../src/instance/isModuleInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,eAAO,MAAM,+BAA+B,EAAE,eAK7C,CAAA;AAKD,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,cAAc,CAA+D,CAAA"}
|
|
@@ -16,22 +16,71 @@ 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/instance/isModuleInstance.ts
|
|
19
21
|
var isModuleInstance_exports = {};
|
|
20
22
|
__export(isModuleInstance_exports, {
|
|
21
23
|
isModuleInstance: () => isModuleInstance,
|
|
22
24
|
requiredModuleInstanceFunctions: () => requiredModuleInstanceFunctions
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(isModuleInstance_exports);
|
|
27
|
+
var import_object3 = require("@xyo-network/object");
|
|
28
|
+
|
|
29
|
+
// src/Queries/Discover.ts
|
|
30
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
31
|
+
|
|
32
|
+
// src/module/asModuleObject.ts
|
|
33
|
+
var import_object2 = require("@xyo-network/object");
|
|
34
|
+
|
|
35
|
+
// src/module/isModuleObject.ts
|
|
25
36
|
var import_object = require("@xyo-network/object");
|
|
26
|
-
var
|
|
27
|
-
|
|
37
|
+
var requiredModuleFunctions = {
|
|
38
|
+
address: "string",
|
|
39
|
+
config: "object",
|
|
40
|
+
params: "object",
|
|
41
|
+
queries: "array",
|
|
42
|
+
query: "function",
|
|
43
|
+
queryable: "function"
|
|
44
|
+
};
|
|
45
|
+
var factory = new import_object.IsObjectFactory();
|
|
46
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
47
|
+
|
|
48
|
+
// src/module/asModuleObject.ts
|
|
49
|
+
var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
|
|
50
|
+
|
|
51
|
+
// src/module/IsModuleFactory.ts
|
|
52
|
+
var IsModuleFactory = class {
|
|
53
|
+
create(expectedQueries, additionalChecks) {
|
|
54
|
+
return (obj, config) => {
|
|
55
|
+
const module2 = asModuleObject(obj);
|
|
56
|
+
const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
57
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
58
|
+
return result;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// src/module/isModule.ts
|
|
64
|
+
var requiredModuleQueries = [
|
|
65
|
+
/* We need to update this once live module conform */
|
|
66
|
+
//ModuleDescribeQuerySchema,
|
|
67
|
+
//ModuleAddressQuerySchema,
|
|
68
|
+
ModuleDiscoverQuerySchema
|
|
69
|
+
//ModuleManifestQuerySchema,
|
|
70
|
+
//ModuleSubscribeQuerySchema,
|
|
71
|
+
];
|
|
72
|
+
var factory2 = new IsModuleFactory();
|
|
73
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
74
|
+
|
|
75
|
+
// src/instance/isModuleInstance.ts
|
|
76
|
+
var requiredModuleInstanceFunctions = {
|
|
28
77
|
describe: "function",
|
|
29
78
|
discover: "function",
|
|
30
79
|
manifest: "function",
|
|
31
80
|
moduleAddress: "function"
|
|
32
81
|
};
|
|
33
|
-
|
|
34
|
-
|
|
82
|
+
var factory3 = new import_object3.IsObjectFactory();
|
|
83
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
35
84
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
85
|
0 && (module.exports = {
|
|
37
86
|
isModuleInstance,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/isModuleInstance.ts"],"sourcesContent":["import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;","names":["import_object","import_object","module","factory","factory"]}
|
|
@@ -1,13 +1,61 @@
|
|
|
1
|
+
// src/instance/isModuleInstance.ts
|
|
2
|
+
import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
|
|
3
|
+
|
|
4
|
+
// src/Queries/Discover.ts
|
|
5
|
+
var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
|
|
6
|
+
|
|
7
|
+
// src/module/asModuleObject.ts
|
|
8
|
+
import { AsObjectFactory } from "@xyo-network/object";
|
|
9
|
+
|
|
10
|
+
// src/module/isModuleObject.ts
|
|
1
11
|
import { IsObjectFactory } from "@xyo-network/object";
|
|
2
|
-
|
|
3
|
-
|
|
12
|
+
var requiredModuleFunctions = {
|
|
13
|
+
address: "string",
|
|
14
|
+
config: "object",
|
|
15
|
+
params: "object",
|
|
16
|
+
queries: "array",
|
|
17
|
+
query: "function",
|
|
18
|
+
queryable: "function"
|
|
19
|
+
};
|
|
20
|
+
var factory = new IsObjectFactory();
|
|
21
|
+
var isModuleObject = factory.create(requiredModuleFunctions);
|
|
22
|
+
|
|
23
|
+
// src/module/asModuleObject.ts
|
|
24
|
+
var asModuleObject = AsObjectFactory.create(isModuleObject);
|
|
25
|
+
|
|
26
|
+
// src/module/IsModuleFactory.ts
|
|
27
|
+
var IsModuleFactory = class {
|
|
28
|
+
create(expectedQueries, additionalChecks) {
|
|
29
|
+
return (obj, config) => {
|
|
30
|
+
const module = asModuleObject(obj);
|
|
31
|
+
const result = isModuleObject(module, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
|
|
32
|
+
((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// src/module/isModule.ts
|
|
39
|
+
var requiredModuleQueries = [
|
|
40
|
+
/* We need to update this once live module conform */
|
|
41
|
+
//ModuleDescribeQuerySchema,
|
|
42
|
+
//ModuleAddressQuerySchema,
|
|
43
|
+
ModuleDiscoverQuerySchema
|
|
44
|
+
//ModuleManifestQuerySchema,
|
|
45
|
+
//ModuleSubscribeQuerySchema,
|
|
46
|
+
];
|
|
47
|
+
var factory2 = new IsModuleFactory();
|
|
48
|
+
var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
|
|
49
|
+
|
|
50
|
+
// src/instance/isModuleInstance.ts
|
|
51
|
+
var requiredModuleInstanceFunctions = {
|
|
4
52
|
describe: "function",
|
|
5
53
|
discover: "function",
|
|
6
54
|
manifest: "function",
|
|
7
55
|
moduleAddress: "function"
|
|
8
56
|
};
|
|
9
|
-
|
|
10
|
-
|
|
57
|
+
var factory3 = new IsObjectFactory2();
|
|
58
|
+
var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
|
|
11
59
|
export {
|
|
12
60
|
isModuleInstance,
|
|
13
61
|
requiredModuleInstanceFunctions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/instance/isModuleInstance.ts"],"sourcesContent":["import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n"],"mappings":"AAAA,SAAS,uBAAyD;
|
|
1
|
+
{"version":3,"sources":["../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAyD;;;ACG3D,IAAM,4BAAuD;;;ACHpE,SAAS,uBAAuB;;;ACAhC,SAAS,uBAAyD;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,gBAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,gBAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAM,SAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAe,QAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAIC,iBAAgC;AAE7C,IAAM,mBAAoDD,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;","names":["IsObjectFactory","factory","factory","IsObjectFactory"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Module } from '../module';
|
|
2
|
+
/**
|
|
3
|
+
* Used to filter duplicates from an array of modules
|
|
4
|
+
* @example: modulesArray.filter(duplicateModules)
|
|
5
|
+
* @param value Current Module
|
|
6
|
+
* @param index Current Module's index
|
|
7
|
+
* @param array Module Array
|
|
8
|
+
* @returns True if the Module's address is the first occurrence of
|
|
9
|
+
* that address in the array, false otherwise
|
|
10
|
+
*/
|
|
11
|
+
export declare const duplicateModules: (value: Module, index: number, array: Module[]) => value is Module;
|
|
12
|
+
//# sourceMappingURL=duplicateModules.d.ts.map
|