All Downloads are FREE. Search and download functionalities are using the official Maven repository.

defs.main-tests.source.izumi.test.domain02.domain Maven / Gradle / Ivy

The newest version!
package izumi.test.domain02

import izumi.test.domain01

import izumi.test.domain01.{
    RTestEnum
    TestValIdentifier as TVI
    ImportAppId
    GenericFailure
    GenericFailureData
//    TokenId
//    TokenD
}

include "model01.model"
include "model02.model"

alias RTestEnumIndirect = izumi.test.domain01#RTestEnum
alias RTestEnumDirect = RTestEnum

alias ImportedBasicFailure = izumi.test.domain01#BasicFailure

mixin TestInterface1 {
  if1Field_overriden: i32
  if1Field_inherited: i32
  sameField: i64
  sameEverywhereField: i64

  fromOtherDomain: izumi.test.domain01#TestValIdentifier
  fromOtherDomainDirect: TVI
}

mixin TestInterface2 {
  if2Field: i64
  sameField: i64
  sameEverywhereField: i64
}

mixin TestInterface3 {
  & TestInterface1

  if1Field_overriden: i32
  if3Field: i64
  sameEverywhereField: i64
}

data DTO1 {
  & TestInterface2
  & TestInterface3
}


mixin Pair1 {
  x: str
  y: string
}

mixin Pair2 {
  y: str
  x: str
}

data TestDataWithAlias {
  a: RTestEnum
}

id TestIDReturn {
    a: i32
}

alias ImportedIDForDomain2 = izumi.test.domain01#IDForDomain2
alias AliasedTestObject = izumi.test.domain01#TestObject
alias AliasedGoAliasEnumTest = izumi.test.domain01#GoAliasEnumTest
data AliasedUsageData {
    testObj: AliasedTestObject
    enumField: AliasedGoAliasEnumTest
}

alias RTestObject1 = izumi.test.domain01#RTestObject1
alias AnyValTest2 = izumi.test.domain01#AnyValTest2

/** docstring
  */
service TestAliasServ {
    /** docstring
      */
    def getMassCoupons(iterator: opt[RTestObject1]) => i32

    /** docstring
      */
    def ifaceMethod(va: AnyValTest2) => i32

    def testADTIdReturn() => (TestIDReturn | DTO1)
    def testADTIdImportedReturn() => (ImportedIDForDomain2 | DTO1)
}


adt SomeResp {
    ImportedBasicFailure
    DTO1
}

data Adt2 {
    b: i32
}

data AdtA1 {
    a: i32
}

data AdtA2 {
    b: i32
}

adt AdtA {
    AdtA1
    AdtA2
}

service NestedAdtsService {
    def adtNested() => (AdtA | Adt2)
}

mixin ImportIdTest {
    id: ImportAppId
    fail: GenericFailure
    mix: GenericFailureData
}

service ImportIdService {
    def some(id: ImportAppId) => u64
    def mixi(par: GenericFailureData) => (AdtA2 | GenericFailureData)
    def update(id: ImportAppId) => (AdtA2 | GenericFailure)
//    def impres() => (TokenId | TokenD) !! GenericFailure
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy