diff --git a/packages/quicktype-core/src/index.ts b/packages/quicktype-core/src/index.ts index 6da647b12..10aaeb9ee 100644 --- a/packages/quicktype-core/src/index.ts +++ b/packages/quicktype-core/src/index.ts @@ -69,9 +69,9 @@ export { type PrimitiveStringTypeKind } from "./Type"; export { getStream } from "./input/io/get-stream"; -// eslint-disable-next-line import/no-cycle + export { readableFromFileOrURL, readFromFileOrURL } from "./input/io/NodeIO"; -// eslint-disable-next-line import/no-cycle + export { FetchingJSONSchemaStore } from "./input/FetchingJSONSchemaStore"; export { JSONSchemaStore, type JSONSchema } from "./input/JSONSchemaStore"; export { sourcesFromPostmanCollection } from "./input/PostmanCollection"; diff --git a/packages/quicktype-core/src/input/FetchingJSONSchemaStore.ts b/packages/quicktype-core/src/input/FetchingJSONSchemaStore.ts index 4e7c132f5..028c73d11 100644 --- a/packages/quicktype-core/src/input/FetchingJSONSchemaStore.ts +++ b/packages/quicktype-core/src/input/FetchingJSONSchemaStore.ts @@ -1,5 +1,4 @@ -// eslint-disable-next-line import/no-cycle -import { parseJSON } from ".."; +import { parseJSON } from "../support/Support"; import { readFromFileOrURL } from "./io/NodeIO"; import { type JSONSchema, JSONSchemaStore } from "./JSONSchemaStore"; diff --git a/packages/quicktype-core/src/input/Inputs.ts b/packages/quicktype-core/src/input/Inputs.ts index 96d78756a..92eb37760 100644 --- a/packages/quicktype-core/src/input/Inputs.ts +++ b/packages/quicktype-core/src/input/Inputs.ts @@ -2,7 +2,6 @@ import { arrayMapSync, iterableFind, iterableFirst, iterableSome, setFilterMap, import { descriptionTypeAttributeKind } from "../attributes/Description"; import { makeNamesTypeAttributes } from "../attributes/TypeNames"; -// eslint-disable-next-line import/no-cycle import { languageNamed } from "../language/All"; import { messageError } from "../Messages"; import { type RunContext } from "../Run"; diff --git a/packages/quicktype-core/src/input/io/NodeIO.ts b/packages/quicktype-core/src/input/io/NodeIO.ts index f8cf94b44..885f5b57f 100644 --- a/packages/quicktype-core/src/input/io/NodeIO.ts +++ b/packages/quicktype-core/src/input/io/NodeIO.ts @@ -6,8 +6,8 @@ import _fetch from "cross-fetch"; import isURL from "is-url"; import { type Readable } from "readable-stream"; -// eslint-disable-next-line import/no-cycle -import { messageError, panic } from "../../index"; +import { messageError } from "../../Messages"; +import { panic } from "../../support/Support"; import { getStream } from "./get-stream"; diff --git a/packages/quicktype-core/src/language/All.ts b/packages/quicktype-core/src/language/All.ts index 227ca4322..7fe1c87d3 100644 --- a/packages/quicktype-core/src/language/All.ts +++ b/packages/quicktype-core/src/language/All.ts @@ -13,7 +13,6 @@ import { GoTargetLanguage } from "./Golang"; import { HaskellTargetLanguage } from "./Haskell"; import { JavaTargetLanguage } from "./Java"; import { JavaScriptTargetLanguage } from "./JavaScript"; -// eslint-disable-next-line import/no-cycle import { JavaScriptPropTypesTargetLanguage } from "./JavaScriptPropTypes"; import { JSONSchemaTargetLanguage } from "./JSONSchema"; import { KotlinTargetLanguage } from "./Kotlin"; diff --git a/packages/quicktype-core/src/language/CJSON/language.ts b/packages/quicktype-core/src/language/CJSON/language.ts index c18c6806a..82e32ffd9 100644 --- a/packages/quicktype-core/src/language/CJSON/language.ts +++ b/packages/quicktype-core/src/language/CJSON/language.ts @@ -25,7 +25,7 @@ import { type RenderContext } from "../../Renderer"; import { EnumOption, type Option, StringOption, getOptionValues } from "../../RendererOptions"; import { type NamingStyle } from "../../support/Strings"; import { TargetLanguage } from "../../TargetLanguage"; -import { type FixMeOptionsType, type FixMeOptionsAnyType } from "../../types"; +import { type FixMeOptionsAnyType, type FixMeOptionsType } from "../../types"; import { CJSONRenderer } from "./CJSONRenderer"; diff --git a/packages/quicktype-core/src/support/Acronyms.const.ts b/packages/quicktype-core/src/support/Acronyms.const.ts new file mode 100644 index 000000000..385234542 --- /dev/null +++ b/packages/quicktype-core/src/support/Acronyms.const.ts @@ -0,0 +1,1097 @@ +export const acronyms = [ + "aaa", + "aabb", + "aac", + "aal", + "aalc", + "aarp", + "abac", + "abcl", + "abi", + "abm", + "abr", + "ac", + "acd", + "ack", + "acl", + "acm", + "acme", + "acp", + "acpi", + "acr", + "adb", + "adc", + "adccp", + "ado", + "adsl", + "adt", + "ae", + "aes", + "af", + "afp", + "agp", + "ai", + "aix", + "alac", + "algol", + "alsa", + "alu", + "amd", + "amoled", + "amqp", + "amr", + "ann", + "ansi", + "aop", + "apci", + "api", + "apic", + "apipa", + "apl", + "apr", + "arin", + "aros", + "arp", + "arpa", + "arpanet", + "ascii", + "aset", + "asg", + "asic", + "asimo", + "aslr", + "asm", + "asmp", + "asp", + "asr", + "assp", + "ast", + "ata", + "atag", + "atapi", + "atm", + "av", + "avc", + "avi", + "awfl", + "awk", + "awt", + "bal", + "bam", + "bbp", + "bbs", + "bcd", + "bcnf", + "beep", + "ber", + "bfd", + "bfs", + "bft", + "bgp", + "bi", + "binac", + "bios", + "bjt", + "bmp", + "bnc", + "boinc", + "bom", + "bootp", + "bpdu", + "bpel", + "bpl", + "bpm", + "brm", + "brms", + "brr", + "brs", + "bsa", + "bsb", + "bsd", + "bss", + "bt", + "bw", + "byod", + "ca", + "cad", + "cae", + "cai", + "caid", + "captcha", + "caq", + "cd", + "cde", + "cdfs", + "cdma", + "cdn", + "cdp", + "cdsa", + "cert", + "ces", + "cf", + "cfd", + "cfg", + "cg", + "cga", + "cgi", + "cgt", + "chs", + "cidr", + "cifs", + "cim", + "cio", + "cir", + "cisc", + "cjk", + "cjkv", + "cli", + "clr", + "cm", + "cmdb", + "cmmi", + "cmo", + "cmos", + "cms", + "cn", + "cnc", + "cng", + "cnr", + "cobol", + "com", + "corba", + "cots", + "cpa", + "cpan", + "cpri", + "cps", + "cpu", + "cr", + "cran", + "crc", + "crlf", + "crm", + "crs", + "crt", + "crud", + "cs", + "cse", + "csi", + "csm", + "csp", + "csrf", + "css", + "csv", + "ct", + "ctan", + "ctcp", + "ctfe", + "cti", + "ctl", + "ctm", + "cts", + "ctss", + "cua", + "cvs", + "dac", + "dal", + "dao", + "dap", + "darpa", + "dat", + "db", + "dba", + "dbcs", + "dbms", + "dcc", + "dcca", + "dccp", + "dcl", + "dcmi", + "dcom", + "dcs", + "dd", + "dde", + "ddi", + "ddl", + "ddr", + "dec", + "des", + "dfa", + "dfd", + "dfs", + "dgd", + "dhcp", + "dhtml", + "dif", + "dimm", + "din", + "dip", + "dism", + "divx", + "dkim", + "dl", + "dll", + "dlna", + "dlp", + "dma", + "dmca", + "dmi", + "dml", + "dmr", + "dmz", + "dn", + "dnd", + "dns", + "doa", + "docsis", + "dom", + "dos", + "dp", + "dpc", + "dpi", + "dpmi", + "dpms", + "dr", + "dram", + "dri", + "drm", + "dsa", + "dsdl", + "dsdm", + "dsl", + "dslam", + "dsn", + "dsp", + "dsssl", + "dtd", + "dte", + "dtp", + "dtr", + "dvd", + "dvi", + "dvr", + "dw", + "eai", + "eap", + "eas", + "ebcdic", + "ebml", + "ecc", + "ecma", + "ecn", + "ecos", + "ecrs", + "eda", + "edi", + "edo", + "edsac", + "edvac", + "eeprom", + "eff", + "efi", + "efm", + "efs", + "ega", + "egp", + "eide", + "eigrp", + "eisa", + "elf", + "emacs", + "ems", + "eniac", + "eod", + "eof", + "eol", + "eom", + "eos", + "eprom", + "erd", + "erm", + "erp", + "esb", + "escon", + "esd", + "esr", + "etl", + "etw", + "euc", + "eula", + "ewmh", + "ext", + "fap", + "faq", + "fasm", + "fbdimm", + "fcb", + "fcs", + "fdc", + "fdd", + "fddi", + "fdm", + "fdma", + "fds", + "fec", + "femb", + "fet", + "fhs", + "ficon", + "fifo", + "fips", + "fl", + "flac", + "flops", + "fmc", + "fmo", + "foldoc", + "fosdem", + "fosi", + "foss", + "fp", + "fpga", + "fps", + "fpu", + "fqdn", + "fru", + "fs", + "fsb", + "fsf", + "fsm", + "ftp", + "ftta", + "fttc", + "ftth", + "fttp", + "fud", + "fvek", + "fws", + "fxp", + "fyi", + "gb", + "gcc", + "gcj", + "gcr", + "gdb", + "gdi", + "geran", + "gfdl", + "gif", + "gigo", + "gimps", + "gis", + "gml", + "gnu", + "goms", + "gpasm", + "gpfs", + "gpg", + "gpgpu", + "gpib", + "gpl", + "gprs", + "gpt", + "gpu", + "gsm", + "gui", + "guid", + "gwt", + "gyr", + "hal", + "hasp", + "hba", + "hci", + "hcl", + "hd", + "hdd", + "hdl", + "hdmi", + "hf", + "hfs", + "hhd", + "hid", + "hig", + "hird", + "hlasm", + "hls", + "hma", + "hp", + "hpc", + "hpfs", + "hsdpa", + "hsm", + "ht", + "htc", + "htm", + "html", + "http", + "https", + "htx", + "hurd", + "hvd", + "iana", + "ibm", + "ic", + "icann", + "ich", + "icmp", + "icp", + "ics", + "ict", + "id", + "ide", + "idf", + "idl", + "ids", + "iec", + "ieee", + "ietf", + "ifl", + "igmp", + "igrp", + "ihv", + "iiop", + "iis", + "ike", + "il", + "im", + "imap", + "ime", + "infosec", + "ip", + "ipam", + "ipc", + "ipl", + "ipmi", + "ipo", + "ipp", + "ips", + "iptv", + "ipx", + "ir", + "irc", + "iri", + "irp", + "irq", + "isa", + "isam", + "isatap", + "isc", + "isdn", + "iso", + "isp", + "ispf", + "isr", + "isv", + "itil", + "itl", + "itu", + "ivcr", + "ivrs", + "jaxb", + "jaxp", + "jbod", + "jce", + "jcl", + "jcp", + "jdbc", + "jdk", + "jds", + "jee", + "jes", + "jfc", + "jfet", + "jfs", + "jini", + "jit", + "jme", + "jms", + "jmx", + "jndi", + "jni", + "jnz", + "jpeg", + "jre", + "js", + "jse", + "json", + "jsp", + "jtag", + "jvm", + "kb", + "kde", + "km", + "krl", + "kvm", + "lacp", + "lan", + "lb", + "lba", + "lcd", + "lcos", + "lcr", + "ldap", + "le", + "led", + "lf", + "lfs", + "lga", + "lgpl", + "lib", + "lif", + "lifo", + "lilo", + "lisp", + "lkml", + "lm", + "loc", + "lpc", + "lpi", + "lpt", + "lru", + "lsb", + "lsi", + "lte", + "ltl", + "ltr", + "lun", + "lv", + "lvd", + "lvm", + "lzw", + "mac", + "manet", + "mapi", + "mb", + "mbcs", + "mbd", + "mbr", + "mca", + "mcad", + "mcas", + "mcdba", + "mcdst", + "mcitp", + "mcm", + "mcp", + "mcpc", + "mcpd", + "mcsa", + "mcsd", + "mcse", + "mct", + "mcts", + "mda", + "mdf", + "mdi", + "mf", + "mfc", + "mfm", + "mgcp", + "mib", + "micr", + "midi", + "mimd", + "mime", + "mimo", + "minix", + "mips", + "mis", + "misd", + "mit", + "mmc", + "mmds", + "mmf", + "mmi", + "mmio", + "mmorpg", + "mmu", + "mmx", + "mng", + "mom", + "mos", + "mosfet", + "motd", + "mous", + "mov", + "mpaa", + "mpeg", + "mpl", + "mpls", + "mpu", + "ms", + "msa", + "msb", + "msdn", + "msi", + "msn", + "mt", + "mta", + "mtbf", + "mtu", + "mua", + "mvc", + "mvp", + "mvs", + "mwc", + "mx", + "mxf", + "nack", + "nak", + "nas", + "nasm", + "ncp", + "ncq", + "ncsa", + "ndis", + "ndps", + "nds", + "nep", + "nfa", + "nfc", + "nfs", + "ngl", + "ngscb", + "ni", + "nic", + "nim", + "nio", + "nist", + "nlp", + "nls", + "nmi", + "nntp", + "noc", + "nop", + "nos", + "np", + "npl", + "nptl", + "npu", + "ns", + "nsa", + "nsi", + "nspr", + "nss", + "nt", + "ntfs", + "ntlm", + "ntp", + "numa", + "nurbs", + "nvr", + "nvram", + "oat", + "obsai", + "odbc", + "oem", + "oes", + "ofdm", + "oftc", + "oid", + "olap", + "ole", + "oled", + "olpc", + "oltp", + "omf", + "omg", + "omr", + "oo", + "ooe", + "oom", + "oop", + "ootb", + "opml", + "orb", + "orm", + "os", + "oscon", + "osdn", + "osi", + "ospf", + "oss", + "ostg", + "oui", + "pap", + "parc", + "pata", + "pbs", + "pc", + "pcb", + "pci", + "pcl", + "pcm", + "pcmcia", + "pcre", + "pd", + "pda", + "pdf", + "pdh", + "pdp", + "pe", + "perl", + "pfa", + "pg", + "pga", + "pgo", + "pgp", + "php", + "pid", + "pim", + "pio", + "pkcs", + "pki", + "plc", + "pld", + "plt", + "pmm", + "png", + "pnrp", + "poid", + "pojo", + "posix", + "ppc", + "ppi", + "ppp", + "pptp", + "pr", + "ps", + "psa", + "psm", + "psu", + "psvi", + "pv", + "pvg", + "pvr", + "pxe", + "pxi", + "qa", + "qdr", + "qfp", + "qotd", + "qsop", + "qtam", + "racf", + "rad", + "raid", + "raii", + "rait", + "ram", + "rarp", + "ras", + "rc", + "rcs", + "rd", + "rdbms", + "rdc", + "rdf", + "rdm", + "rdos", + "rdp", + "rds", + "refal", + "rest", + "rf", + "rfc", + "rfi", + "rfid", + "rgb", + "rgba", + "rhel", + "rhl", + "ria", + "riaa", + "rip", + "rir", + "risc", + "rje", + "rle", + "rll", + "rmi", + "rms", + "rom", + "romb", + "rpc", + "rpg", + "rpm", + "rras", + "rsa", + "rsi", + "rss", + "rtai", + "rtc", + "rte", + "rtems", + "rtl", + "rtos", + "rtp", + "rts", + "rtsp", + "rtti", + "rwd", + "san", + "sas", + "sata", + "sax", + "sbod", + "sbu", + "scada", + "scid", + "scm", + "scp", + "scpc", + "scpi", + "scsa", + "scsi", + "sctp", + "sd", + "sddl", + "sdh", + "sdi", + "sdio", + "sdk", + "sdl", + "sdn", + "sdp", + "sdr", + "sdram", + "sdsl", + "se", + "sec", + "sei", + "seo", + "sftp", + "sgi", + "sgml", + "sgr", + "sha", + "shdsl", + "sigcat", + "siggraph", + "simd", + "simm", + "sip", + "sisd", + "siso", + "sles", + "sli", + "slm", + "sloc", + "sma", + "smb", + "smbios", + "sme", + "smf", + "smil", + "smp", + "smps", + "sms", + "smt", + "smtp", + "sna", + "snmp", + "sntp", + "soa", + "soe", + "soho", + "soi", + "sopa", + "sp", + "spa", + "sparc", + "spf", + "spi", + "spm", + "spmd", + "sql", + "sram", + "ssa", + "ssd", + "ssdp", + "sse", + "ssh", + "ssi", + "ssid", + "ssl", + "ssp", + "ssse", + "sssp", + "sstp", + "sus", + "suse", + "svc", + "svd", + "svg", + "svga", + "swf", + "swt", + "tao", + "tapi", + "tasm", + "tb", + "tcp", + "tcu", + "tdma", + "tft", + "tftp", + "ti", + "tla", + "tld", + "tls", + "tlv", + "tnc", + "tpf", + "tpm", + "troff", + "tron", + "trsdos", + "tso", + "tsp", + "tsr", + "tta", + "ttf", + "ttl", + "tts", + "tty", + "tucows", + "twain", + "uaag", + "uac", + "uart", + "uat", + "ucs", + "uddi", + "udma", + "udp", + "uefi", + "uhf", + "ui", + "ul", + "ula", + "uma", + "umb", + "uml", + "umpc", + "umts", + "unc", + "univac", + "ups", + "uri", + "url", + "usb", + "usr", + "utc", + "utf", + "utp", + "utran", + "uucp", + "uuid", + "uun", + "uvc", + "uwp", + "ux", + "vax", + "vb", + "vba", + "vbs", + "vcpi", + "vdm", + "vdsl", + "vesa", + "vfat", + "vfs", + "vg", + "vga", + "vhf", + "vlan", + "vlb", + "vlf", + "vliw", + "vlsi", + "vlsm", + "vm", + "vmm", + "vnc", + "vod", + "vpn", + "vpu", + "vr", + "vram", + "vrml", + "vsam", + "vsat", + "vt", + "vtam", + "vtl", + "wafs", + "wai", + "wais", + "wan", + "wap", + "wasm", + "wbem", + "wcag", + "wcf", + "wdm", + "wep", + "wfi", + "wins", + "wlan", + "wma", + "wmi", + "wmv", + "wns", + "wol", + "wor", + "wora", + "wpa", + "wpad", + "wpan", + "wpf", + "wsdl", + "wsfl", + "wusb", + "wwan", + "wwdc", + "wwid", + "wwn", + "www", + "wysiwyg", + "wzc", + "xag", + "xaml", + "xcbl", + "xdm", + "xdmcp", + "xhtml", + "xilp", + "xml", + "xmms", + "xmpp", + "xms", + "xns", + "xp", + "xpcom", + "xpi", + "xpidl", + "xps", + "xsd", + "xsl", + "xslt", + "xss", + "xtf", + "xul", + "xvga", + "yaaf", + "yacc", + "yaml", + "zcav", + "zcs", + "zif", + "zifs", + "zisc", + "zma", + "zoi", + "zope", + "zpl" +] as const; diff --git a/packages/quicktype-core/src/support/Acronyms.ts b/packages/quicktype-core/src/support/Acronyms.ts index d24c85e97..fa9d29f1b 100644 --- a/packages/quicktype-core/src/support/Acronyms.ts +++ b/packages/quicktype-core/src/support/Acronyms.ts @@ -1,1106 +1,7 @@ import { EnumOption } from "../RendererOptions"; -// eslint-disable-next-line import/no-cycle import { allLowerWordStyle, allUpperWordStyle, firstUpperWordStyle, originalWord } from "./Strings"; -export const acronyms: string[] = [ - "aaa", - "aabb", - "aac", - "aal", - "aalc", - "aarp", - "abac", - "abcl", - "abi", - "abm", - "abr", - "ac", - "acd", - "ack", - "acl", - "acm", - "acme", - "acp", - "acpi", - "acr", - "adb", - "adc", - "adccp", - "ado", - "adsl", - "adt", - "ae", - "aes", - "af", - "afp", - "agp", - "ai", - "aix", - "alac", - "algol", - "alsa", - "alu", - "amd", - "amoled", - "amqp", - "amr", - "ann", - "ansi", - "aop", - "apci", - "api", - "apic", - "apipa", - "apl", - "apr", - "arin", - "aros", - "arp", - "arpa", - "arpanet", - "ascii", - "aset", - "asg", - "asic", - "asimo", - "aslr", - "asm", - "asmp", - "asp", - "asr", - "assp", - "ast", - "ata", - "atag", - "atapi", - "atm", - "av", - "avc", - "avi", - "awfl", - "awk", - "awt", - "bal", - "bam", - "bbp", - "bbs", - "bcd", - "bcnf", - "beep", - "ber", - "bfd", - "bfs", - "bft", - "bgp", - "bi", - "binac", - "bios", - "bjt", - "bmp", - "bnc", - "boinc", - "bom", - "bootp", - "bpdu", - "bpel", - "bpl", - "bpm", - "brm", - "brms", - "brr", - "brs", - "bsa", - "bsb", - "bsd", - "bss", - "bt", - "bw", - "byod", - "ca", - "cad", - "cae", - "cai", - "caid", - "captcha", - "caq", - "cd", - "cde", - "cdfs", - "cdma", - "cdn", - "cdp", - "cdsa", - "cert", - "ces", - "cf", - "cfd", - "cfg", - "cg", - "cga", - "cgi", - "cgt", - "chs", - "cidr", - "cifs", - "cim", - "cio", - "cir", - "cisc", - "cjk", - "cjkv", - "cli", - "clr", - "cm", - "cmdb", - "cmmi", - "cmo", - "cmos", - "cms", - "cn", - "cnc", - "cng", - "cnr", - "cobol", - "com", - "corba", - "cots", - "cpa", - "cpan", - "cpri", - "cps", - "cpu", - "cr", - "cran", - "crc", - "crlf", - "crm", - "crs", - "crt", - "crud", - "cs", - "cse", - "csi", - "csm", - "csp", - "csrf", - "css", - "csv", - "ct", - "ctan", - "ctcp", - "ctfe", - "cti", - "ctl", - "ctm", - "cts", - "ctss", - "cua", - "cvs", - "dac", - "dal", - "dao", - "dap", - "darpa", - "dat", - "db", - "dba", - "dbcs", - "dbms", - "dcc", - "dcca", - "dccp", - "dcl", - "dcmi", - "dcom", - "dcs", - "dd", - "dde", - "ddi", - "ddl", - "ddr", - "dec", - "des", - "dfa", - "dfd", - "dfs", - "dgd", - "dhcp", - "dhtml", - "dif", - "dimm", - "din", - "dip", - "dism", - "divx", - "dkim", - "dl", - "dll", - "dlna", - "dlp", - "dma", - "dmca", - "dmi", - "dml", - "dmr", - "dmz", - "dn", - "dnd", - "dns", - "doa", - "docsis", - "dom", - "dos", - "dp", - "dpc", - "dpi", - "dpmi", - "dpms", - "dr", - "dram", - "dri", - "drm", - "dsa", - "dsdl", - "dsdm", - "dsl", - "dslam", - "dsn", - "dsp", - "dsssl", - "dtd", - "dte", - "dtp", - "dtr", - "dvd", - "dvi", - "dvr", - "dw", - "eai", - "eap", - "eas", - "ebcdic", - "ebml", - "ecc", - "ecma", - "ecn", - "ecos", - "ecrs", - "eda", - "edi", - "edo", - "edsac", - "edvac", - "eeprom", - "eff", - "efi", - "efm", - "efs", - "ega", - "egp", - "eide", - "eigrp", - "eisa", - "elf", - "emacs", - "ems", - "eniac", - "eod", - "eof", - "eol", - "eom", - "eos", - "eprom", - "erd", - "erm", - "erp", - "esb", - "escon", - "esd", - "esr", - "etl", - "etw", - "euc", - "eula", - "ewmh", - "ext", - "fap", - "faq", - "fasm", - "fbdimm", - "fcb", - "fcs", - "fdc", - "fdd", - "fddi", - "fdm", - "fdma", - "fds", - "fec", - "femb", - "fet", - "fhs", - "ficon", - "fifo", - "fips", - "fl", - "flac", - "flops", - "fmc", - "fmo", - "foldoc", - "fosdem", - "fosi", - "foss", - "fp", - "fpga", - "fps", - "fpu", - "fqdn", - "fru", - "fs", - "fsb", - "fsf", - "fsm", - "ftp", - "ftta", - "fttc", - "ftth", - "fttp", - "fud", - "fvek", - "fws", - "fxp", - "fyi", - "gb", - "gcc", - "gcj", - "gcr", - "gdb", - "gdi", - "geran", - "gfdl", - "gif", - "gigo", - "gimps", - "gis", - "gml", - "gnu", - "goms", - "gpasm", - "gpfs", - "gpg", - "gpgpu", - "gpib", - "gpl", - "gprs", - "gpt", - "gpu", - "gsm", - "gui", - "guid", - "gwt", - "gyr", - "hal", - "hasp", - "hba", - "hci", - "hcl", - "hd", - "hdd", - "hdl", - "hdmi", - "hf", - "hfs", - "hhd", - "hid", - "hig", - "hird", - "hlasm", - "hls", - "hma", - "hp", - "hpc", - "hpfs", - "hsdpa", - "hsm", - "ht", - "htc", - "htm", - "html", - "http", - "https", - "htx", - "hurd", - "hvd", - "iana", - "ibm", - "ic", - "icann", - "ich", - "icmp", - "icp", - "ics", - "ict", - "id", - "ide", - "idf", - "idl", - "ids", - "iec", - "ieee", - "ietf", - "ifl", - "igmp", - "igrp", - "ihv", - "iiop", - "iis", - "ike", - "il", - "im", - "imap", - "ime", - "infosec", - "ip", - "ipam", - "ipc", - "ipl", - "ipmi", - "ipo", - "ipp", - "ips", - "iptv", - "ipx", - "ir", - "irc", - "iri", - "irp", - "irq", - "isa", - "isam", - "isatap", - "isc", - "isdn", - "iso", - "isp", - "ispf", - "isr", - "isv", - "itil", - "itl", - "itu", - "ivcr", - "ivrs", - "jaxb", - "jaxp", - "jbod", - "jce", - "jcl", - "jcp", - "jdbc", - "jdk", - "jds", - "jee", - "jes", - "jfc", - "jfet", - "jfs", - "jini", - "jit", - "jme", - "jms", - "jmx", - "jndi", - "jni", - "jnz", - "jpeg", - "jre", - "js", - "jse", - "json", - "jsp", - "jtag", - "jvm", - "kb", - "kde", - "km", - "krl", - "kvm", - "lacp", - "lan", - "lb", - "lba", - "lcd", - "lcos", - "lcr", - "ldap", - "le", - "led", - "lf", - "lfs", - "lga", - "lgpl", - "lib", - "lif", - "lifo", - "lilo", - "lisp", - "lkml", - "lm", - "loc", - "lpc", - "lpi", - "lpt", - "lru", - "lsb", - "lsi", - "lte", - "ltl", - "ltr", - "lun", - "lv", - "lvd", - "lvm", - "lzw", - "mac", - "manet", - "mapi", - "mb", - "mbcs", - "mbd", - "mbr", - "mca", - "mcad", - "mcas", - "mcdba", - "mcdst", - "mcitp", - "mcm", - "mcp", - "mcpc", - "mcpd", - "mcsa", - "mcsd", - "mcse", - "mct", - "mcts", - "mda", - "mdf", - "mdi", - "mf", - "mfc", - "mfm", - "mgcp", - "mib", - "micr", - "midi", - "mimd", - "mime", - "mimo", - "minix", - "mips", - "mis", - "misd", - "mit", - "mmc", - "mmds", - "mmf", - "mmi", - "mmio", - "mmorpg", - "mmu", - "mmx", - "mng", - "mom", - "mos", - "mosfet", - "motd", - "mous", - "mov", - "mpaa", - "mpeg", - "mpl", - "mpls", - "mpu", - "ms", - "msa", - "msb", - "msdn", - "msi", - "msn", - "mt", - "mta", - "mtbf", - "mtu", - "mua", - "mvc", - "mvp", - "mvs", - "mwc", - "mx", - "mxf", - "nack", - "nak", - "nas", - "nasm", - "ncp", - "ncq", - "ncsa", - "ndis", - "ndps", - "nds", - "nep", - "nfa", - "nfc", - "nfs", - "ngl", - "ngscb", - "ni", - "nic", - "nim", - "nio", - "nist", - "nlp", - "nls", - "nmi", - "nntp", - "noc", - "nop", - "nos", - "np", - "npl", - "nptl", - "npu", - "ns", - "nsa", - "nsi", - "nspr", - "nss", - "nt", - "ntfs", - "ntlm", - "ntp", - "numa", - "nurbs", - "nvr", - "nvram", - "oat", - "obsai", - "odbc", - "oem", - "oes", - "ofdm", - "oftc", - "oid", - "olap", - "ole", - "oled", - "olpc", - "oltp", - "omf", - "omg", - "omr", - "oo", - "ooe", - "oom", - "oop", - "ootb", - "opml", - "orb", - "orm", - "os", - "oscon", - "osdn", - "osi", - "ospf", - "oss", - "ostg", - "oui", - "pap", - "parc", - "pata", - "pbs", - "pc", - "pcb", - "pci", - "pcl", - "pcm", - "pcmcia", - "pcre", - "pd", - "pda", - "pdf", - "pdh", - "pdp", - "pe", - "perl", - "pfa", - "pg", - "pga", - "pgo", - "pgp", - "php", - "pid", - "pim", - "pio", - "pkcs", - "pki", - "plc", - "pld", - "plt", - "pmm", - "png", - "pnrp", - "poid", - "pojo", - "posix", - "ppc", - "ppi", - "ppp", - "pptp", - "pr", - "ps", - "psa", - "psm", - "psu", - "psvi", - "pv", - "pvg", - "pvr", - "pxe", - "pxi", - "qa", - "qdr", - "qfp", - "qotd", - "qsop", - "qtam", - "racf", - "rad", - "raid", - "raii", - "rait", - "ram", - "rarp", - "ras", - "rc", - "rcs", - "rd", - "rdbms", - "rdc", - "rdf", - "rdm", - "rdos", - "rdp", - "rds", - "refal", - "rest", - "rf", - "rfc", - "rfi", - "rfid", - "rgb", - "rgba", - "rhel", - "rhl", - "ria", - "riaa", - "rip", - "rir", - "risc", - "rje", - "rle", - "rll", - "rmi", - "rms", - "rom", - "romb", - "rpc", - "rpg", - "rpm", - "rras", - "rsa", - "rsi", - "rss", - "rtai", - "rtc", - "rte", - "rtems", - "rtl", - "rtos", - "rtp", - "rts", - "rtsp", - "rtti", - "rwd", - "san", - "sas", - "sata", - "sax", - "sbod", - "sbu", - "scada", - "scid", - "scm", - "scp", - "scpc", - "scpi", - "scsa", - "scsi", - "sctp", - "sd", - "sddl", - "sdh", - "sdi", - "sdio", - "sdk", - "sdl", - "sdn", - "sdp", - "sdr", - "sdram", - "sdsl", - "se", - "sec", - "sei", - "seo", - "sftp", - "sgi", - "sgml", - "sgr", - "sha", - "shdsl", - "sigcat", - "siggraph", - "simd", - "simm", - "sip", - "sisd", - "siso", - "sles", - "sli", - "slm", - "sloc", - "sma", - "smb", - "smbios", - "sme", - "smf", - "smil", - "smp", - "smps", - "sms", - "smt", - "smtp", - "sna", - "snmp", - "sntp", - "soa", - "soe", - "soho", - "soi", - "sopa", - "sp", - "spa", - "sparc", - "spf", - "spi", - "spm", - "spmd", - "sql", - "sram", - "ssa", - "ssd", - "ssdp", - "sse", - "ssh", - "ssi", - "ssid", - "ssl", - "ssp", - "ssse", - "sssp", - "sstp", - "sus", - "suse", - "svc", - "svd", - "svg", - "svga", - "swf", - "swt", - "tao", - "tapi", - "tasm", - "tb", - "tcp", - "tcu", - "tdma", - "tft", - "tftp", - "ti", - "tla", - "tld", - "tls", - "tlv", - "tnc", - "tpf", - "tpm", - "troff", - "tron", - "trsdos", - "tso", - "tsp", - "tsr", - "tta", - "ttf", - "ttl", - "tts", - "tty", - "tucows", - "twain", - "uaag", - "uac", - "uart", - "uat", - "ucs", - "uddi", - "udma", - "udp", - "uefi", - "uhf", - "ui", - "ul", - "ula", - "uma", - "umb", - "uml", - "umpc", - "umts", - "unc", - "univac", - "ups", - "uri", - "url", - "usb", - "usr", - "utc", - "utf", - "utp", - "utran", - "uucp", - "uuid", - "uun", - "uvc", - "uwp", - "ux", - "vax", - "vb", - "vba", - "vbs", - "vcpi", - "vdm", - "vdsl", - "vesa", - "vfat", - "vfs", - "vg", - "vga", - "vhf", - "vlan", - "vlb", - "vlf", - "vliw", - "vlsi", - "vlsm", - "vm", - "vmm", - "vnc", - "vod", - "vpn", - "vpu", - "vr", - "vram", - "vrml", - "vsam", - "vsat", - "vt", - "vtam", - "vtl", - "wafs", - "wai", - "wais", - "wan", - "wap", - "wasm", - "wbem", - "wcag", - "wcf", - "wdm", - "wep", - "wfi", - "wins", - "wlan", - "wma", - "wmi", - "wmv", - "wns", - "wol", - "wor", - "wora", - "wpa", - "wpad", - "wpan", - "wpf", - "wsdl", - "wsfl", - "wusb", - "wwan", - "wwdc", - "wwid", - "wwn", - "www", - "wysiwyg", - "wzc", - "xag", - "xaml", - "xcbl", - "xdm", - "xdmcp", - "xhtml", - "xilp", - "xml", - "xmms", - "xmpp", - "xms", - "xns", - "xp", - "xpcom", - "xpi", - "xpidl", - "xps", - "xsd", - "xsl", - "xslt", - "xss", - "xtf", - "xul", - "xvga", - "yaaf", - "yacc", - "yaml", - "zcav", - "zcs", - "zif", - "zifs", - "zisc", - "zma", - "zoi", - "zope", - "zpl" -]; - export enum AcronymStyleOptions { Camel = "camel", Lower = "lowerCase", @@ -1123,13 +24,15 @@ export const acronymOption = function (defaultOption: AcronymStyleOptions): Enum ); }; -export function acronymStyle(style: AcronymStyleOptions): (s: string) => string { - const options: { [key: string]: (s: string) => string } = { - [AcronymStyleOptions.Pascal]: allUpperWordStyle, - [AcronymStyleOptions.Camel]: firstUpperWordStyle, - [AcronymStyleOptions.Original]: originalWord, - [AcronymStyleOptions.Lower]: allLowerWordStyle - }; +const options = { + [AcronymStyleOptions.Pascal]: allUpperWordStyle, + [AcronymStyleOptions.Camel]: firstUpperWordStyle, + [AcronymStyleOptions.Original]: originalWord, + [AcronymStyleOptions.Lower]: allLowerWordStyle +} as const; +export function acronymStyle( + style: AcronymStyle +): (typeof options)[AcronymStyle] { return options[style]; } diff --git a/packages/quicktype-core/src/support/Strings.ts b/packages/quicktype-core/src/support/Strings.ts index bd76ee4f9..1b0614ad5 100644 --- a/packages/quicktype-core/src/support/Strings.ts +++ b/packages/quicktype-core/src/support/Strings.ts @@ -2,8 +2,7 @@ import unicode from "unicode-properties"; import { messageAssert } from "../Messages"; -// eslint-disable-next-line import/no-cycle -import { acronyms } from "./Acronyms"; +import { acronyms } from "./Acronyms.const"; import { assert, assertNever, defined, panic } from "./Support"; export type NamingStyle = @@ -456,7 +455,9 @@ export function splitIntoWords(s: string): WordInName[] { const words: WordInName[] = []; for (const [start, end, allUpper] of intervals) { const word = s.slice(start, end); - const isAcronym = (lastLowerCaseIndex !== undefined && allUpper) || knownAcronyms.has(word.toLowerCase()); + const isAcronym = + (lastLowerCaseIndex !== undefined && allUpper) || + knownAcronyms.has(word.toLowerCase() as (typeof acronyms)[number]); words.push({ word, isAcronym }); }