Skip to content

Omit<_> in method overload should trigger de-duplication of the name #214

@MangelMaxime

Description

@MangelMaxime

Issue created from Glutinum Tool

Glutinum version - 0.13.0-preview

TypeScript

export interface BrowserPage {
  screenshot(options: Omit<ScreenshotOptions, 'save'> & { save: false }): string
  screenshot(options: Omit<ScreenshotOptions, 'base64'> & { base64: true }): {
    path: string
    base64: string
  }
}

interface ScreenshotOptions {
  base64?: boolean
  save?: boolean
}

const page = {} as BrowserPage

const x : string = page.screenshot({ save: false })

FSharp

module rec Glutinum

open Fable.Core
open Fable.Core.JsInterop
open System

[<AllowNullLiteral>]
[<Interface>]
type BrowserPage =
    abstract member screenshot: options: BrowserPage.screenshot.options -> string
    abstract member screenshot: options: BrowserPage.screenshot.options -> BrowserPage.screenshot

[<AllowNullLiteral>]
[<Interface>]
type ScreenshotOptions =
    abstract member base64: bool option with get, set
    abstract member save: bool option with get, set



module BrowserPage =

    [<Global>]
    [<AllowNullLiteral>]
    type screenshot
        [<ParamObject; Emit("$0")>]
        (
            path: string,
            base64: string
        ) =

        member val path : string = nativeOnly with get, set
        member val base64 : string = nativeOnly with get, set

    module screenshot =

        [<AllowNullLiteral>]
        [<Interface>]
        type options =
            abstract member base64: bool option with get, set
            abstract member save: bool with get, set
            abstract member save: bool option with get, set
            abstract member base64: bool with get, set

Problem description

We should generate options and options_1 types to resolve the conflicts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions