Comments (1)
The problem must be this type is defined in a different module, and the current TypeScript generation does not seem to be designed to export modules independently.
This turned out to be only partially true. Overall, the TypeScript type system is powerful enough to not complain when types are compatible. In fact, this is why no problem arises with so many carp common types, which are also redefined in all TS declaration files.
The problem is the generated TS declarations for SamplingConfiguration
(used deep down in StudyDeploymentStatus
) are forced to be 'unique'.
export namespace dk.cachet.carp.common.application.sampling {
interface SamplingConfiguration {
readonly __doNotUseOrImplementIt: {
readonly "dk.cachet.carp.common.application.sampling.SamplingConfiguration": unique symbol;
};
}
}
The unique symbol
is defined in both the generated studies and deployments subsystem TS declarations. When trying to verify whether one type declared in the studies TS declaration is compatible with the same type in the deployments TS declaration, the mismatch only happens there, because by design different unique symbol
's are not compatible with one another.
tests/carp-studies-test.ts(118,96): error TS2345: Argument of type 'Running' is not assignable to parameter of type 'StudyDeploymentStatus'.
Types of property 'deviceStatusList' are incompatible.
Type 'carp_deployments_core_generated.kotlin.collections.List<carp_deployments_core_generated.dk.cachet.carp.deployments.application.DeviceDeploymentStatus>' is not assignable to type 'carp_studies_core_generated.kotlin.collections.List<carp_studies_core_generated.dk.cachet.carp.deployments.application.DeviceDeploymentStatus>'.
Type 'carp_deployments_core_generated.dk.cachet.carp.deployments.application.DeviceDeploymentStatus' is not assignable to type 'carp_studies_core_generated.dk.cachet.carp.deployments.application.DeviceDeploymentStatus'.
The types of 'device.defaultSamplingConfiguration' are incompatible between these types.
Type 'carp_deployments_core_generated.kotlin.collections.Map<carp_deployments_core_generated.dk.cachet.carp.common.application.NamespacedId, carp_deployments_core_generated.dk.cachet.carp.common.application.sampling.SamplingConfiguration>' is not assignable to type 'carp_studies_core_generated.kotlin.collections.Map<carp_studies_core_generated.dk.cachet.carp.common.application.NamespacedId, carp_studies_core_generated.dk.cachet.carp.common.application.sampling.SamplingConfiguration>'.
Type 'carp_deployments_core_generated.dk.cachet.carp.common.application.sampling.SamplingConfiguration' is not assignable to type 'carp_studies_core_generated.dk.cachet.carp.common.application.sampling.SamplingConfiguration'.
The types of '__doNotUseOrImplementIt["dk.cachet.carp.common.application.sampling.SamplingConfiguration"]' are incompatible between these types.
Type 'typeof "dk.cachet.carp.common.application.sampling.SamplingConfiguration"' is not assignable to type 'typeof "dk.cachet.carp.common.application.sampling.SamplingConfiguration"'. Two different types with this name exist, but they are unrelated.
from carp.core-kotlin.
Related Issues (20)
- Should `DataStreamService.openDataStreams` not fail for existing streams?
- Automatically bundle RPC example requests in releases
- Implement unit of work pattern for repositories HOT 1
- `PrimaryDeviceDeployment.lastUpdatedOn` is only accessible in Kotlin
- Can logged in `participantId` be modeled in client's `StudyStatus`?
- Storing `triggerId` and `deviceRoleName` in `TriggeredTask` is redundant HOT 2
- Should `DeviceRegistration` include freeform specification data? HOT 7
- `StudyStatus.Configuring.canGoLive` should check for more data HOT 6
- Can't find device with role name 'location_service' in snapshot. HOT 2
- Change invitations after study has gone live
- Use new JSON unquoted literal in `UnknownPolymorphicSerializer`
- Deserializing Measurement fails when using custom data types HOT 5
- TypeScript export for `Nullable` is missing HOT 7
- Need to know the version tag for a StudyProtocolSnapshot HOT 1
- Add phone number input data type HOT 3
- Redundant data type descriptors on data stream data points
- Add informed consent input data type HOT 2
- Add Social Security Number as Input Data Type HOT 4
- Inherited properties are missing from StudyProtocolSnapshot TS class
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from carp.core-kotlin.