@satisfactory-dev/docs.json.ts 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -27
- package/data-progress--update8.md +2765 -0
- package/data-progress--version_1_0_0_0.md +3053 -0
- package/foo.log +1850 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeInstantHit.d.ts +20 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeInstantHit.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeProjectile.d.ts +88 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeProjectile.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeSpreadshot.d.ts +14 -0
- package/generated-types/1.0/classes/CoreUObject/FGAmmoTypeSpreadshot.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildable.d.ts +192 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildable.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableAttachmentMerger.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableAttachmentMerger.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableAttachmentSplitter.d.ts +6 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableAttachmentSplitter.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableBeamLightweight.d.ts +15 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableBeamLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableBlueprintDesigner.d.ts +27 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableBlueprintDesigner.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCircuitSwitch.d.ts +8 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCircuitSwitch.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableConveyorBelt.d.ts +23 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableConveyorBelt.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableConveyorLift.d.ts +14 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableConveyorLift.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCornerWall.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCornerWall.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCornerWallLightweight.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableCornerWallLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDockingStation.d.ts +21 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDockingStation.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDoor.d.ts +23 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDoor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDroneStation.d.ts +30 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableDroneStation.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactory.d.ts +21 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactory.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactoryBuilding.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactoryBuilding.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactorySimpleProducer.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFactorySimpleProducer.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFloodlight.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFloodlight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFoundation.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFoundation.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFoundationLightweight.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFoundationLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFrackingActivator.d.ts +18 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFrackingActivator.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFrackingExtractor.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableFrackingExtractor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGenerator.d.ts +6 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGenerator.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorFuel.d.ts +95 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorFuel.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorGeoThermal.d.ts +15 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorGeoThermal.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorNuclear.d.ts +38 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableGeneratorNuclear.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableJumppad.d.ts +34 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableJumppad.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLadder.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLadder.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLightSource.d.ts +22 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLightSource.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLightsControlPanel.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableLightsControlPanel.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableMAM.d.ts +14 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableMAM.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableManufacturer.d.ts +68 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableManufacturer.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableManufacturerVariablePower.d.ts +31 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableManufacturerVariablePower.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePassthrough.d.ts +18 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePassthrough.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePassthroughPipeHyper.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePassthroughPipeHyper.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePillarLightweight.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePillarLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeHyper.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeHyper.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeReservoir.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeReservoir.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeline.d.ts +40 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipeline.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelineJunction.d.ts +6 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelineJunction.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelinePump.d.ts +16 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelinePump.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelineSupport.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePipelineSupport.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePoleBase.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePoleBase.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePoleLightweight.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePoleLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePortal.d.ts +61 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePortal.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePortalSatellite.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePortalSatellite.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerBooster.d.ts +30 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerBooster.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerPole.d.ts +12 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerPole.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerStorage.d.ts +20 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePowerStorage.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePriorityPowerSwitch.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildablePriorityPowerSwitch.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRadarTower.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRadarTower.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadSignal.d.ts +23 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadSignal.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadStation.d.ts +12 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadStation.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadTrack.d.ts +30 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRailroadTrack.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRamp.d.ts +7 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRamp.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRampLightweight.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableRampLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceExtractor.d.ts +39 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceExtractor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceSink.d.ts +15 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceSink.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceSinkShop.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableResourceSinkShop.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSnowDispenser.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSnowDispenser.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSpaceElevator.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSpaceElevator.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSplitterSmart.d.ts +20 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableSplitterSmart.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableStorage.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableStorage.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTradingPost.d.ts +52 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTradingPost.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatform.d.ts +16 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatform.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatformCargo.d.ts +47 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatformCargo.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatformEmpty.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableTrainPlatformEmpty.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWalkway.d.ts +22 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWalkway.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWalkwayLightweight.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWalkwayLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWall.d.ts +24 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWall.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWallLightweight.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWallLightweight.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWaterPump.d.ts +20 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWaterPump.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWidgetSign.d.ts +29 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWidgetSign.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWire.d.ts +15 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildableWire.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildingDescriptor.d.ts +14 -0
- package/generated-types/1.0/classes/CoreUObject/FGBuildingDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGCentralStorageContainer.d.ts +14 -0
- package/generated-types/1.0/classes/CoreUObject/FGCentralStorageContainer.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGChainsaw.d.ts +53 -0
- package/generated-types/1.0/classes/CoreUObject/FGChainsaw.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGChargedWeapon.d.ts +145 -0
- package/generated-types/1.0/classes/CoreUObject/FGChargedWeapon.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGConsumableDescriptor.d.ts +18 -0
- package/generated-types/1.0/classes/CoreUObject/FGConsumableDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGConsumableEquipment.d.ts +67 -0
- package/generated-types/1.0/classes/CoreUObject/FGConsumableEquipment.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGConveyorPoleStackable.d.ts +5 -0
- package/generated-types/1.0/classes/CoreUObject/FGConveyorPoleStackable.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGCustomizationRecipe.d.ts +35 -0
- package/generated-types/1.0/classes/CoreUObject/FGCustomizationRecipe.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipment.d.ts +57 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipment.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentDescriptor.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentStunSpear.d.ts +180 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentStunSpear.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentZipline.d.ts +48 -0
- package/generated-types/1.0/classes/CoreUObject/FGEquipmentZipline.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGGasMask.d.ts +28 -0
- package/generated-types/1.0/classes/CoreUObject/FGGasMask.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGGolfCartDispenser.d.ts +27 -0
- package/generated-types/1.0/classes/CoreUObject/FGGolfCartDispenser.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGHoverPack.d.ts +60 -0
- package/generated-types/1.0/classes/CoreUObject/FGHoverPack.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptor.d.ts +59 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorBiomass.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorBiomass.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorNuclearFuel.d.ts +15 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorNuclearFuel.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorPowerBoosterFuel.d.ts +10 -0
- package/generated-types/1.0/classes/CoreUObject/FGItemDescriptorPowerBoosterFuel.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGJetPack.d.ts +37 -0
- package/generated-types/1.0/classes/CoreUObject/FGJetPack.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGJumpingStilts.d.ts +22 -0
- package/generated-types/1.0/classes/CoreUObject/FGJumpingStilts.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGObjectScanner.d.ts +39 -0
- package/generated-types/1.0/classes/CoreUObject/FGObjectScanner.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGParachute.d.ts +111 -0
- package/generated-types/1.0/classes/CoreUObject/FGParachute.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGPipeHyperStart.d.ts +19 -0
- package/generated-types/1.0/classes/CoreUObject/FGPipeHyperStart.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGPoleDescriptor.d.ts +13 -0
- package/generated-types/1.0/classes/CoreUObject/FGPoleDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGPortableMinerDispenser.d.ts +31 -0
- package/generated-types/1.0/classes/CoreUObject/FGPortableMinerDispenser.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGPowerShardDescriptor.d.ts +11 -0
- package/generated-types/1.0/classes/CoreUObject/FGPowerShardDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGRecipe.d.ts +9 -0
- package/generated-types/1.0/classes/CoreUObject/FGRecipe.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGResourceDescriptor.d.ts +12 -0
- package/generated-types/1.0/classes/CoreUObject/FGResourceDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGSchematic.d.ts +169 -0
- package/generated-types/1.0/classes/CoreUObject/FGSchematic.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGSuitBase.d.ts +40 -0
- package/generated-types/1.0/classes/CoreUObject/FGSuitBase.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGVehicleDescriptor.d.ts +22 -0
- package/generated-types/1.0/classes/CoreUObject/FGVehicleDescriptor.js +1 -0
- package/generated-types/1.0/classes/CoreUObject/FGWeapon.d.ts +159 -0
- package/generated-types/1.0/classes/CoreUObject/FGWeapon.js +1 -0
- package/generated-types/1.0/common/scalar.d.ts +7 -0
- package/generated-types/1.0/common/scalar.js +1 -0
- package/generated-types/1.0/common/unassigned.d.ts +302 -0
- package/generated-types/1.0/common/unassigned.js +1 -0
- package/generated-types/1.0/utils/validators.d.ts +14 -0
- package/generated-types/1.0/utils/validators.js +14 -0
- package/lib/CustomParsingTypes/TypedString.d.ts +28 -2
- package/lib/CustomParsingTypes/TypedStringConst.d.ts +1 -1
- package/lib/CustomParsingTypes/TypedStringConst.js +2 -2
- package/lib/CustomParsingTypes/TypedStringEnum.js +1 -1
- package/lib/CustomParsingTypes/UnrealEngineString.d.ts +51 -2
- package/lib/CustomParsingTypes/UnrealEngineString.js +73 -6
- package/lib/CustomParsingTypes/ValueToRegexFormatter.d.ts +1 -0
- package/lib/CustomParsingTypes/ValueToRegexFormatter.js +12 -6
- package/lib/DataDiscovery/CustomTypes/TypedString.js +9 -1
- package/lib/DataDiscovery/CustomTypes/UnrealEngineString.js +9 -2
- package/lib/DataDiscovery/JsonSchema/Array.d.ts +10 -2
- package/lib/DataDiscovery/JsonSchema/Array.js +56 -12
- package/lib/DataDiscovery/JsonSchema/Object.js +6 -2
- package/lib/DataDiscovery/JsonSchema/OneOf.js +22 -2
- package/lib/DataDiscovery/JsonSchema/Ref.js +1 -1
- package/lib/DataDiscovery.d.ts +3 -2
- package/lib/DataDiscovery.js +7 -5
- package/lib/DocsSchema.d.ts +20 -0
- package/lib/DocsSchema.js +30 -0
- package/lib/DocsTsGenerator/FilesGenerator.d.ts +3 -2
- package/lib/DocsTsGenerator/FilesGenerator.js +5 -3
- package/lib/DocsTsGenerator.d.ts +15348 -10
- package/lib/DocsTsGenerator.js +81 -37
- package/lib/TsFactoryWrapper.d.ts +1 -1
- package/lib/TsFactoryWrapper.js +4 -4
- package/lib/TypeDefinitionDiscovery/CustomParsingTypes/UnrealEngineString.js +5 -2
- package/lib/TypeDefinitionDiscovery/CustomParsingTypes/typed_string.d.ts +5 -5
- package/lib/TypeDefinitionDiscovery/CustomParsingTypes/typed_string.js +3 -1
- package/lib/TypeDefinitionDiscovery.d.ts +3 -2
- package/lib/TypeDefinitionDiscovery.js +49 -5
- package/lib/TypeDefinitionWriter.d.ts +3 -2
- package/lib/TypeDefinitionWriter.js +12 -10
- package/lib/TypesDiscovery.d.ts +4 -3
- package/lib/TypesDiscovery.js +6 -4
- package/lib/helpers.js +14 -4
- package/package.json +3 -2
- package/schema/1.0.schema.json +13152 -0
- package/schema/update8.schema.json +98 -5
- package/types-progress--update8.md +296 -0
- package/types-progress--version_1_0_0_0.md +364 -0
|
@@ -2,7 +2,8 @@ import Ajv from 'ajv/dist/2020';
|
|
|
2
2
|
import ts, { StringLiteral, TypeNode, TypeReferenceNode, UnionTypeNode } from 'typescript';
|
|
3
3
|
import { entry } from '../FilesGenerator';
|
|
4
4
|
export declare const UnrealEngineString_regex: RegExp;
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const UnrealEngineString_regex_quoted: RegExp;
|
|
6
|
+
export declare const UnrealEngineString_general_regex = "/(?:[A-Z-][A-Za-z0-9_-]+/)+(?:[A-Z][A-Za-z_0-9-]+\\.[A-Z][A-Za-z_0-9-]+(?:_C)?(?::[A-Z][A-Za-z0-9_]+)?|[A-Z0-9][A-Za-z_]+\\.[A-Z0-9][A-Za-z_]+)";
|
|
6
7
|
export type UnrealEngineString_string_or_string_array = string | [string, ...string[]];
|
|
7
8
|
export declare function string_or_string_array_to_node(value: string | [string, ...string[]]): typeof value extends string ? (ts.LiteralTypeNode & {
|
|
8
9
|
literal: StringLiteral;
|
|
@@ -13,11 +14,14 @@ export type UnrealEngineString_right = UnrealEngineString_string_or_string_array
|
|
|
13
14
|
export type UnrealEngineString_type = {
|
|
14
15
|
left: UnrealEngineString_string_or_string_array;
|
|
15
16
|
right: UnrealEngineString_right;
|
|
17
|
+
quote_mode?: typeof UnrealEngineString['quote_mode'];
|
|
16
18
|
} | {
|
|
17
19
|
left: UnrealEngineString_string_or_string_array;
|
|
20
|
+
quote_mode?: typeof UnrealEngineString['quote_mode'];
|
|
18
21
|
} | {
|
|
19
22
|
right: UnrealEngineString_right;
|
|
20
|
-
|
|
23
|
+
quote_mode?: typeof UnrealEngineString['quote_mode'];
|
|
24
|
+
} | typeof UnrealEngineString['quote_mode'] | true;
|
|
21
25
|
export type UnrealEngineString_parent_type = {
|
|
22
26
|
type: 'string';
|
|
23
27
|
minLength: 1;
|
|
@@ -97,6 +101,10 @@ export declare const UnrealEngineString_schema_definitions: {
|
|
|
97
101
|
items?: undefined;
|
|
98
102
|
})[];
|
|
99
103
|
};
|
|
104
|
+
UnrealEngineString_quote_mode: {
|
|
105
|
+
type: string;
|
|
106
|
+
enum: string[];
|
|
107
|
+
};
|
|
100
108
|
};
|
|
101
109
|
export declare const UnrealEngineString_schema: {
|
|
102
110
|
oneOf: ({
|
|
@@ -110,7 +118,11 @@ export declare const UnrealEngineString_schema: {
|
|
|
110
118
|
right: {
|
|
111
119
|
$ref: "#/$defs/UnrealEngineString_right";
|
|
112
120
|
};
|
|
121
|
+
quote_mode: {
|
|
122
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
123
|
+
};
|
|
113
124
|
};
|
|
125
|
+
$ref?: undefined;
|
|
114
126
|
const?: undefined;
|
|
115
127
|
} | {
|
|
116
128
|
type: string;
|
|
@@ -120,8 +132,12 @@ export declare const UnrealEngineString_schema: {
|
|
|
120
132
|
left: {
|
|
121
133
|
$ref: "#/$defs/UnrealEngineString_left";
|
|
122
134
|
};
|
|
135
|
+
quote_mode: {
|
|
136
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
137
|
+
};
|
|
123
138
|
right?: undefined;
|
|
124
139
|
};
|
|
140
|
+
$ref?: undefined;
|
|
125
141
|
const?: undefined;
|
|
126
142
|
} | {
|
|
127
143
|
type: string;
|
|
@@ -131,8 +147,19 @@ export declare const UnrealEngineString_schema: {
|
|
|
131
147
|
right: {
|
|
132
148
|
$ref: "#/$defs/UnrealEngineString_right";
|
|
133
149
|
};
|
|
150
|
+
quote_mode: {
|
|
151
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
152
|
+
};
|
|
134
153
|
left?: undefined;
|
|
135
154
|
};
|
|
155
|
+
$ref?: undefined;
|
|
156
|
+
const?: undefined;
|
|
157
|
+
} | {
|
|
158
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
159
|
+
type?: undefined;
|
|
160
|
+
required?: undefined;
|
|
161
|
+
additionalProperties?: undefined;
|
|
162
|
+
properties?: undefined;
|
|
136
163
|
const?: undefined;
|
|
137
164
|
} | {
|
|
138
165
|
type: string;
|
|
@@ -140,6 +167,7 @@ export declare const UnrealEngineString_schema: {
|
|
|
140
167
|
required?: undefined;
|
|
141
168
|
additionalProperties?: undefined;
|
|
142
169
|
properties?: undefined;
|
|
170
|
+
$ref?: undefined;
|
|
143
171
|
})[];
|
|
144
172
|
};
|
|
145
173
|
export declare const UnrealEngineString_parent_schema: {
|
|
@@ -167,7 +195,11 @@ export declare const UnrealEngineString_parent_schema: {
|
|
|
167
195
|
right: {
|
|
168
196
|
$ref: "#/$defs/UnrealEngineString_right";
|
|
169
197
|
};
|
|
198
|
+
quote_mode: {
|
|
199
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
200
|
+
};
|
|
170
201
|
};
|
|
202
|
+
$ref?: undefined;
|
|
171
203
|
const?: undefined;
|
|
172
204
|
} | {
|
|
173
205
|
type: string;
|
|
@@ -177,8 +209,12 @@ export declare const UnrealEngineString_parent_schema: {
|
|
|
177
209
|
left: {
|
|
178
210
|
$ref: "#/$defs/UnrealEngineString_left";
|
|
179
211
|
};
|
|
212
|
+
quote_mode: {
|
|
213
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
214
|
+
};
|
|
180
215
|
right?: undefined;
|
|
181
216
|
};
|
|
217
|
+
$ref?: undefined;
|
|
182
218
|
const?: undefined;
|
|
183
219
|
} | {
|
|
184
220
|
type: string;
|
|
@@ -188,8 +224,19 @@ export declare const UnrealEngineString_parent_schema: {
|
|
|
188
224
|
right: {
|
|
189
225
|
$ref: "#/$defs/UnrealEngineString_right";
|
|
190
226
|
};
|
|
227
|
+
quote_mode: {
|
|
228
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
229
|
+
};
|
|
191
230
|
left?: undefined;
|
|
192
231
|
};
|
|
232
|
+
$ref?: undefined;
|
|
233
|
+
const?: undefined;
|
|
234
|
+
} | {
|
|
235
|
+
$ref: "#/$defs/UnrealEngineString_quote_mode";
|
|
236
|
+
type?: undefined;
|
|
237
|
+
required?: undefined;
|
|
238
|
+
additionalProperties?: undefined;
|
|
239
|
+
properties?: undefined;
|
|
193
240
|
const?: undefined;
|
|
194
241
|
} | {
|
|
195
242
|
type: string;
|
|
@@ -197,6 +244,7 @@ export declare const UnrealEngineString_parent_schema: {
|
|
|
197
244
|
required?: undefined;
|
|
198
245
|
additionalProperties?: undefined;
|
|
199
246
|
properties?: undefined;
|
|
247
|
+
$ref?: undefined;
|
|
200
248
|
})[];
|
|
201
249
|
};
|
|
202
250
|
};
|
|
@@ -204,6 +252,7 @@ export declare const UnrealEngineString_parent_schema: {
|
|
|
204
252
|
export declare const UnrealEngineString_left_default: string[];
|
|
205
253
|
export declare class UnrealEngineString {
|
|
206
254
|
private static already_configured;
|
|
255
|
+
static quote_mode: 'both' | 'original' | 'new' | 'double_escaped' | 'double';
|
|
207
256
|
static ajv_macro_generator(inner: boolean): (data_from_schema: UnrealEngineString_type) => {
|
|
208
257
|
pattern: string;
|
|
209
258
|
};
|
|
@@ -3,7 +3,9 @@ import { is_string, object_has_property, value_is_non_array_object, } from '@sat
|
|
|
3
3
|
import { adjust_class_name, create_const_statement, create_index_access, create_literal, create_method_with_type_parameters, create_method_without_type_parameters, create_modifiers, create_property_access, create_this_assignment, create_throw_if, create_type, createClass, createParameter, not, parenthesize, possibly_create_lazy_union, template_expression_from_string, type_reference_node, variable, } from '../TsFactoryWrapper';
|
|
4
4
|
import { local_ref, } from '../StringStartsWith';
|
|
5
5
|
export const UnrealEngineString_regex = /^([^']+)'(?:"([^"]+)"|([^"]+))'$/;
|
|
6
|
-
|
|
6
|
+
// eslint-disable-next-line max-len
|
|
7
|
+
export const UnrealEngineString_regex_quoted = /^"([^']+)'(?:"([^"]+)"|([^"]+))'"$/;
|
|
8
|
+
export const UnrealEngineString_general_regex = `/(?:[A-Z-][A-Za-z0-9_-]+/)+(?:[A-Z][A-Za-z_0-9-]+\\.[A-Z][A-Za-z_0-9-]+(?:_C)?(?::[A-Z][A-Za-z0-9_]+)?|[A-Z0-9][A-Za-z_]+\\.[A-Z0-9][A-Za-z_]+)`;
|
|
7
9
|
export function string_or_string_array_to_node(value) {
|
|
8
10
|
if (is_string(value)) {
|
|
9
11
|
return create_literal(value);
|
|
@@ -19,7 +21,15 @@ export function is_UnrealEngineString_parent(maybe) {
|
|
|
19
21
|
&& 1 === maybe.minLength
|
|
20
22
|
&& object_has_property(maybe, 'UnrealEngineString')
|
|
21
23
|
&& (true === maybe.UnrealEngineString
|
|
22
|
-
|| is_UnrealEngineString_object(maybe.UnrealEngineString)
|
|
24
|
+
|| is_UnrealEngineString_object(maybe.UnrealEngineString)
|
|
25
|
+
|| (is_string(maybe.UnrealEngineString)
|
|
26
|
+
&& [
|
|
27
|
+
'original',
|
|
28
|
+
'new',
|
|
29
|
+
'double_escaped',
|
|
30
|
+
'double',
|
|
31
|
+
'both',
|
|
32
|
+
].includes(maybe.UnrealEngineString))));
|
|
23
33
|
}
|
|
24
34
|
export const UnrealEngineString_schema_definitions = {
|
|
25
35
|
UnrealEngineString_left_string: {
|
|
@@ -77,6 +87,16 @@ export const UnrealEngineString_schema_definitions = {
|
|
|
77
87
|
] } },
|
|
78
88
|
},
|
|
79
89
|
] },
|
|
90
|
+
UnrealEngineString_quote_mode: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
enum: [
|
|
93
|
+
'original',
|
|
94
|
+
'both',
|
|
95
|
+
'double_escaped',
|
|
96
|
+
'double',
|
|
97
|
+
'new',
|
|
98
|
+
],
|
|
99
|
+
},
|
|
80
100
|
};
|
|
81
101
|
export const UnrealEngineString_schema = {
|
|
82
102
|
oneOf: [
|
|
@@ -91,6 +111,9 @@ export const UnrealEngineString_schema = {
|
|
|
91
111
|
right: {
|
|
92
112
|
$ref: local_ref('UnrealEngineString_right'),
|
|
93
113
|
},
|
|
114
|
+
quote_mode: {
|
|
115
|
+
$ref: local_ref('UnrealEngineString_quote_mode'),
|
|
116
|
+
},
|
|
94
117
|
},
|
|
95
118
|
},
|
|
96
119
|
{
|
|
@@ -101,6 +124,9 @@ export const UnrealEngineString_schema = {
|
|
|
101
124
|
left: {
|
|
102
125
|
$ref: local_ref('UnrealEngineString_left'),
|
|
103
126
|
},
|
|
127
|
+
quote_mode: {
|
|
128
|
+
$ref: local_ref('UnrealEngineString_quote_mode'),
|
|
129
|
+
},
|
|
104
130
|
},
|
|
105
131
|
},
|
|
106
132
|
{
|
|
@@ -111,8 +137,14 @@ export const UnrealEngineString_schema = {
|
|
|
111
137
|
right: {
|
|
112
138
|
$ref: local_ref('UnrealEngineString_right'),
|
|
113
139
|
},
|
|
140
|
+
quote_mode: {
|
|
141
|
+
$ref: local_ref('UnrealEngineString_quote_mode'),
|
|
142
|
+
},
|
|
114
143
|
},
|
|
115
144
|
},
|
|
145
|
+
{
|
|
146
|
+
$ref: local_ref('UnrealEngineString_quote_mode'),
|
|
147
|
+
},
|
|
116
148
|
{
|
|
117
149
|
type: 'boolean',
|
|
118
150
|
const: true,
|
|
@@ -132,12 +164,17 @@ export const UnrealEngineString_parent_schema = {
|
|
|
132
164
|
export const UnrealEngineString_left_default = [
|
|
133
165
|
'/Script/Engine.BlueprintGeneratedClass',
|
|
134
166
|
];
|
|
135
|
-
const right_value_starts_with_suffix =
|
|
167
|
+
const right_value_starts_with_suffix =
|
|
168
|
+
// eslint-disable-next-line max-len
|
|
169
|
+
'(?:_?[A-Z0-9][A-Za-z0-9_.]+/)*[A-Z0-9][A-Za-z_.0-9-]+(?::[A-Z0-9][A-Za-z0-9]+)?';
|
|
136
170
|
export class UnrealEngineString {
|
|
137
171
|
static already_configured = new WeakSet();
|
|
172
|
+
// eslint-disable-next-line max-len
|
|
173
|
+
static quote_mode = 'both';
|
|
138
174
|
static ajv_macro_generator(inner) {
|
|
139
175
|
return (data_from_schema) => {
|
|
140
|
-
const data = true === data_from_schema
|
|
176
|
+
const data = (true === data_from_schema
|
|
177
|
+
|| is_string(data_from_schema)) ? {} : data_from_schema;
|
|
141
178
|
const left_value = ('left' in data
|
|
142
179
|
? data.left instanceof Array
|
|
143
180
|
? data.left
|
|
@@ -157,7 +194,26 @@ export class UnrealEngineString {
|
|
|
157
194
|
.join('|')})`,
|
|
158
195
|
]).join('|')})`
|
|
159
196
|
: UnrealEngineString_general_regex;
|
|
160
|
-
|
|
197
|
+
let regex = `(?:(?:${left_value})'(?:${right_value}|"${right_value}")'|"(?:${left_value})'${right_value}'"|\\\\"(?:${left_value})'${right_value}'\\\\")`;
|
|
198
|
+
let quote_mode = this.quote_mode;
|
|
199
|
+
if (is_string(data_from_schema)) {
|
|
200
|
+
quote_mode = data_from_schema;
|
|
201
|
+
}
|
|
202
|
+
else if ('quote_mode' in data && undefined !== data.quote_mode) {
|
|
203
|
+
quote_mode = data.quote_mode;
|
|
204
|
+
}
|
|
205
|
+
if ('original' === quote_mode) {
|
|
206
|
+
regex = `(?:(?:${left_value})'(?:${right_value}|"${right_value}")')`;
|
|
207
|
+
}
|
|
208
|
+
else if ('new' === quote_mode) {
|
|
209
|
+
regex = `(?:"(?:${left_value})'${right_value}'"|\\\\"(?:${left_value})'${right_value}'\\\\")`;
|
|
210
|
+
}
|
|
211
|
+
else if ('double_escaped' === quote_mode) {
|
|
212
|
+
regex = `(?:\\\\"(?:${left_value})'${right_value}'\\\\")`;
|
|
213
|
+
}
|
|
214
|
+
else if ('double' === quote_mode) {
|
|
215
|
+
regex = `(?:"(?:${left_value})'${right_value}'")`;
|
|
216
|
+
}
|
|
161
217
|
return {
|
|
162
218
|
pattern: inner ? regex : `^${regex}$`,
|
|
163
219
|
};
|
|
@@ -301,6 +357,17 @@ function is_UnrealEngineString_object(maybe) {
|
|
|
301
357
|
&& 1 === Object.keys(maybe.right).length
|
|
302
358
|
&& is_string_or_string_array(maybe.right.starts_with)
|
|
303
359
|
: is_string_or_string_array(maybe.right));
|
|
304
|
-
|
|
360
|
+
const has_quote_mode = ('quote_mode' in maybe
|
|
361
|
+
&& is_string(maybe.quote_mode)
|
|
362
|
+
&& [
|
|
363
|
+
'original',
|
|
364
|
+
'double_escaped',
|
|
365
|
+
'double',
|
|
366
|
+
'both',
|
|
367
|
+
'new',
|
|
368
|
+
].includes(maybe.quote_mode));
|
|
369
|
+
return ((3 === keys.length && has_left && has_right && has_quote_mode)
|
|
370
|
+
|| (2 === keys.length && has_left && has_right)
|
|
371
|
+
|| (2 === keys.length && has_quote_mode && (has_left || has_right))
|
|
305
372
|
|| (1 === keys.length && (has_left || has_right)));
|
|
306
373
|
}
|
|
@@ -24,6 +24,7 @@ export declare class ValueToRegexFormatter {
|
|
|
24
24
|
private static is_typed_string_array_inner;
|
|
25
25
|
private static is_typed_string_array_prefixItems;
|
|
26
26
|
private static is_typed_string_object_inner;
|
|
27
|
+
private static is_typed_string_object_inner_no_required;
|
|
27
28
|
private static is_typed_string_object_parent;
|
|
28
29
|
private static is_typed_string_object_pattern_inner;
|
|
29
30
|
}
|
|
@@ -68,14 +68,14 @@ export class ValueToRegexFormatter {
|
|
|
68
68
|
const regex = this.value_to_regex(typed_string_array.items);
|
|
69
69
|
return `\\(${regex}${undefined === typed_string_array.minItems
|
|
70
70
|
? ''
|
|
71
|
-
: `(
|
|
71
|
+
: `(?:, ?${regex}){${typed_string_array.minItems - 1},}`}\\)`;
|
|
72
72
|
}
|
|
73
73
|
typed_string_object_inner_to_regex(typed_string_object) {
|
|
74
74
|
return `\\(${Object.entries(typed_string_object.properties).map((entry, index) => {
|
|
75
75
|
const [property, value] = entry;
|
|
76
|
-
return `(?:${index > 0
|
|
77
|
-
? '
|
|
78
|
-
: ''}${annoyingly_have_to_escape_property(property)}=(?:${this.value_to_regex(value)}))${typed_string_object
|
|
76
|
+
return `(?:(?:${index > 0
|
|
77
|
+
? ',?'
|
|
78
|
+
: ''}${annoyingly_have_to_escape_property(property)})=(?:${this.value_to_regex(value)}))${(typed_string_object?.required || []).includes(property)
|
|
79
79
|
? ''
|
|
80
80
|
: '?'}`;
|
|
81
81
|
}).join('')}\\)`;
|
|
@@ -86,7 +86,8 @@ export class ValueToRegexFormatter {
|
|
|
86
86
|
return `\\(${regex}(,${regex}){${typed_string_object.minProperties - 1},}\\)`;
|
|
87
87
|
}
|
|
88
88
|
value_to_regex(value) {
|
|
89
|
-
if (ValueToRegexFormatter.is_typed_string_object_inner(value)
|
|
89
|
+
if (ValueToRegexFormatter.is_typed_string_object_inner(value)
|
|
90
|
+
|| ValueToRegexFormatter.is_typed_string_object_inner_no_required(value)) {
|
|
90
91
|
return this.typed_string_object_inner_to_regex(value);
|
|
91
92
|
}
|
|
92
93
|
else if (ValueToRegexFormatter.is_typed_string_object_pattern_inner(value)) {
|
|
@@ -189,13 +190,18 @@ export class ValueToRegexFormatter {
|
|
|
189
190
|
&& object_has_property(maybe, 'properties', value_is_non_array_object)
|
|
190
191
|
&& 2 === Object.keys(maybe).length);
|
|
191
192
|
}
|
|
193
|
+
static is_typed_string_object_inner_no_required(maybe) {
|
|
194
|
+
return (object_has_property(maybe, 'properties', value_is_non_array_object)
|
|
195
|
+
&& 1 === Object.keys(maybe).length);
|
|
196
|
+
}
|
|
192
197
|
static is_typed_string_object_parent(maybe) {
|
|
193
198
|
return (object_has_property_that_equals(maybe, 'type', 'string')
|
|
194
199
|
&& object_has_property_that_equals(maybe, 'minLength', 1)
|
|
195
200
|
&& object_has_property(maybe, 'typed_string')
|
|
196
201
|
&& 3 === Object.keys(maybe).length
|
|
197
202
|
&& (this.is_typed_string_object_inner(maybe.typed_string)
|
|
198
|
-
|| this.is_typed_string_array_inner(maybe.typed_string)
|
|
203
|
+
|| this.is_typed_string_array_inner(maybe.typed_string)
|
|
204
|
+
|| this.is_typed_string_object_inner_no_required(maybe.typed_string)));
|
|
199
205
|
}
|
|
200
206
|
static is_typed_string_object_pattern_inner(maybe) {
|
|
201
207
|
return (object_has_property(maybe, 'minProperties', is_number)
|
|
@@ -34,13 +34,21 @@ export class TypedStringConverter extends ConverterMatchesSchema {
|
|
|
34
34
|
&& ((typed_string.is_array_type(schema.typed_string)
|
|
35
35
|
&& this.check_shallow_array_schema(schema.typed_string, string_to_array(raw_data, true)))
|
|
36
36
|
|| (typed_string.is_prefixItems_type(schema.typed_string)
|
|
37
|
-
&& this.check_shallow_array_prefixItems_schema(schema.typed_string, string_to_array(raw_data, true)))))
|
|
37
|
+
&& this.check_shallow_array_prefixItems_schema(schema.typed_string, string_to_array(raw_data, true)))))
|
|
38
|
+
|| (!('required' in schema.typed_string)
|
|
39
|
+
&& ('properties' in schema.typed_string)
|
|
40
|
+
&& typed_string.is_object_type(schema.typed_string))));
|
|
38
41
|
}
|
|
39
42
|
async convert(schema, raw_data) {
|
|
40
43
|
if (!await this.can_convert_schema_and_raw_data(schema, raw_data)) {
|
|
41
44
|
throw new NoMatchError({
|
|
42
45
|
schema,
|
|
43
46
|
raw_data,
|
|
47
|
+
can_convert: this.can_convert_schema(schema),
|
|
48
|
+
is_string: is_string(raw_data),
|
|
49
|
+
is_array_type: typed_string.is_array_type(schema.typed_string),
|
|
50
|
+
string_to_array: string_to_array(raw_data),
|
|
51
|
+
shallow: (typed_string.is_array_type(schema.typed_string) && this.check_shallow_array_schema(schema.typed_string, string_to_array(raw_data))),
|
|
44
52
|
}, 'Cannot convert!');
|
|
45
53
|
}
|
|
46
54
|
else if (typed_string.is_object_type(schema.typed_string)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { is_string, object_has_property, value_is_non_array_object, } from '@satisfactory-dev/predicates.ts';
|
|
2
2
|
import { Converter, ExpressionResult, } from '../Generator';
|
|
3
|
-
import { is_UnrealEngineString_parent, string_or_string_array_to_node, UnrealEngineString_regex, } from '../../CustomParsingTypes/UnrealEngineString';
|
|
3
|
+
import { is_UnrealEngineString_parent, string_or_string_array_to_node, UnrealEngineString_regex, UnrealEngineString_regex_quoted, } from '../../CustomParsingTypes/UnrealEngineString';
|
|
4
4
|
import ts from 'typescript';
|
|
5
5
|
import { create_literal, create_property_access, create_type, type_reference_node, } from '../../TsFactoryWrapper';
|
|
6
6
|
import { NoMatchError, } from '../../Exceptions';
|
|
@@ -11,13 +11,20 @@ export class UnrealEngineStringConverter extends Converter {
|
|
|
11
11
|
can_convert_schema_and_raw_data(schema, raw_data) {
|
|
12
12
|
return Promise.resolve(this.can_convert_schema(schema)
|
|
13
13
|
&& is_string(raw_data)
|
|
14
|
-
&& UnrealEngineString_regex.test(raw_data)
|
|
14
|
+
&& (UnrealEngineString_regex.test(raw_data)
|
|
15
|
+
|| UnrealEngineString_regex_quoted.test(raw_data)));
|
|
15
16
|
}
|
|
16
17
|
async convert(schema, raw_data) {
|
|
17
18
|
if (!await this.can_convert_schema_and_raw_data(schema, raw_data)) {
|
|
18
19
|
throw new NoMatchError({
|
|
19
20
|
schema,
|
|
20
21
|
raw_data,
|
|
22
|
+
can_convert: this.can_convert_schema(schema),
|
|
23
|
+
is_string: is_string(raw_data),
|
|
24
|
+
regex: UnrealEngineString_regex,
|
|
25
|
+
regex_quoted: UnrealEngineString_regex_quoted,
|
|
26
|
+
test_regex: UnrealEngineString_regex.test(raw_data),
|
|
27
|
+
test_regex_quoted: UnrealEngineString_regex_quoted.test(raw_data),
|
|
21
28
|
}, 'Not an UnrealEngineString!');
|
|
22
29
|
}
|
|
23
30
|
const type_args = [
|
|
@@ -8,10 +8,18 @@ type array_type = {
|
|
|
8
8
|
minItems: number;
|
|
9
9
|
maxItems?: number;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type prefix_array_type = {
|
|
12
|
+
type: 'array';
|
|
13
|
+
items?: false;
|
|
14
|
+
prefixItems: [SchemaObject, ...SchemaObject[]];
|
|
15
|
+
minItems: number;
|
|
16
|
+
maxItems?: number;
|
|
17
|
+
};
|
|
18
|
+
export declare class ArrayConverter extends ConverterMatchesSchema<array_type | prefix_array_type, unknown[], ArrayLiteralExpression> {
|
|
19
|
+
#private;
|
|
12
20
|
private readonly discovery;
|
|
13
21
|
constructor(discovery: DataDiscovery);
|
|
14
22
|
can_convert_schema_and_raw_data(schema: SchemaObject, raw_data: unknown): Promise<boolean>;
|
|
15
|
-
convert(schema: array_type, raw_data: unknown[]): Promise<ExpressionResult<ArrayLiteralExpression>>;
|
|
23
|
+
convert(schema: array_type | prefix_array_type, raw_data: unknown[]): Promise<ExpressionResult<ArrayLiteralExpression>>;
|
|
16
24
|
}
|
|
17
25
|
export {};
|
|
@@ -4,23 +4,45 @@ export class ArrayConverter extends ConverterMatchesSchema {
|
|
|
4
4
|
discovery;
|
|
5
5
|
constructor(discovery) {
|
|
6
6
|
super(discovery.docs.ajv, {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
oneOf: [
|
|
8
|
+
{
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['type', 'minItems', 'items'],
|
|
11
|
+
additionalProperties: false,
|
|
12
|
+
properties: {
|
|
13
|
+
type: { type: 'string', const: 'array' },
|
|
14
|
+
items: { type: 'object' },
|
|
15
|
+
minItems: { type: 'number', minimum: 0 },
|
|
16
|
+
maxItems: { type: 'number', minimum: 1 },
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: 'object',
|
|
21
|
+
required: ['type', 'minItems', 'prefixItems'],
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
properties: {
|
|
24
|
+
type: { type: 'string', const: 'array' },
|
|
25
|
+
items: { type: 'boolean', const: false },
|
|
26
|
+
prefixItems: { type: 'array', items: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
} },
|
|
29
|
+
minItems: { type: 'number', minimum: 0 },
|
|
30
|
+
maxItems: { type: 'number', minimum: 1 },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
],
|
|
16
34
|
});
|
|
17
35
|
this.discovery = discovery;
|
|
18
36
|
}
|
|
19
37
|
async can_convert_schema_and_raw_data(schema, raw_data) {
|
|
20
38
|
return Promise.resolve(this.can_convert_schema(schema)
|
|
21
39
|
&& raw_data instanceof Array
|
|
22
|
-
&&
|
|
23
|
-
|
|
40
|
+
&& ((!('prefixItems' in schema)
|
|
41
|
+
&& !!((await this.discovery.candidates).find(e => e.can_convert_schema(schema.items)))
|
|
42
|
+
&& !!Converter.has_matching_schema(await this.discovery.candidates, schema.items))
|
|
43
|
+
|| (('prefixItems' in schema)
|
|
44
|
+
&& !!await Promise.all(schema.prefixItems.map(async (sub_schema) => (!!(await this.discovery.candidates).find(e => e.can_convert_schema(sub_schema))
|
|
45
|
+
&& !!Converter.has_matching_schema(await this.discovery.candidates, sub_schema)))))));
|
|
24
46
|
}
|
|
25
47
|
async convert(schema, raw_data) {
|
|
26
48
|
if (!this.can_convert_schema(schema)
|
|
@@ -30,11 +52,33 @@ export class ArrayConverter extends ConverterMatchesSchema {
|
|
|
30
52
|
raw_data,
|
|
31
53
|
}, 'Cannot convert!');
|
|
32
54
|
}
|
|
55
|
+
const converted = 'prefixItems' in schema
|
|
56
|
+
? await this.#convert_prefixItems_type(schema, raw_data)
|
|
57
|
+
: await this.#convert_array_type(schema, raw_data);
|
|
58
|
+
return new ExpressionResult(await this.discovery.literal.array_literal(converted));
|
|
59
|
+
}
|
|
60
|
+
async #convert_array_type(schema, raw_data) {
|
|
33
61
|
const converter = await Converter.find_matching_schema(await this.discovery.candidates, schema.items);
|
|
34
62
|
const converted = [];
|
|
35
63
|
for (const entry of raw_data) {
|
|
36
64
|
converted.push(await converter.convert(schema.items, entry));
|
|
37
65
|
}
|
|
38
|
-
return
|
|
66
|
+
return converted;
|
|
67
|
+
}
|
|
68
|
+
async #convert_prefixItems_type(schema, raw_data) {
|
|
69
|
+
if (raw_data.length > schema.prefixItems.length) {
|
|
70
|
+
throw new NoMatchError({
|
|
71
|
+
schema,
|
|
72
|
+
raw_data,
|
|
73
|
+
}, `Schema requires prefixItems of no more than ${schema.prefixItems.length}, ${raw_data.length} found!`);
|
|
74
|
+
}
|
|
75
|
+
const converted = [];
|
|
76
|
+
let index = 0;
|
|
77
|
+
for (const entry of schema.prefixItems) {
|
|
78
|
+
const converter = await Converter.find_matching_schema(await this.discovery.candidates, entry);
|
|
79
|
+
converted.push(await converter.convert(entry, raw_data[index]));
|
|
80
|
+
++index;
|
|
81
|
+
}
|
|
82
|
+
return converted;
|
|
39
83
|
}
|
|
40
84
|
}
|
|
@@ -61,7 +61,7 @@ class ObjectConverterMatchesSchema extends ConverterMatchesSchema {
|
|
|
61
61
|
return converters;
|
|
62
62
|
}
|
|
63
63
|
async resolve_converters_for_$ref($ref) {
|
|
64
|
-
const definition = await this.discovery.docs.definition($ref.substring(8));
|
|
64
|
+
const definition = await this.discovery.docs.definition(this.discovery.version, $ref.substring(8));
|
|
65
65
|
return this.resolve_converters(definition);
|
|
66
66
|
}
|
|
67
67
|
async resolve_schema(schema, depth = 0) {
|
|
@@ -85,7 +85,7 @@ class ObjectConverterMatchesSchema extends ConverterMatchesSchema {
|
|
|
85
85
|
if ('$ref' in schema
|
|
86
86
|
&& is_string(schema.$ref)
|
|
87
87
|
&& schema.$ref.startsWith('#/$defs/')) {
|
|
88
|
-
for (const entry of Object.entries(await this.resolve_schema(await this.discovery.docs.definition(schema.$ref.substring(8)), depth + 1))) {
|
|
88
|
+
for (const entry of Object.entries(await this.resolve_schema(await this.discovery.docs.definition(this.discovery.version, schema.$ref.substring(8)), depth + 1))) {
|
|
89
89
|
const [property, sub_schema] = entry;
|
|
90
90
|
if (!(property in resolved_schema)) {
|
|
91
91
|
resolved_schema[property] = sub_schema;
|
|
@@ -128,10 +128,14 @@ export class ObjectConverter extends ObjectConverterMatchesSchema {
|
|
|
128
128
|
performance.mark(`${this.constructor.name}.convert() property start`);
|
|
129
129
|
if (!await converters[property].can_convert_schema_and_raw_data(sub_schema[property], value)) {
|
|
130
130
|
throw new NoMatchError({
|
|
131
|
+
raw_data,
|
|
131
132
|
property,
|
|
133
|
+
converter: converters[property].constructor.name,
|
|
134
|
+
can_convert_schema: converters[property].can_convert_schema(sub_schema[property]),
|
|
132
135
|
value,
|
|
133
136
|
sub_schema: sub_schema[property],
|
|
134
137
|
instance: converters[property].constructor.name,
|
|
138
|
+
schema,
|
|
135
139
|
}, 'Cannot convert value!');
|
|
136
140
|
}
|
|
137
141
|
performance.measure(`${this.constructor.name}.convert() property checked`, `${this.constructor.name}.convert() property start`);
|
|
@@ -30,17 +30,37 @@ export class OneOfConverter extends ConverterMatchesSchema {
|
|
|
30
30
|
}
|
|
31
31
|
async convert(schema, raw_data) {
|
|
32
32
|
const candidates = await this.discovery.candidates;
|
|
33
|
+
const failures = [];
|
|
33
34
|
for (const entry of schema.oneOf) {
|
|
34
35
|
const converter = await Converter.has_matching_schema_and_raw_data(candidates, entry, raw_data);
|
|
35
36
|
if (converter
|
|
36
37
|
&& await converter.can_convert_schema_and_raw_data(entry, raw_data)) {
|
|
37
|
-
|
|
38
|
+
try {
|
|
39
|
+
return await converter.convert(entry, raw_data);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
if (err instanceof NoMatchError) {
|
|
43
|
+
failures.push(err);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
38
46
|
}
|
|
39
47
|
}
|
|
40
48
|
throw new NoMatchError({
|
|
41
49
|
schema,
|
|
42
50
|
raw_data,
|
|
43
|
-
|
|
51
|
+
failures,
|
|
52
|
+
oneOf: await Promise.all(schema.oneOf.map(async (e) => {
|
|
53
|
+
// eslint-disable-next-line max-len
|
|
54
|
+
const converter = await Converter.has_matching_schema_and_raw_data(candidates, e, raw_data);
|
|
55
|
+
return [
|
|
56
|
+
e,
|
|
57
|
+
converter,
|
|
58
|
+
(converter
|
|
59
|
+
// eslint-disable-next-line max-len
|
|
60
|
+
? await converter.can_convert_schema_and_raw_data(e, raw_data)
|
|
61
|
+
: 'no converter'),
|
|
62
|
+
];
|
|
63
|
+
})),
|
|
44
64
|
}, 'Unable to convert data!');
|
|
45
65
|
}
|
|
46
66
|
}
|
|
@@ -45,7 +45,7 @@ export class Ref extends ConverterMatchesSchema {
|
|
|
45
45
|
performance.mark(`${this.constructor.name}.resolve_to_final_converter_schema_only() start`);
|
|
46
46
|
if (!(schema.$ref in this.cache)) {
|
|
47
47
|
while (this.can_convert_schema(checking)) {
|
|
48
|
-
checking = await this.discovery.docs.definition(checking.$ref.substring(8));
|
|
48
|
+
checking = await this.discovery.docs.definition(this.discovery.version, checking.$ref.substring(8));
|
|
49
49
|
}
|
|
50
50
|
if (this.can_convert_schema(checking)) {
|
|
51
51
|
throw new NoMatchError({
|
package/lib/DataDiscovery.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocsDataItem, DocsTsGenerator } from './DocsTsGenerator';
|
|
1
|
+
import { docs_versions, DocsDataItem, DocsTsGenerator } from './DocsTsGenerator';
|
|
2
2
|
import { GeneratesMarkdown } from './MarkdownUtilities';
|
|
3
3
|
import { Converter } from './DataDiscovery/Generator';
|
|
4
4
|
import { FilesGenerator } from './FilesGenerator';
|
|
@@ -16,7 +16,8 @@ export declare class DataDiscovery extends FilesGenerator implements GeneratesMa
|
|
|
16
16
|
]>;
|
|
17
17
|
readonly docs: DocsTsGenerator;
|
|
18
18
|
readonly literal: Literal;
|
|
19
|
-
|
|
19
|
+
readonly version: keyof docs_versions;
|
|
20
|
+
constructor(docs: DocsTsGenerator, version: keyof docs_versions, literal?: Literal);
|
|
20
21
|
expecting(): Promise<progress>;
|
|
21
22
|
generate(): Promise<[ts.Expression, DocsDataItem][]>;
|
|
22
23
|
generate_files(): AsyncGenerator<{
|
package/lib/DataDiscovery.js
CHANGED
|
@@ -20,11 +20,13 @@ export class DataDiscovery extends FilesGenerator {
|
|
|
20
20
|
candidates;
|
|
21
21
|
docs;
|
|
22
22
|
literal;
|
|
23
|
-
|
|
23
|
+
version;
|
|
24
|
+
constructor(docs, version, literal) {
|
|
24
25
|
super();
|
|
25
26
|
this.docs = docs;
|
|
26
27
|
this.literal = literal || new Literal();
|
|
27
|
-
this.
|
|
28
|
+
this.version = version;
|
|
29
|
+
this.candidates = docs.schema(version).then(({ $defs }) => {
|
|
28
30
|
return [
|
|
29
31
|
new BooleanConverter(docs.ajv),
|
|
30
32
|
new ArrayConverter(this),
|
|
@@ -43,14 +45,14 @@ export class DataDiscovery extends FilesGenerator {
|
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
async expecting() {
|
|
46
|
-
const json = await this.docs.get();
|
|
48
|
+
const json = await this.docs.get(this.version);
|
|
47
49
|
return Object.fromEntries(json.map(e => [e.NativeClass, e.Classes.map(e => e.ClassName)]));
|
|
48
50
|
}
|
|
49
51
|
async generate() {
|
|
50
52
|
const result = [];
|
|
51
53
|
const [schema, docs,] = await Promise.all([
|
|
52
|
-
this.docs.schema(),
|
|
53
|
-
this.docs.get(),
|
|
54
|
+
this.docs.schema(this.version),
|
|
55
|
+
this.docs.get(this.version),
|
|
54
56
|
]);
|
|
55
57
|
let index = 0;
|
|
56
58
|
for (const e of docs) {
|