Merge branch 'master' into make-lodash-compile-faster

This commit is contained in:
Nathan Shively-Sanders
2019-04-22 08:35:07 -07:00
37 changed files with 2089 additions and 521 deletions

134
.github/CODEOWNERS vendored
View File

@@ -75,6 +75,8 @@
/types/alt/ @Shearerbeard
/types/amap-js-api/ @breeze9527
/types/amap-js-api-autocomplete/ @breeze9527
/types/amap-js-api-city-search/ @breeze9527
/types/amap-js-api-district-search/ @breeze9527
/types/amap-js-api-geocoder/ @breeze9527
/types/amap-js-api-geolocation/ @breeze9527
/types/amap-js-api-indoor-map/ @breeze9527
@@ -181,7 +183,6 @@
/types/antlr4-autosuggest/ @jonfreedman
/types/any-db/ @rogierschouten
/types/any-db-transaction/ @rogierschouten
/types/anybar/ @khoomeister
/types/anymatch/ @BendingBender
/types/aos/ @shermendev
/types/apex.js/ @y13i
@@ -216,6 +217,7 @@
/types/argv/ @hookclaw
/types/arr-diff/ @BendingBender
/types/arr-union/ @mrmlnc
/types/array-binarysearch.closest/ @hvoecking
/types/array-find-index/ @samverschueren
/types/array-foreach/ @skysteve
/types/array-sort/ @DanielMSchmidt
@@ -266,7 +268,6 @@
/types/auth0-js/v7/ @advancedrei
/types/auth0-lock/ @carusology @goldcaddy77 @lfaudreejr @willcaul
/types/auth0.widget/ @advancedrei
/types/auto-bind/ @sseppola
/types/auto-launch/ @rhysd @unindented
/types/auto-sni/ @janwo
/types/autobahn/ @darkl @a904guy @valepu @glenroy37 @spcfran
@@ -290,6 +291,7 @@
/types/azure/ @AndrewGaspar @antiveeranna @SomaticIT
/types/azure-mobile-services-client/ @dmorosinotto
/types/azure-sb/ @Azure
/types/b64-lite/ @JasonHK
/types/b_/ @outring
/types/babel-code-frame/ @mohsen1
/types/babel-core/ @yortus @marvinhagemeister
@@ -351,7 +353,6 @@
/types/bdfjs/ @jeremejevs
/types/beats/ @urish
/types/bech32/ @micksatana
/types/beeper/ @BendingBender
/types/behavior3/ @carrrywu
/types/bell/ @SimonSchick
/types/bem-cn/ @selkinvitaly
@@ -370,7 +371,6 @@
/types/bignum/ @Patman64
/types/bigscreen/ @dduugg
/types/bin-pack/ @orentrutner
/types/bin-version/ @BendingBender
/types/binary-parser/ @riggs @dolanmiu @yuhr
/types/binaryextensions/ @BendingBender
/types/bind-ponyfill/ @skysteve
@@ -426,6 +426,7 @@
/types/bootstrap-fileinput/ @CheCoxshall
/types/bootstrap-growl-ifightcrime/ @AndersonFriaca
/types/bootstrap-maxlength/ @danmana
/types/bootstrap-menu/ @superheri
/types/bootstrap-notify/ @niemyjski @mouse0270 @robert-voica
/types/bootstrap-select/ @LKay
/types/bootstrap-slider/ @dbeckwith @leonard-thieu
@@ -478,7 +479,6 @@
/types/buffers/ @rhencke
/types/bufferstream/ @Bartvds
/types/build-output-script/ @BendingBender
/types/builtin-modules/ @ajafff
/types/bull/ @bgrieder @JProgrammer @marshall007 @weeco @blaugold @iamolegga @koblas @bondz @wuha-team @aleccool213 @danmana @kjellmorten @pc-jedi @lenovouser
/types/bull/v2/ @bgrieder @JProgrammer
/types/bump-regex/ @silkentrance
@@ -508,10 +508,8 @@
/types/cal-heatmap/ @RetroChrisB
/types/caller/ @ignocide
/types/callsite/ @newclear
/types/callsites/ @BendingBender
/types/calq/ @eirikhm
/types/camaro/ @tuananh
/types/camelcase-keys/ @mhegazy
/types/camljs/ @andrei-markeev
/types/camo/ @lucasmciruzzi
/types/cancan/ @Vincent-Pang
@@ -594,7 +592,7 @@
/types/chownr/ @BendingBender
/types/chroma-js/ @invliD @mpacholec
/types/chroma-js/v0/ @invliD
/types/chrome/ @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 @MatCarlson
/types/chrome/ @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 @MatCarlson @ekinsol
/types/chrome-apps/ @niikoo @AdamLay @pine613 @mzsm @RReverser @pyle @matthewkimber @otiai10 @couven92 @rreverser @sreimer15
/types/chromecast-caf-receiver/ @craigrbruce
/types/chromecast-caf-sender/ @samuelmaddock
@@ -615,17 +613,13 @@
/types/clean-css/ @tkrotoff @GolaWaya
/types/clean-css/v3/ @tkrotoff
/types/clean-regexp/ @BendingBender
/types/clean-stack/ @BendingBender
/types/clear-require/ @dan-j
/types/clearbladejs-client/ @ClearBlade
/types/clearbladejs-node/ @ClearBlade
/types/clearbladejs-server/ @ClearBlade
/types/cleave.js/ @clentfort @jasongi-at-sportsbet @sashashakun
/types/cli/ @kayahr
/types/cli-box/ @athasach
/types/cli-boxes/ @BendingBender
/types/cli-color/ @ChaosinaCan
/types/cli-cursor/ @BendingBender
/types/cli-interact/ @ffflorian
/types/cli-progress/ @mhegazy
/types/cli-spinner/ @janslow
@@ -638,7 +632,6 @@
/types/cliff/ @brynbellomy
/types/clipboard/ @impworks
/types/clipboard-js/ @markwongsk
/types/clipboardy/ @BendingBender
/types/clmtrackr/ @hellochar
/types/clndr/ @jasperjn
/types/clockpicker/ @jfcere
@@ -669,6 +662,7 @@
/types/color/v2/ @Airlun
/types/color/v1/ @LKay
/types/color/v0/ @LKay
/types/color-check/ @ecraig12345
/types/color-convert/ @Airlun
/types/color-diff/ @katsanva
/types/color-name/ @Ailrun
@@ -709,9 +703,9 @@
/types/compression-webpack-plugin/ @dublicator @rhys-vdw
/types/compute-quantile/ @mrmlnc
/types/compute-stdev/ @mrmlnc
/types/concat-map/ @claasahl
/types/concat-stream/ @jmarianer
/types/concaveman/ @DenisCarriere
/types/condense-whitespace/ @djcsdy
/types/confidence/ @jppellerin
/types/config/ @RWander @forrestbice @jndonald3 @albertovasquez
/types/config-yaml/ @Arylo
@@ -746,13 +740,12 @@
/types/contentful-resolve-response/ @antonkarsten
/types/contextjs/ @kernhanda
/types/continuation-local-storage/ @rath @heycalmdown @aboveyou00
/types/convert-hrtime/ @BendingBender
/types/convert-layout/ @xeningem
/types/convert-source-map/ @AndrewGaspar @mgroenhoff @TeamworkGuy2
/types/convict/ @Nemo157 @vesse @elyscape @vanthiyathevan
/types/cookie/ @pine
/types/cookie-parser/ @santialbo @BendingBender
/types/cookie-session/ @borislavjivkov
/types/cookie-session/ @borislavjivkov @btomw
/types/cookie-signature/ @lith-light-g
/types/cookie_js/ @slawiko
/types/cookiejar/ @paroxp
@@ -808,7 +801,6 @@
/types/create-error/ @tkrotoff
/types/create-hash/ @BendingBender
/types/create-hmac/ @BendingBender
/types/create-html-element/ @BendingBender
/types/create-react-class/ @jgoz
/types/create-subscription/ @Asana @vsiao
/types/create-xpub/ @BendingBender
@@ -826,9 +818,7 @@
/types/crpc/ @0xdeafcafe
/types/crumb/ @lenovouser @SimonSchick
/types/cryptiles/ @awendland
/types/crypto-hash/ @BendingBender
/types/crypto-js/ @misak113
/types/crypto-random-string/ @MrManny
/types/cryptojs/ @giabao
/types/cryptr/ @rrogowski
/types/cson/ @stpettersens
@@ -863,7 +853,6 @@
/types/cwise-compiler/ @taoqf
/types/cwise-parser/ @taoqf
/types/cybozulabs-md5/ @pine613
/types/cycled/ @BendingBender
/types/cypress-axe/ @wKovacs64
/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas @cerberuser
/types/d/ @BendingBender
@@ -920,7 +909,6 @@
/types/dagre/ @qinfchen @Frankrike @vilterp @rustedgrail
/types/dagre-d3/ @markwongsk
/types/dagre-layout/ @qinfchen @Frankrike @vilterp
/types/dargs/ @BendingBender
/types/dashify/ @rokt33r
/types/dat.gui/ @gyohk @sonic3d @rroylance @singuerinc
/types/data-driven/ @mrhen
@@ -953,7 +941,6 @@
/types/deasync/ @Sicilica
/types/debessmann/ @vkorehov
/types/debounce/ @denis-sokolov @joshuakgoldberg @wcarson
/types/debounce-fn/ @BendingBender
/types/debounce-promise/ @whtsky
/types/debug/ @swook @galtalmor @zamb3zi @brasten @npenin @kristianmitk
/types/decay/ @enaeseth
@@ -970,11 +957,11 @@
/types/deep-freeze/ @Bartvds @aluanhaddad
/types/deep-freeze-es6/ @mattbishop
/types/deep-freeze-strict/ @mhegazy
/types/deezer-sdk/ @marco-eckstein
/types/default-gateway/ @BendingBender
/types/defaults/ @IbtihelCHNAB
/types/defaults-deep/ @Kocal
/types/defer-promise/ @niklasf
/types/define-lazy-prop/ @BendingBender
/types/defined/ @BendingBender
/types/deglob/ @saadq
/types/deku/ @pocka
@@ -998,7 +985,6 @@
/types/detect-indent/ @Bartvds @BendingBender
/types/detect-indent/v0/ @Bartvds
/types/detect-it/ @thomastilkema
/types/detect-newline/ @BendingBender
/types/detect-node/ @LogvinovLeon
/types/detect-passive-events/ @thomastilkema
/types/detect-pointer/ @thomastilkema
@@ -1061,8 +1047,6 @@
/types/dookie/ @swanest
/types/dot/ @ZombieHunter
/types/dot-object/ @nkovacic
/types/dot-prop/ @samverschueren @BendingBender
/types/dot-prop/v2/ @samverschueren
/types/dotdir-regex/ @mrmlnc
/types/dotdotdot/ @milanjaros
/types/dotenv/ @jussikinnula @borekb @enaeseth @maxbeatty
@@ -1124,6 +1108,7 @@
/types/ecurve/ @mhegazy
/types/ed25519/ @erikma
/types/ed2curve/ @ffflorian
/types/edmonds-blossom/ @johnridesabike
/types/ee-first/ @BendingBender
/types/egg-mock/ @sheperdwind
/types/egg.js/ @ToastHawaii
@@ -1134,10 +1119,7 @@
/types/ejs-locals/ @jt000
/types/ejson/ @shantanubhadoria
/types/elasticsearch/ @CasperSkydt @bfsmith @ddunkin @pushplay @mlamp @ahmadferdous @SimonSchick @brabster @deerawan
/types/electron-config/ @mrfunkycold @unindented
/types/electron-debug/ @unindented
/types/electron-devtools-installer/ @gamesmaxed @mfatihmar
/types/electron-is-dev/ @trodi
/types/electron-json-storage/ @stpettersens @nrlquaker @jbw91
/types/electron-load-devtool/ @prince0203
/types/electron-notifications/ @djpereira
@@ -1146,12 +1128,8 @@
/types/electron-settings/ @icopp @nrlquaker
/types/electron-settings/v2/ @leonard-thieu
/types/electron-spellchecker/ @unindented
/types/electron-store/ @unindented @jsynowiec
/types/electron-unhandled/ @jeremejevs
/types/electron-util/ @kputh
/types/electron-window-state/ @rhysd
/types/electron-winstaller/ @shiftkey @unindented
/types/elegant-spinner/ @danwbyrne
/types/element-resize-detector/ @saranshkataria @franklixuefei
/types/element-resize-event/ @rogierschouten @plgregoire
/types/elementtree/ @dwieeb
@@ -1199,7 +1177,6 @@
/types/emojione/ @dbrgn
/types/empower/ @vvakame
/types/empty-dir/ @BendingBender
/types/empty-trash/ @BendingBender
/types/emscripten/ @zakki @periklis
/types/encodeurl/ @BendingBender
/types/encoding-down/ @MeirionHughes @danwbyrne
@@ -1240,7 +1217,6 @@
/types/escape-html/ @elisee
/types/escape-latex/ @olsio
/types/escape-regexp/ @jewbre
/types/escape-string-regexp/ @kruncher @faergeek
/types/escodegen/ @simondel
/types/eslint/ @pmdartus @j-f1 @saadq
/types/eslint-plugin-prettier/ @ikatyang
@@ -1440,10 +1416,8 @@
/types/figures/ @BendingBender
/types/file-exists/ @BendingBender
/types/file-saver/ @cyrilschumacher @DaIgeb @chrismbarr
/types/file-url/ @coderslagoon
/types/filesize/ @GiedriusGrabauskas @renchap @Ky6uk @ffxsam
/types/fill-pdf/ @westy92
/types/filter-console/ @BendingBender
/types/filter-invalid-dom-props/ @icopp
/types/finalhandler/ @chrootsu @hbomark
/types/finch/ @DavidSichau
@@ -1457,7 +1431,6 @@
/types/find-project-root/ @ikatyang
/types/find-root/ @Alorel
/types/find-up/ @BendingBender
/types/find-versions/ @LogvinovLeon @carnesen
/types/findup-sync/ @Bartvds @ngbrown @BendingBender
/types/findup-sync/v0/ @Bartvds @ngbrown
/types/fined/ @BendingBender
@@ -1471,7 +1444,6 @@
/types/firefox-webext-browser/ @jsmnbom
/types/firmata/ @troywweber7
/types/first-mate/ @GlenCFL
/types/first-run/ @BendingBender
/types/fixed-data-table/ @pepaar @stephenjelfs
/types/fixed-data-table-2/ @ilivit
/types/flagged-respawn/ @BendingBender
@@ -1727,19 +1699,17 @@
/types/gestalt/ @serranoarevalo @joshgachnang
/types/get-caller-file/ @ajafff
/types/get-certain/ @BendingBender
/types/get-emails/ @BendingBender
/types/get-emoji/ @BendingBender
/types/get-folder-size/ @mszczepanczyk
/types/get-func-name/ @BendingBender
/types/get-node-dimensions/ @vincekovacs
/types/get-range/ @BendingBender
/types/get-res/ @satyarohith
/types/get-stdin/ @DanielRosenwasser
/types/get-urls/ @BendingBender
/types/get-value/ @DanielRosenwasser @TheMallen
/types/getenv/ @impankratov
/types/getopts/ @azasypkin
/types/getos/ @BendingBender
/types/getpass/ @claasahl
/types/gettext.js/ @jucrouzet
/types/gfc/ @BendingBender
/types/gh-pages/ @DanielRosenwasser
@@ -1753,7 +1723,6 @@
/types/git-branch/ @rynclark
/types/git-config/ @stpettersens
/types/git-config-path/ @BendingBender
/types/git-remote-origin-url/ @janslow
/types/git-repo-name/ @BendingBender
/types/git-rev-sync/ @khoi-fish
/types/git-root-dir/ @ffflorian
@@ -1763,7 +1732,6 @@
/types/git-username/ @BendingBender
/types/gitconfiglocal/ @ffflorian
/types/github-url-to-object/ @ajafff
/types/github-username/ @BendingBender
/types/github-username-regex/ @BehindTheMath
/types/gl/ @sjx233
/types/gl-matrix/ @mattijskneppers @tatchx @nbabanov @auzmartist @surtr-isaz
@@ -1825,7 +1793,7 @@
/types/googlemaps/ @cgwrench @nertzy @xaolas @mrmcnerd @martincostello @svenkreiss @bolatovumar @gauthierm @captain-igloo
/types/googlemaps.infobubble/ @Dashue
/types/googlepay/ @Fluccioni @Radu-Raicea @fstanis
/types/got/ @BendingBender @LinusU @ikokostya @stijnvn
/types/got/ @BendingBender @LinusU @ikokostya @stijnvn @wingsbob
/types/got/v8/ @BendingBender @LinusU @ikokostya
/types/graceful-fs/ @Bartvds @BendingBender
/types/graceful-fs/v2/ @Bartvds
@@ -1849,10 +1817,10 @@
/types/graphql-resolve-batch/ @nayni
/types/graphql-resolvers/ @mike-engel
/types/graphql-type-json/ @schfkt
/types/graphql-type-uuid/ @runk
/types/graphviz/ @mhfrantz
/types/grasp/ @agnoster
/types/gravatar/ @denis-sokolov
/types/gravatar-url/ @ivangabriele
/types/greasemonkey/ @kotas @nikolay-borzov
/types/greasemonkey/v3/ @kotas
/types/grecaptcha/ @DethAriel @rafaeltavares
@@ -1937,6 +1905,7 @@
/types/gulp-sort/ @joeskeen
/types/gulp-strip-comments/ @Aqours
/types/gulp-strip-debug/ @peterjuras
/types/gulp-stylus/ @TokugawaTakesi
/types/gulp-svg-sprite/ @tkqubo
/types/gulp-svgmin/ @Aankhen
/types/gulp-tap/ @TokugawaTakesi
@@ -1951,8 +1920,6 @@
/types/gun/ @Jack-Works
/types/gyronorm/ @evanshortiss
/types/gzip-js/ @rhysd
/types/gzip-size/ @plantain-00 @jimivdw @andrewiggins
/types/gzip-size/v3/ @plantain-00
/types/h2o2/ @jasonswearingen @AJamesPhillips @garthk
/types/halfred/ @dherges
/types/halogen/ @steller
@@ -1994,7 +1961,6 @@
/types/hard-source-webpack-plugin/ @woitechen
/types/harmony-proxy/ @remojansen
/types/has-ansi/ @BendingBender
/types/has-emoji/ @BendingBender
/types/hash-file/ @HiromiShikata
/types/hash-stream/ @BendingBender
/types/hash-sum/ @DanielRosenwasser
@@ -2018,7 +1984,6 @@
/types/heredatalens/ @denyo
/types/heremaps/ @Josh-ES @denyo @fx88
/types/heroku-logger/ @kylevogt
/types/hex-rgb/ @BendingBender
/types/hex-rgba/ @r3nya
/types/hexo/ @kentarouTakeda
/types/hexo-bunyan/ @segayuu
@@ -2084,6 +2049,7 @@
/types/hubot/ @dirk @KeesCBakker @eeemil
/types/hubspot-pace/ @borislavjivkov
/types/humane/ @jmvrbanac
/types/humanize-duration/ @RigoTheDev
/types/humanize-ms/ @adamzerella
/types/humanize-plus/ @DenisCarriere
/types/humanize-url/ @BendingBender
@@ -2143,7 +2109,6 @@
/types/impress/ @borisyankov
/types/imul/ @djcsdy
/types/in-app-purchase/ @l-jonas @IchordeDionysos
/types/in-range/ @DanielRosenwasser
/types/inboxsdk/ @rdoursenaud @amiram
/types/incremental-dom/ @basarat @lanthaler @vvakame
/types/indefinite/ @omaishr
@@ -2530,7 +2495,7 @@
/types/json-socket/ @svi3c
/types/json-stable-stringify/ @mhfrantz
/types/json-stringify-safe/ @BendingBender
/types/json2csv/ @juanjoDiaz
/types/json2csv/ @juanjoDiaz @dangoo
/types/json2md/ @MartynasZilinskas
/types/json2mq/ @ZhangYiJiang
/types/json3/ @NN---
@@ -2735,12 +2700,12 @@
/types/launchpad/ @rictic
/types/layzr.js/ @shermendev
/types/lazy-value/ @ikatyang
/types/lazy.js/ @Bartvds @miso440
/types/lazy.js/ @Bartvds @miso440 @gablorquet
/types/lazypipe/ @tomc974
/types/ldap-filters/ @pluma
/types/ldapjs/ @cvillemure @peterkooijmans @pmoleri
/types/leadfoot/ @theintern
/types/leaflet/ @alejo90 @atd-schubert @mcauer @ronikar
/types/leaflet/ @alejo90 @atd-schubert @mcauer @ronikar @sanfrisc
/types/leaflet/v0/ @rgripper
/types/leaflet-areaselect/ @awallat
/types/leaflet-curve/ @onikiienko
@@ -2827,7 +2792,6 @@
/types/localized-countries/ @coderslagoon
/types/localizejs-library/ @salbahra
/types/localtunnel/ @vladhrapov
/types/locate-path/ @me
/types/lock-system/ @BendingBender
/types/lockfile/ @Bartvds @BendingBender
/types/lockfile/v0/ @Bartvds
@@ -3328,6 +3292,7 @@
/types/minimist-options/ @ikatyang
/types/minio/ @barinbritva @castorw @loremaps @OutdatedVersion
/types/minipass/ @BendingBender
/types/miniprogram-wxs/ @NewFuture @wechat-miniprogram-admin
/types/mirrorx/ @aaronphy
/types/mithril/ @spacejack @andraaspar @isiahmeadows
/types/mithril-global/ @spacejack @isiahmeadows
@@ -3378,7 +3343,7 @@
/types/moment-timezone/ @michelsalib @alanblins @asermax @borys-kupar
/types/money-math/ @taoqf
/types/mongo-sanitize/ @CedricCazin @penumbra1
/types/mongodb/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian @denys-bushulyak @BastienAr @sindbach @geraldinelemeur @jishi @various89 @angela-1 @lirbank @hector7 @floric @erikc5000 @Manc
/types/mongodb/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian @denys-bushulyak @BastienAr @sindbach @geraldinelemeur @jishi @various89 @angela-1 @lirbank @hector7 @floric @erikc5000 @Manc @jloveridge
/types/mongodb/v2/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi
/types/mongodb-memory-server/ @dmitryrogozhny
/types/mongodb-uri/ @mernxl
@@ -3575,6 +3540,7 @@
/types/node-jsfl-runner/ @mrand01
/types/node-json-db/ @kuzn-ilya
/types/node-localstorage/ @intolerance
/types/node-mailjet/ @Nikola-Andreev
/types/node-memwatch/ @Kroisse
/types/node-mysql-wrapper/ @kataras
/types/node-notifier/ @tkQubo @loryman
@@ -3582,7 +3548,7 @@
/types/node-powershell/ @rodrigoff
/types/node-pushnotifications/ @menushka
/types/node-ral/ @ssddi456
/types/node-red/ @andersea @tbowmo
/types/node-red/ @andersea @tbowmo @bernardobelchior
/types/node-redis-pubsub/ @renekeijzer
/types/node-resque/ @gordey4doronin
/types/node-rsa/ @alitaheri @xm @ffflorian
@@ -3613,7 +3579,7 @@
/types/nodemailer/ @rogierschouten @dex4er @bioball
/types/nodemailer/v3/ @rogierschouten
/types/nodemailer-direct-transport/ @rogierschouten
/types/nodemailer-mailgun-transport/ @otociulis
/types/nodemailer-mailgun-transport/ @otociulis @calvinmcgee
/types/nodemailer-pickup-transport/ @psnider
/types/nodemailer-ses-transport/ @westy92
/types/nodemailer-smtp-pool/ @rogierschouten
@@ -3681,6 +3647,8 @@
/types/object-path/ @pocesar @BendingBender
/types/object-refs/ @3fd
/types/object.getownpropertydescriptors/ @VitorLuizC
/types/object.omit/ @ifiokjr
/types/object.pick/ @ifiokjr
/types/oblo-util/ @Oblosys
/types/oboe/ @optical
/types/observe-js/ @herrmanno
@@ -3914,7 +3882,6 @@
/types/piwik-tracker/ @lbguilherme
/types/pixelmatch/ @iamolegga
/types/pixi.js/ @clark-stevenson
/types/pkg-up/ @forivall
/types/pkgcloud/ @dantman
/types/pkijs/ @microshine
/types/platform/ @JakeH
@@ -3927,7 +3894,6 @@
/types/plugapi/ @BNedry
/types/plugin-error/ @rogierschouten
/types/plupload/ @patrickbussmann
/types/plur/ @iRoachie
/types/pluralize/ @ukyo @karol-majewski
/types/plurals-cldr/ @ChaosinaCan
/types/png.js/ @ffflorian
@@ -3935,6 +3901,7 @@
/types/pngquant-bin/ @hikoma
/types/podcast/ @nikeee
/types/podium/ @AJamesPhillips
/types/poi/ @bolasblack
/types/point-in-polygon/ @dyst5422 @kogai
/types/pollyjs__adapter/ @feinoujc
/types/pollyjs__adapter-fetch/ @feinoujc
@@ -3993,7 +3960,7 @@
/types/prefixfree/ @ExE-Boss
/types/preloadjs/ @endel
/types/prelude-ls/ @AyaMorisawa
/types/prettier/ @ikatyang
/types/prettier/ @ikatyang @ifiokjr
/types/pretty/ @adamzerella
/types/pretty-bytes/ @plantain-00 @danielasy
/types/pretty-bytes/v4/ @plantain-00
@@ -4123,15 +4090,10 @@
/types/radius/ @codeanimal
/types/radix64/ @huan086
/types/raf/ @BenLorantfy
/types/ramda/ @donnut @tycho01 @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman @CaptJakk @deftomat @deptno @blimusiek @biern @rayhaneh @rgm @drewwyatt @jottenlips @minitesh @krantisinh @pirix-gh
/types/ramda/ @donnut @tycho01 @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman @deftomat @deptno @blimusiek @biern @rayhaneh @rgm @drewwyatt @jottenlips @minitesh @krantisinh @pirix-gh
/types/random-boolean/ @BendingBender
/types/random-float/ @BendingBender
/types/random-int/ @BendingBender
/types/random-item/ @BendingBender
/types/random-js/ @pistacchio
/types/random-number/ @OpenByteDev
/types/random-obj-key/ @BendingBender
/types/random-obj-prop/ @BendingBender
/types/random-seed/ @endel
/types/random-string/ @stpettersens
/types/randoma/ @BendingBender
@@ -4190,6 +4152,7 @@
/types/react-avatar-editor/ @diogocorrea @gabsprates @lsenta @davidspiess
/types/react-axe/ @akshaykarthik
/types/react-beautiful-dnd/ @varHarrie @bradleyayers @paustint @marknelissen @enricoboccadifuoco @lonyele @lukyth
/types/react-beautiful-dnd/v10/ @varHarrie @bradleyayers @paustint @marknelissen @enricoboccadifuoco @lonyele @lukyth
/types/react-better-password/ @mhuynh1
/types/react-big-calendar/ @piotrwitek @paustint @pikpok @eps1lon @strongpauly @janb87 @ldthorne @siavelis @TomasHubelbauer @lksilva
/types/react-blessed/ @guoshencheng
@@ -4223,7 +4186,7 @@
/types/react-copy-write/ @samhh @davej
/types/react-countup/ @danielbrodin
/types/react-credit-cards/ @vstrimaitis @olefrank @zzanol
/types/react-cropper/ @stepancar
/types/react-cropper/ @stepancar @bwlt
/types/react-css-collapse/ @dford07
/types/react-css-modules/ @KostyaEsmukov @skirsdeda
/types/react-css-transition-replace/ @LKay
@@ -4277,6 +4240,7 @@
/types/react-frontload/ @rockon404
/types/react-gateway/ @jsonunger
/types/react-geosuggest/ @brmenchl
/types/react-github-button/ @ifiokjr
/types/react-global-configuration/ @ryokik
/types/react-google-login-component/ @koss-lebedev
/types/react-google-maps-loader/ @vasilysn
@@ -4295,8 +4259,10 @@
/types/react-highcharts/ @j1r1k
/types/react-highlight/ @joshuakgoldberg
/types/react-highlight-words/ @mhegazy @diogodca @kellyrmilligan
/types/react-highlight.js/ @ChristianMurphy
/types/react-highlighter/ @oizie
/types/react-holder/ @isman-usoh
/types/react-hooks-helper/ @jedmundo
/types/react-hot-loader/ @jacekjagiello @MartynasZilinskas @DovydasNavickas
/types/react-howler/ @maksimovicdanijel
/types/react-hyperscript/ @tock203
@@ -4338,6 +4304,7 @@
/types/react-leaflet/ @danzel @davschne @yuit
/types/react-leaflet/v1/ @danzel @davschne @yuit
/types/react-leaflet-markercluster/ @Kimahriman
/types/react-leaflet-sidebarv2/ @vikram-gsu
/types/react-lifecycle-component/ @pixelshaded
/types/react-lifecycles-compat/ @bySabi
/types/react-linkify/ @majames @jackywang529
@@ -4360,8 +4327,9 @@
/types/react-motion-loop/ @j-em
/types/react-motion-slider/ @asvetliakov
/types/react-motion-ui-pack/ @jsonunger
/types/react-native/ @alloy @huhuanming @iRoachie @skn0tt @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk @mvdam @esemesek @mrnickel @souvik-ghosh @nossbigg @saranshkataria @franzmoro
/types/react-native/ @alloy @huhuanming @iRoachie @skn0tt @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk @mvdam @esemesek @mrnickel @souvik-ghosh @nossbigg @saranshkataria @franzmoro @tykus160
/types/react-native-android-taskdescription/ @christianchown
/types/react-native-app-link/ @johngeorgewright
/types/react-native-auth0/ @ascariandrea @marknelissen
/types/react-native-autocomplete-input/ @ifiokjr
/types/react-native-background-timer/ @chillkroeteTTS
@@ -4375,6 +4343,7 @@
/types/react-native-dialogflow/ @jasonmerino
/types/react-native-doc-viewer/ @iRoachie
/types/react-native-document-picker/ @plantain-00
/types/react-native-dotenv/ @hmajid2301
/types/react-native-draggable-flatlist/ @stackbuilders @ibarrae
/types/react-native-drawer/ @jnbt @suniahk
/types/react-native-drawer-layout/ @jmfirth
@@ -4419,7 +4388,7 @@
/types/react-native-safari-view/ @mrand01
/types/react-native-safe-area/ @pvinis
/types/react-native-scaled-image/ @Jaeger25
/types/react-native-scrollable-tab-view/ @CaiHuan @egorshulga
/types/react-native-scrollable-tab-view/ @CaiHuan @egorshulga @ydostyle
/types/react-native-sensor-manager/ @SahinVardar
/types/react-native-settings-list/ @MrLuje
/types/react-native-share/ @marknelissen
@@ -4445,6 +4414,7 @@
/types/react-native-video/ @huhuanming
/types/react-native-view-pdf/ @thesergiomiguel
/types/react-native-zeroconf/ @mattapet
/types/react-native-zss-rich-text-editor/ @naveen-ithappu
/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @magrinj @TizioFittizio @stigi @LinusU @jshosomichi @jakebooyah @brunoro @DenisFrezzato @mickaelw @maxdavidson @alechill @builtbyproxy @jkillian @jeroenvervaeke @chagasaway @denissb @skovhus @azrosen92 @hmajid2301
/types/react-navigation/v2/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @magrinj @TizioFittizio @stigi @LinusU @jshosomichi @jakebooyah @brunoro @DenisFrezzato @mickaelw @maxdavidson @alechill @builtbyproxy @jkillian @jeroenvervaeke @chagasaway
/types/react-navigation/v1/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi
@@ -4577,6 +4547,7 @@
/types/react-treeview/ @janslow
/types/react-truncate/ @mattvperry
/types/react-twitter-auth/ @paulfasola @loginwashere
/types/react-typist/ @shawnkoon
/types/react-ultimate-pagination/ @BenLorantfy
/types/react-user-tour/ @ccancellieri
/types/react-vertical-timeline-component/ @stephane-monnot
@@ -4585,7 +4556,7 @@
/types/react-virtualized-auto-sizer/ @otofu-square
/types/react-virtualized-select/ @seansfkelley
/types/react-visibility-sensor/ @JRasmusBm @gcangussu
/types/react-webcam/ @squat
/types/react-webcam/ @squat @englund92
/types/react-weui/ @tairan
/types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya @MBillemaz @georg94 @tzarger @vegtelenseg
/types/react-widgets-moment/ @dawnmist
@@ -4673,6 +4644,7 @@
/types/redux-promise-middleware/ @ianks
/types/redux-recycle/ @LKay
/types/redux-router/ @stepancar
/types/redux-saga-routines/ @alexey-pelykh
/types/redux-saga-tester/ @BenLorantfy @lawsumisu
/types/redux-seamless-immutable/ @SoaresMG
/types/redux-sentry-middleware/ @dolezel
@@ -4695,6 +4667,7 @@
/types/ref-union-di/ @keerthi16 @KiranNiranjan
/types/reflux/ @mauricedb @LiangZugeng
/types/reflux/v0/ @mauricedb
/types/refractor/ @ifiokjr
/types/registry-auth-token/ @mauricedb @LiangZugeng
/types/regression/ @MattiasMartens
/types/rehype-react/ @adriankremer
@@ -4702,7 +4675,7 @@
/types/relaxed-json/ @18steps
/types/relay-runtime/ @voxmatt @alloy
/types/rellax/ @shermendev
/types/remarkable/ @makepost @chigix
/types/remarkable/ @makepost @chigix @bios21
/types/remote-origin-url/ @BendingBender
/types/remote-redux-devtools/ @ColinEberhardt @unindented @mamodom @colindekker
/types/remotedev-serialize/ @jaulz
@@ -4737,9 +4710,6 @@
/types/resize-observer-browser/ @chivesrs
/types/resolve/ @marionebl @ajafff
/types/resolve-cwd/ @BendingBender
/types/resolve-from/ @unional @BendingBender
/types/resolve-from/v2/ @unional
/types/resolve-global/ @BendingBender
/types/resolve-options/ @delprzemo
/types/resolve-pkg/ @mabels @BendingBender
/types/resourcejs/ @shaunluttin
@@ -4775,6 +4745,7 @@
/types/rickshaw/ @niemyjski
/types/right-align/ @claasahl
/types/rimraf/ @soywiz @e-cloud @bash
/types/ringbufferjs/ @amchelle
/types/riot/ @Stubb0rn
/types/riot-api-nodejs/ @zafixlrp
/types/riot-games-api/ @xstoudi
@@ -4799,7 +4770,6 @@
/types/rollup-plugin-json/ @asmockler @hotell
/types/rollup-plugin-node-builtins/ @Kocal
/types/rollup-plugin-node-globals/ @kocal
/types/rollup-plugin-node-resolve/ @eoin-obrien
/types/rollup-plugin-sourcemaps/ @eoin-obrien
/types/roman-numerals/ @pluma
/types/ronomon__crypto-async/ @BendingBender
@@ -4997,7 +4967,7 @@
/types/sheetify/ @toddself
/types/shell-escape/ @nenadalm
/types/shell-quote/ @jason0x43 @CameronDiver
/types/shelljs/ @nikeee @voy @gkalpak @pheromonez @aldafu @ExE-Boss
/types/shelljs/ @nikeee @voy @gkalpak @pheromonez @aldafu @ExE-Boss @msanguineti
/types/shelljs-exec-proxy/ @qlonik
/types/shimmer/ @kjin
/types/shipit-cli/ @cyrilschumacher
@@ -5206,7 +5176,7 @@
/types/storybook__addon-centered/ @kiyopikko
/types/storybook__addon-info/ @mkornblum @fyrkant @RunningCoderLee
/types/storybook__addon-jest/ @halfmatthalfcat
/types/storybook__addon-knobs/ @joscha @martynaskadisa @amacleay @MLoughry @alanhchoi
/types/storybook__addon-knobs/ @joscha @martynaskadisa @amacleay @MLoughry @alanhchoi @azmenak
/types/storybook__addon-links/ @joscha @jessepinho
/types/storybook__addon-options/ @joscha @simonhn @amacleay @gaetanmaisse @adam187
/types/storybook__addon-storyshots/ @bradleyayers
@@ -5404,6 +5374,7 @@
/types/throng/ @cyrilschumacher @tatethurston
/types/throttle/ @BendingBender
/types/throttle-debounce/ @czbuchi @franklixuefei @oddsund
/types/throttleit/ @ifiokjr
/types/through/ @AndrewGaspar
/types/through2/ @Bartvds @jedmao @valotas @TeamworkGuy2 @Alorel
/types/through2/v0/ @Bartvds @jedmao
@@ -5484,6 +5455,7 @@
/types/trusted-types/ @vrana @engelsdamien
/types/tryer/ @bengry
/types/ts-nameof/ @dsherret
/types/ts3-nodejs-library/ @P4sca1 @Multivit4min
/types/tspromise/ @soywiz
/types/ttf2woff2/ @ThomasdenH
/types/tunnel/ @BendingBender
@@ -5550,8 +5522,6 @@
/types/uniqid/ @idchlife
/types/unique-hash-stream/ @BendingBender
/types/unique-push-id/ @namick
/types/unique-random/ @Kuniwak
/types/unique-random-array/ @BendingBender
/types/unique-string/ @BendingBender
/types/unist/ @bizen241 @lujun2 @hrajchert @wooorm @rokt33r
/types/unist-util-is/ @rokt33r
@@ -5570,7 +5540,7 @@
/types/uppercamelcase/ @plantain-00
/types/urbanairship-cordova/ @Justin-Credible
/types/uri-templates/ @Bartvds @barnski
/types/urijs/ @RodneyJT @xt0rted @petejohanson
/types/urijs/ @RodneyJT @xt0rted @petejohanson @ljqx
/types/uritemplate/ @teyc @rubensworks
/types/urix/ @BendingBender
/types/url-assembler/ @wolfgang42
@@ -5824,7 +5794,6 @@
/types/wrench/ @soywiz
/types/write-file-atomic/ @BendingBender
/types/write-file-atomically/ @Aankhen
/types/write-json-file/ @DenisCarriere
/types/write-pkg/ @azasypkin
/types/ws/ @loyd @elithrar @mlamp @TitaneBoy @orblazer
/types/wtfnode/ @dex4er
@@ -5839,7 +5808,6 @@
/types/xml-parser/ @mhfrantz
/types/xml2js/ @michelsalib @jasonrm @ccurrens @edwardhinkle @BehindTheMath @claasahl @redlickigrzegorz
/types/xml2json/ @dolanmiu
/types/xmlbuilder/ @wallymathieu @GaikwadPratik
/types/xmldoc/ @Xstoudi @ajsheehan @notlaforge
/types/xmldom/ @tkqubo
/types/xmlpoke/ @garthk

View File

@@ -17,7 +17,6 @@ declare const mouseEvent: MouseEvent;
declare let buffer: Atom.TextBuffer;
declare const color: Atom.Color;
declare let maybeCursor: Atom.Cursor | undefined;
declare let cursor: Atom.Cursor;
declare let cursors: Atom.Cursor[];
declare let decoration: Atom.Decoration;
@@ -2790,7 +2789,7 @@ function testTextEditor() {
editor.moveToBeginningOfPreviousParagraph();
editor.selectLargerSyntaxNode();
editor.selectSmallerSyntaxNode();
maybeCursor = editor.getLastCursor();
cursor = editor.getLastCursor();
str = editor.getWordUnderCursor();
str = editor.getWordUnderCursor({});

View File

@@ -1939,7 +1939,7 @@ export class TextEditor {
moveToBeginningOfPreviousParagraph(): void;
/** Returns the most recently added Cursor. */
getLastCursor(): Cursor | undefined;
getLastCursor(): Cursor;
/** Returns the word surrounding the most recently added cursor. */
getWordUnderCursor(options?: {

View File

@@ -10,9 +10,9 @@ const server = http.createServer((req, res) => {
new Cookies(req, res, {keys: new Keygrip([])});
new Cookies(req, res, {secure: true});
let unsigned: string;
let signed: string;
let tampered: string;
let unsigned: string | undefined;
let signed: string | undefined;
let tampered: string | undefined;
if (req.url === "/set") {
cookies

View File

@@ -22,7 +22,7 @@ interface Cookies {
* Cookie header in the request. If such a cookie exists,
* its value is returned. Otherwise, nothing is returned.
*/
get(name: string, opts?: Cookies.GetOption): string;
get(name: string, opts?: Cookies.GetOption): string | undefined;
/**
* This sets the given cookie in the response and returns

View File

@@ -6,7 +6,7 @@
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": false,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
@@ -20,4 +20,4 @@
"index.d.ts",
"cookies-tests.ts"
]
}
}

View File

@@ -0,0 +1,45 @@
DZ.init({
appId: "myapp",
channelUrl: "https://myapp.com/deezer-channel.html",
player: {
container: "my-widget-div",
onload: onLoad,
}
});
function onLoad(state: DeezerSdk.PlayerState) {
print("Player has loaded. Volume = " + state.volume);
const trackId = "12345";
DZ.player.playTracks([trackId]);
DZ.player.playTracks([trackId], playQueue => print(playQueue.tracks));
DZ.player.playTracks([trackId], true, playQueue => print(playQueue.tracks));
DZ.player.playTracks([trackId], true, 1, playQueue => print(playQueue.tracks));
DZ.player.playTracks([trackId], true, 1, 0, playQueue => print(playQueue.tracks));
DZ.player.playTracks([trackId], undefined, undefined, undefined, undefined);
}
dzAsyncInit = () => print("Deezer SDK has loaded.");
DZ.Event.subscribe(
"track_end",
trackPosition => print("Track end. Position = " + trackPosition)
);
DZ.Event.subscribe(
"player_position",
([positionSecondsFloat, _]) => print("Position = " + positionSecondsFloat)
);
DZ.api(
"/user/123",
response => print("User name = " + response.name)
);
DZ.api(
"user/me/playlists",
"POST",
{ title : "my title" },
response => print("My new playlist ID = " + response.id)
);
function print(a: any) {
// ...
}

856
types/deezer-sdk/index.d.ts vendored Normal file
View File

@@ -0,0 +1,856 @@
// Type definitions for non-npm package deezer-sdk 0.0
// Project: https://developers.deezer.com/sdk/javascript
// Definitions by: Marco Eckstein <https://github.com/marco-eckstein>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.1
// = Notes =
//
// == Versioning ==
//
// The Deezer JavaScript SDK is not versioned (confirmed by support).
// Definitions reflect SDK as of mid-April 2019.
// So, semantic versioning mandates version 0.0.*.
//
// == Doc ==
//
// Not using @see tags because they are not supported by TSDoc (https://microsoft.github.io/tsdoc/).
//
// == Usage ==
//
// There may be other ways, but this works for an Angular project:
//
// 1. Add Deezer library to a script tag, as described in https://developers.deezer.com/sdk/javascript.
//
// 2. Add
//
// "devDependencies": {
// ...
// "@types/deezer-sdk": "...",
// ...
// }
//
// to package.json.
//
// 3. Add
//
// /// <reference types="@types/youtube"/>
//
// to the beginning of app.module.ts.
/**
* See: {@link https://developers.deezer.com/sdk/javascript | Introduction}
*/
declare const DZ: DeezerSdk.DZ;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/init | DZ.init}
*/
// The client may want to set this, so we have to disable a rule:
// tslint:disable-next-line:prefer-declare-function
declare let dzAsyncInit: () => void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript | Deezer Javascript SDK}
*/
declare namespace DeezerSdk {
/**
* See: {@link https://developers.deezer.com/sdk/javascript | Introduction}
*/
interface DZ {
/**
* Allows you to load and play tracks from your page.
*
* Before using the player, you must define PlayerOptions when initializing init(InitOptions).
*
* The Deezer web player requires Flash (for stream encryption purposes), the minimum required version
* is Flash Player 10.1. On mobile, the player will automatically fall back to 30-second previews.
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/player | Initialize a player}\
* {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
readonly player: Player;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/events-subscribe | Subscribe to an event}
*/
readonly Event: Event;
/**
* Initialize the JavaScript SDK in your page.
*
* See: {@link https://developers.deezer.com/sdk/javascript/init | DZ.init}
*/
init(options: InitOptions): void;
/**
* Allows you to interact with the DZ.player object.
*
* To interact with the player, it needs to be loaded first otherwise you'll get an error message.
* Once the player is loaded, the DZ.ready method is executed and you can use it to perform your
* player actions.
*
* The DZ.ready methods accepts a function as argument that will be executed as soon as the
* DZ.player object is loaded.
*
* Another way to make sure that the player is loaded before interacting with it is to use the
* onload option when initializing the player with the DZ.init method.
*
* See: {@link https://developers.deezer.com/sdk/javascript/ready | DZ.ready}
*/
ready(callback: (sdkOptions: SdkOptions) => void): void;
/**
* Make calls to the Deezer API.
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/api | DZ.api}\
* {@link https://developers.deezer.com/api | API}
*/
api(path: string, callback: (response: any) => void): void;
api(path: string, method: HttpMethod, callback: (response: any) => void): void;
api(path: string, method: HttpMethod, data: any, callback: (response: any) => void): void;
/**
* Prompt the user to connect on Deezer, and to authorize you application.
*
* The DZ.login method opens up a modal window. Since most browsers block pop-up windows unless they
* are initiated from a user event, we advise you to call DZ.login from a JavaScript onclick event.
*
* See: {@link https://developers.deezer.com/sdk/javascript/login | DZ.login}
*/
login(callback: (response: LoginResponse) => void): void;
/**
* Destroy the current user session.
*
* See: {@link https://developers.deezer.com/sdk/javascript/logout | DZ.logout}
*/
logout(callback?: () => void): void;
/**
* Determine if a user is logged in and connected to your app.
*
* See: {@link https://developers.deezer.com/sdk/javascript/getloginstatus | DZ.getLoginStatus}
*/
getLoginStatus(callback: (loginStatus: LoginStatus) => void): void;
}
/**
* See:\
* {@link https://developers.deezer.com/sdk/javascript/init | DZ.init}\
* {@link https://developers.deezer.com/sdk/javascript/player | Initialize a player}
*/
interface InitOptions {
readonly appId: string;
readonly channelUrl: string;
readonly player?: PlayerOptions;
}
/**
* See:\
* {@link https://developers.deezer.com/sdk/javascript/player | Initialize a player}\
* {@link https://developers.deezer.com/musicplugins/player | Widget player}
*/
interface PlayerOptions {
/**
* The ID of the div that will contain the widget player
*
* To implement a Deezer-like player, set this to the ID attribute of HTML div you want to load
* the widget player in.
*
* An invisible player allows you to create your own UI and JavaScript events.
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
readonly container?: string;
/**
* Whether to display the playlist from the player
*
* Default: true
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
readonly playlist?: boolean;
/**
* The layout format of the widget
*
* Default: classic
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}\
* {@link https://developers.deezer.com/musicplugins/player | Widget player}
*/
readonly format?: WidgetFormat;
/**
* The general layout of the widget
*
* Default: dark
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}\
* {@link https://developers.deezer.com/musicplugins/player | Widget player}
*/
readonly layout?: WidgetLayout;
/**
* The general color of the widget. Has to be a hexadecimal value without the #.
*
* Default: 1990DB
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}\
* {@link https://developers.deezer.com/musicplugins/player | Widget player}
*/
readonly color?: string;
/**
* The width of the player in pixels
*
* Default: 100%
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
readonly width?: number;
/**
* The height of the player in pixels
*
* Default: 100%
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
readonly height?: number;
/**
* The layout size of the widget
*
* Default: medium
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
readonly size?: WidgetSize;
/**
* The callback function executed after the player has loaded.
*
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
onload?: (state: PlayerState) => void;
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
type WidgetFormat = "square" | "classic";
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
type WidgetLayout = "light" | "dark";
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
type WidgetSize = "small" | "medium" | "big";
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player#options | Player options}
*/
interface PlayerState {
readonly muted: boolean;
readonly repeat: number;
readonly shuffle: boolean;
readonly volume: number;
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/ready | DZ.ready}
*/
interface SdkOptions {
readonly token: {
readonly access_token: string;
readonly expire: string;
};
/**
* In addition to the PlayerState properties,
* {@link https://developers.deezer.com/sdk/javascript/ready | DZ.ready} also documents the
* property current_track, but the author of this comment was not able no retrieve it.
*/
readonly player: PlayerState;
}
/**
* See:\
* {@link https://developers.deezer.com/sdk/javascript/api | DZ.api}\
* {@link https://developers.deezer.com/api | API}
*/
type HttpMethod = "GET" | "POST" | "DELETE";
/**
* See: {@link https://developers.deezer.com/sdk/javascript/login | DZ.login}
*/
interface LoginResponse {
authResponse: {
accessToken: string;
expire: string;
};
status: "connected" | "not_authorized";
userID: string;
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/getloginstatus | DZ.getLoginStatus}
*/
interface LoginStatus {
status: ConnectionStatus;
authResponse: {
accessToken: string;
expire: string;
userID: string;
};
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/getloginstatus | DZ.getLoginStatus}
*/
type ConnectionStatus = "connected" | "notConnected" | "unknown" | "not_authorized";
/**
* See:
* {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
* {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
* {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
interface Player {
//#region Load tracks to a player
// There may be more overloads possible, but the defined ones should suffice for all
// practical purposes.
/**
* Load and play a track or list of tracks into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playTracks(
trackIds: ReadonlyArray<string>,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playTracks(
trackIds: ReadonlyArray<string>,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playTracks(
trackIds: ReadonlyArray<string>,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playTracks(
trackIds: ReadonlyArray<string>,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play an album into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playAlbum(
albumId: number,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playAlbum(
albumId: number,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playAlbum(
albumId: number,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playAlbum(
albumId: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play a playlist into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playPlaylist(
playlistId: number,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPlaylist(
playlistId: number,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPlaylist(
playlistId: number,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPlaylist(
playlistId: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play a podcast into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playPodcast(
podcastId: number,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPodcast(
podcastId: number,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPodcast(
podcastId: number,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playPodcast(
podcastId: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play an episode or a list of episodes into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playEpisodes(
episodeIds: ReadonlyArray<string>,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playEpisodes(
episodeIds: ReadonlyArray<string>,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playEpisodes(
episodeIds: ReadonlyArray<string>,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playEpisodes(
episodeIds: ReadonlyArray<string>,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play a radio into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playRadio(
id: number,
radioType?: RadioType,
autoplay?: boolean,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playRadio(
id: number,
radioType?: RadioType,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playRadio(
id: number,
radioType?: RadioType,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* The official docs for this method are incomplete, but the existing docs and a
* {@link https://github.com/deezer/javascript-samples/blob/master/player_basic.html | usage example}
* suggest the same parameters as in {@link playRadio},
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playSmartRadio(
id: number,
radioType?: RadioType,
autoplay?: boolean,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playSmartRadio(
id: number,
radioType?: RadioType,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playSmartRadio(
id: number,
radioType?: RadioType,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Load and play external MP3 sources into the current player.
*
* @param autoplay Whether to start playing the queue when the player has loaded.
* Default: true. Setting this to false will cancel the expected behavior of the offset parameter.
* @param index The index of the first track to play in the list
* @param offset The position in seconds where to start playing the track
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
playExternalTracks(
mp3Sources: ReadonlyArray<Mp3Source>,
autoplay?: boolean,
index?: number,
offset?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playExternalTracks(
mp3Sources: ReadonlyArray<Mp3Source>,
autoplay?: boolean,
index?: number,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playExternalTracks(
mp3Sources: ReadonlyArray<Mp3Source>,
autoplay?: boolean,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
playExternalTracks(
mp3Sources: ReadonlyArray<Mp3Source>,
onTracksLoaded?: (playQueue: PlayQueue) => void,
): void;
/**
* Append a track to the queue of the current player.
*
* To remove a track from the queue, you will need to reset the queue using the playTracks method.
*
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
addToQueue(trackIds: ReadonlyArray<string>, onTracksLoaded?: (playQueue: PlayQueue) => void): void;
//#endregion
//#region Control a player
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
play(): void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
pause(): void;
/**
* Tell the player to read the next track.
*
* The behavior of this method will depend on the RepeatMode of the player.
*
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
next(): void;
/**
* Tell the player to read the previous track.
*
* The behavior of this method will depend on the RepeatMode of the player.
*
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
prev(): void;
/**
* Set the position of the reader head in the currently playing track.
*
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
seek(positionPercentFloat: number): void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
setVolume(volumePercentInt: number): void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
setMute(mute: boolean): void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
setShuffle(shuffle: boolean): void;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
setRepeat(repeatMode: RepeatMode): void;
/**
* Set the order of the current list of tracks.
*
* Attention, this method does not add or remove tracks from the play queue.
* Use the addToQueue method to add a track or the playTracks method to remove a track by resetting
* the play queue.
*
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*/
changeTrackOrder(trackIds: ReadonlyArray<string>): void;
/**
* Hide the queue and current track information.
*
* @param trackInfo Replaces the current track information.
*
* See: {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}
*
*/
setBlindTestMode(
blindTestMode: boolean,
trackInfo?: {
title: string;
artist: string;
cover: string ;
}
): void;
//#endregion
//#region The player properties
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
isPlaying(): boolean;
/**
* Get the tracks in the queue of the player.
*
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getTrackList(): Track[];
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getCurrentTrack(): Track;
/**
* Get the position in the queue of the currently playing track.
*
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getCurrentIndex(): number;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getVolume(): number;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getShuffle(): boolean;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getRepeat(): RepeatMode;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
getMute(): boolean;
//#endregion
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
type RadioType = "radio" | "artist" | "user";
/**
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
interface PlayQueue {
readonly tracks: Track[];
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/loadtracks | Load tracks to a player}
*/
interface Mp3Source {
readonly url: string;
readonly title: string;
readonly artist: string;
}
/**
* 0: No repeat\
* 1: Repeat all\
* 2: Repeat one
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/controls | Control a player}\
* {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
type RepeatMode = 0 | 1 | 2;
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
interface Track {
readonly id: string;
/** Duration in seconds (int) */
readonly duration: number;
readonly title: string;
readonly artist: Artist;
readonly album: Album;
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
interface Artist {
readonly id: string;
readonly name: string;
}
/**
* See: {@link https://developers.deezer.com/sdk/javascript/player_object | The player properties}
*/
interface Album {
readonly id: string;
readonly title: string;
}
//#region Player Events
/**
* Allows you to listen to all player-related events.
*
* See:\
* {@link https://developers.deezer.com/sdk/javascript/events | List of events}\
* {@link https://developers.deezer.com/sdk/javascript/events-subscribe | Subscribe to an event}
*/
interface Event {
/**
* See: {@link https://developers.deezer.com/sdk/javascript/events | List of events}
*/
subscribe(
event: "player_loaded" | "player_play" | "player_paused"| "tracklist_changed",
callback: () => void
): void;
subscribe(
event: "player_position",
callback: (positionSecondsFloat_durationSecondsInt: [number, number]) => void
): void;
subscribe(event: "player_buffering", callback: (loadedPercentInt: number) => void): void;
subscribe(event: "volume_changed", callback: (volumePercentInt: number) => void): void;
subscribe(event: "shuffle_changed", callback: (shuffle: boolean) => void): void;
subscribe(event: "repeat_changed", callback: (repeatMode: RepeatMode) => void): void;
subscribe(event: "mute_changed", callback: (mute: boolean) => void): void;
subscribe(event: "track_end", callback: (trackPosition: number) => void): void;
subscribe(
event: "current_track",
callback: (currentTrackInfo: { index: number; track: Track; }) => void
): void;
}
/**
* See:\
* {@link https://developers.deezer.com/sdk/javascript/events | List of events}\
* {@link https://developers.deezer.com/sdk/javascript/events-subscribe | Subscribe to an event}
*
* @remarks
* This type is not needed to define the other types, but users may find it useful
* in some situations anyway.
*/
type PlayerEvent =
"player_loaded"
| "player_play"
| "player_paused"
| "player_position"
| "player_buffering"
| "volume_changed"
| "shuffle_changed"
| "repeat_changed"
| "mute_changed"
| "tracklist_changed"
| "track_end"
| "current_track";
//#endregion
}

View File

@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"deezer-sdk-tests.ts"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

View File

@@ -0,0 +1,13 @@
import { getPass } from "getpass";
getPass((_error, _password) => {
// do your thing
});
getPass({}, (_error, _password) => {
// do your thing
});
getPass({ prompt: "Pass." }, (_error, _password) => {
// do your thing
});

15
types/getpass/index.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
// Type definitions for getpass 0.1
// Project: https://github.com/arekinath/node-getpass#readme
// Definitions by: Claas Ahlrichs <https://github.com/claasahl>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export interface Options {
prompt?: string;
}
export interface Callback {
(error: Error | null, password: string): void;
}
export function getPass(cb: Callback): void;
export function getPass(options: Options, cb: Callback): void;

View File

@@ -0,0 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "getpass-tests.ts"]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

View File

@@ -27,6 +27,7 @@
// Nitesh Phadatare <https://github.com/minitesh>
// Krantisinh Deshmukh <https://github.com/krantisinh>
// Pierre-Antoine Mills <https://github.com/pirix-gh>
// Brekk Bockrath <https://github.com/brekk>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.3
@@ -646,32 +647,32 @@ declare namespace R {
}
type PipeWithFns<V0, T> = [
(x0: V0) => T,
(x0: V0) => T
] | [
(x0: V0) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
@@ -679,7 +680,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
@@ -688,7 +689,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
@@ -698,7 +699,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
] | [
(x0: V0) => any,
(x: any) => any,
@@ -709,36 +710,36 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => T,
(x: any) => T
];
type ComposeWithFns<V0, T> = [
(x0: V0) => T,
(x0: V0) => T
] | [
(x: any) => T,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
@@ -746,7 +747,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
@@ -755,7 +756,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
@@ -765,7 +766,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
] | [
(x: any) => T,
(x: any) => any,
@@ -776,7 +777,7 @@ declare namespace R {
(x: any) => any,
(x: any) => any,
(x: any) => any,
(x: V0) => any,
(x: V0) => any
];
type Merge<Primary, Secondary> = { [K in keyof Primary]: Primary[K] } & { [K in Exclude<keyof Secondary, CommonKeys<Primary, Secondary>>]: Secondary[K] };

28
types/react-github-button/index.d.ts vendored Normal file
View File

@@ -0,0 +1,28 @@
// Type definitions for react-github-button 0.1
// Project: https://github.com/benjycui/react-github-button#readme
// Definitions by: Ifiok Jr. <https://github.com/ifiokjr>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8
import { Component } from 'react';
export interface ReactGitHubButtonProps {
/**
* The type of information to display
*/
type: 'stargazers' | 'watchers' | 'forks';
/**
* The size of the button. Leave undefined for default.
*/
size?: 'large';
/**
* Your GitHub id or organization name.
*/
namespace: string;
/**
* The name of your repository.
*/
repo: string;
}
export default class GitHubButton extends Component<ReactGitHubButtonProps> {}

View File

@@ -0,0 +1,10 @@
import GitHubButton from 'react-github-button';
const MyComponent = () => (
<GitHubButton
type="stargazers"
size="large"
namespace="benjycui"
repo="react-github-button"
/>
);

View File

@@ -0,0 +1,17 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"jsx": "preserve",
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "react-github-button-tests.tsx"]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

View File

@@ -0,0 +1,224 @@
// Type definitions for react-native-zss-rich-text-editor 1.x
// Project: https://github.com/wix/react-native-zss-rich-text-editor
// Definitions by: Naveen Ithappu <https://github.com/naveen-ithappu>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.1
import { Component, ReactNode } from "react";
import { ImageStyle, StyleProp, TextStyle, ViewStyle, ImageProps, ImageSourcePropType } from "react-native";
export type FunctionWithZeroArgs = () => void;
export type LinkHandler = (url: string, title: string) => void;
export type ImageHandler = (attributes: ImageProps) => void;
export type ColorHandler = (color: string) => void;
export type LinkDialogHandler = (optionalTitle: string, optionalUrl: string) => void;
export type PlaceHolderHandler = (placeholder: string) => void;
export type ContentStylesHandler = (styles: RichTextStyles) => void;
export type ContentSetHandler = (html: string) => void;
export type ContentGetHandler = () => Promise<string>;
export type FocusHandler = (callback: FunctionWithZeroArgs) => void;
export type ElementStyles = StyleProp<ViewStyle | TextStyle | ImageStyle>;
export interface ContentInset {
top: number;
left: number;
}
export interface RichTextStyles {
[key: string]: ElementStyles;
}
export interface IconsMap {
[key: string]: ImageSourcePropType;
}
export enum ACTIONS {
enableOnChange = 'ENABLE_ON_CHANGE',
setTitleHtml = 'SET_TITLE_HTML',
setContentHtml = 'SET_CONTENT_HTML',
getTitleHtml = 'GET_TITLE_HTML',
getTitleText = 'GET_TITLE_TEXT',
toggleTitle = 'TOGGLE_TITLE',
hideTitle = 'HIDE_TITLE',
showTitle = 'SHOW_TITLE',
getContentHtml = 'GET_CONTENT_HTML',
getSelectedText = 'GET_SELECTED_TEXT',
blurTitleEditor = 'BLUR_TITLE_EDITOR',
blurContentEditor = 'BLUR_CONTENT_EDITOR',
focusTitle = 'FOCUS_TITLE',
focusContent = 'FOCUS_CONTENT',
setBold = 'bold',
setItalic = 'italic',
setUnderline = 'underline',
heading1 = 'h1',
heading2 = 'h2',
heading3 = 'h3',
heading4 = 'h4',
heading5 = 'h5',
heading6 = 'h6',
setParagraph = 'SET_PARAGRAPH',
removeFormat = 'REMOVE_FORMAT',
alignLeft = 'justifyLeft',
alignCenter = 'justifyCenter',
alignRight = 'justifyRight',
alignFull = 'justifyFull',
insertBulletsList = 'unorderedList',
insertOrderedList = 'orderedList',
insertLink = 'INST_LINK',
updateLink = 'UPDATE_LINK',
insertImage = 'INST_IMAGE',
setSubscript = 'subscript',
setSuperscript = 'superscript',
setStrikethrough = 'strikeThrough',
setHR = 'horizontalRule',
setIndent = 'indent',
setOutdent = 'outdent',
setTitlePlaceholder = 'SET_TITLE_PLACEHOLDER',
setContentPlaceholder = 'SET_CONTENT_PLACEHOLDER',
setTitleFocusHandler = 'SET_TITLE_FOCUS_HANDLER',
setContentFocusHandler = 'SET_CONTENT_FOCUS_HANDLER',
prepareInsert = 'PREPARE_INSERT',
restoreSelection = 'RESTORE_SELECTION',
setCustomCSS = 'SET_CUSTOM_CSS',
setTextColor = 'SET_TEXT_COLOR',
setBackgroundColor = 'SET_BACKGROUND_COLOR',
init = 'ZSSS_INIT',
setEditorHeight = 'SET_EDITOR_HEIGHT',
setFooterHeight = 'SET_FOOTER_HEIGHT',
setPlatform = 'SET_PLATFORM'
}
// RichTextEditor takes the following optional props
export interface RichTextEditorProps {
// HTML that will be rendered in the title section as soon as the component loads.
initialTitleHTML: string;
// HTML that will be rendered in the content section on load.
initialContentHTML: string;
// Text that will be used as a placeholder when no text is present in the title section.
titlePlaceholder: string;
// Text that will be used as a placeholder when no text is present in the content section.
contentPlaceholder: string;
// Any custom CSS styles that you want to inject to the editor.
customCSS: RichTextStyles;
// A function that will be called when the editor has been initialized.
editorInitializedCallback: FunctionWithZeroArgs;
// Hide title
hiddenTitle: boolean;
enableOnChange: boolean;
footerHeight: number;
contentInset: ContentInset;
}
export interface RichTextToolbarOptionalProps {
// An array of actions to be provided by this toolbar.
actions: ACTIONS[];
// Functions called when the addLink or addImage actions are tapped.
onPressAddLink: FunctionWithZeroArgs;
onPressAddImage: FunctionWithZeroArgs;
selectedButtonStyle: ElementStyles;
unselectedButtonStyle: ElementStyles;
iconTint: string;
selectedIconTint: string;
renderAction: () => ReactNode;
iconMap: IconsMap;
}
export interface RichTextToolbarProps extends Partial<RichTextToolbarOptionalProps> {
// Must provide a function that returns a ref to a RichTextEditor component.
getEditor: () => RichTextEditor;
}
/* tslint:disable:max-classes-per-file */
export class RichTextEditor extends Component<Partial<RichTextEditorProps>> {
// RichTextEditor also has methods that can be used on its ref to set styling at the current selection
// or cursor position:
setBold: FunctionWithZeroArgs;
setItalic: FunctionWithZeroArgs;
setUnderline: FunctionWithZeroArgs;
heading1: FunctionWithZeroArgs;
heading2: FunctionWithZeroArgs;
heading3: FunctionWithZeroArgs;
heading4: FunctionWithZeroArgs;
heading5: FunctionWithZeroArgs;
heading6: FunctionWithZeroArgs;
setParagraph: FunctionWithZeroArgs;
removeFormat: FunctionWithZeroArgs;
alignLeft: FunctionWithZeroArgs;
alignCenter: FunctionWithZeroArgs;
alignRight: FunctionWithZeroArgs;
alignFull: FunctionWithZeroArgs;
insertBulletsList: FunctionWithZeroArgs;
insertOrderedList: FunctionWithZeroArgs;
insertLink: LinkHandler;
updateLink: LinkHandler;
insertImage: ImageHandler;
setSubscript: FunctionWithZeroArgs;
setSuperscript: FunctionWithZeroArgs;
setStrikethrough: FunctionWithZeroArgs;
setHR: FunctionWithZeroArgs;
setIndent: FunctionWithZeroArgs;
setOutdent: FunctionWithZeroArgs;
setBackgroundColor: ColorHandler;
setTextColor: ColorHandler;
// This method shows a dialog for setting a link title and url, that will be inserted at the current cursor location.
showLinkDialog: LinkDialogHandler;
// To adjust content, placeholders or css, use these methods
setTitlePlaceholder: PlaceHolderHandler;
setContentPlaceholder: PlaceHolderHandler;
setCustomCSS: ContentStylesHandler;
setTitleHTML: ContentSetHandler;
setContentHTML: ContentSetHandler;
// To manage selection
prepareInsert: FunctionWithZeroArgs;
restoreSelection: FunctionWithZeroArgs;
// To get the content or title HTML, use these asynchronous methods
getTitleHtml: ContentGetHandler;
getTitleText: ContentGetHandler;
getContentHtml: ContentGetHandler;
getSelectedText: ContentGetHandler;
// To focus or blur sections, use these methods
focusTitle: FunctionWithZeroArgs;
focusContent: FunctionWithZeroArgs;
blurTitleEditor: FunctionWithZeroArgs;
blurContentEditor: FunctionWithZeroArgs;
// To know when the title or content are in focus, use the following methods
setTitleFocusHandler: FocusHandler;
setContentFocusHandler: FocusHandler;
// The callback will be called with an array of actions that are active at the cusor position,
// allowing a toolbar to respond to changes.
registerToolbar: (actions: ACTIONS[]) => void;
}
// This is a Component that provides a toolbar for easily controlling an editor.
// It is designed to be used together with a RichTextEditor component.
export class RichTextToolbar extends Component<Partial<RichTextToolbarProps>> { }
/* tslint:enable:max-classes-per-file */

View File

@@ -0,0 +1,5 @@
{
"private": true,
"dependencies": {
}
}

View File

@@ -0,0 +1,24 @@
import * as React from "react";
import { RichTextEditor } from "react-native-zss-rich-text-editor";
interface Props {
value: string;
}
export class WyswygComponent extends React.Component<Props> {
props: Props;
private editorInst: RichTextEditor;
render() {
const {value} = this.props;
return <RichTextEditor
ref={this.saveEditorReference}
hiddenTitle={true}
initialContentHTML={value}
/>;
}
private readonly saveEditorReference = (ref: RichTextEditor) => {
this.editorInst = ref;
}
}

View File

@@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"jsx": "react",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"react-native-zss-rich-text-editor-tests.tsx"
]
}

View File

@@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}

View File

@@ -7087,7 +7087,7 @@ interface AlertOptions {
* ```
*/
export interface AlertStatic {
alert: (title: string, message?: string, buttons?: AlertButton[], options?: AlertOptions, type?: string) => void;
alert: (title: string, message?: string, buttons?: AlertButton[], options?: AlertOptions) => void;
}
/**

26
types/ringbufferjs/index.d.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
// Type definitions for ringbufferjs 1.1
// Project: https://github.com/janogonzalez/ringbufferjs#readme
// Definitions by: Amchelle Clendenin <https://github.com/amchelle>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export = RingBuffer;
declare class RingBuffer<T> {
_elements: T[];
_first: number;
_last: number;
_size: number;
_evictedCb: (element: T) => any;
constructor(capacity: number, evictedCB?: (element: T) => any);
capacity(): number;
isEmpty(): boolean;
isFull(): boolean;
peek(): T;
peekN(count: number): T[];
deq(): T;
deqN(count: number): T[];
enq(element: T): number;
size(): number;
}

View File

@@ -0,0 +1,12 @@
import RingBuffer = require('ringbufferjs');
const buffer: RingBuffer<number> = new RingBuffer<number>(10);
buffer.enq(1);
const capacity: number = buffer.capacity();
const isEmpty: boolean = buffer.isEmpty();
const isFull: boolean = buffer.isFull();
const peeked: number = buffer.peek();
const peekedElements: number[] = buffer.peekN(2);
const removed: number = buffer.deq();
const removedElements: number[] = buffer.deqN(3);
const size: number = buffer.size();

View File

@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"ringbufferjs-tests.ts"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

View File

@@ -5,7 +5,7 @@ import { authorize, JwtSecretFuncCallback } from 'socketio-jwt';
const app = http.createServer((req: any, rsp: any) => {
fs.readFile(__dirname + '/index.html',
(err: Error, data: any) => {
(err: Error | null, data: any) => {
if (err) {
rsp.writeHead(500);
return rsp.end('Error loading index.html');

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,5 @@
/// <reference types="node" />
import { EventEmitter } from 'events';
import TeamSpeakChannel = require('./property/Channel');
import TeamSpeakClient = require('./property/Client');
@@ -5,9 +7,6 @@ import TeamSpeakServer = require('./property/Server');
import TeamSpeakServerGroup = require('./property/ServerGroup');
import TeamSpeakChannelGroup = require('./property/ChannelGroup');
// For the buffer type.
import * as stream from 'steam';
// We need this namespace, becaue we can't just export the interface directly,
// as it would conflict with export = TeamSpeak3.
declare namespace TeamSpeak3 {
@@ -29,6 +28,111 @@ declare namespace TeamSpeak3 {
/** Maximum wait time for the connection to get established. Defaults to 20000. */
readyTimeout?: number;
}
enum TargetMode {
CLIENT = 1,
CHANNEL = 2,
VIRTUAL_SERVER = 3
}
enum ClientType {
CLIENT = 0,
QUERY = 1
}
interface MessageData {
invoker: TeamSpeakClient;
msg: string;
targetmode: TargetMode;
}
interface WhoAmIResponse {
virtualserver_status: string;
virtualserver_id: number;
virtualserver_unique_identifier: string;
virtualserver_port: number;
client_id: number;
client_channel_id: number;
client_nickname: string;
client_database_id: number;
cient_login_name: string;
client_unique_identifier: string;
client_origin_server_id: number;
}
interface ClientMovedResponse {
client: TeamSpeakClient;
channel: TeamSpeakChannel;
reasonid: number;
}
interface ServerGroupClientListResponse {
cldbid: number;
client_nickname: string;
client_unique_identifier: string;
}
interface DisconnectedClient {
clid: number;
cid: number;
client_database_id: number;
client_nickname: string;
client_type: ClientType;
client_away: number;
client_away_message: string | undefined;
client_flag_talking: number;
client_input_muted: number;
client_output_muted: number;
client_input_hardware: number;
client_output_hardware: number;
client_talk_power: number;
client_is_talker: number;
client_is_priority_speaker: number;
client_is_recording: number;
client_is_channel_commander: number;
client_unique_identifier: string;
client_servergroups: number[];
client_channel_group_id: number;
client_channel_group_inherited_channel_id: number;
client_version: string;
client_platform: string;
client_idle_time: number;
client_created: number;
client_lastconnected: number;
client_icon_id: number;
client_country: string | undefined;
connection_client_ip: string;
}
interface DisconnectEvent {
cfid: number;
ctid: number;
reasonid: number;
reasonmsg: string;
clid: number;
}
interface ClientDisconnectResponse {
client: DisconnectedClient;
event: DisconnectEvent;
}
interface DebugInformation {
type: string;
data: string;
}
}
interface TeamSpeak3 {
// Type-safe events.
on(event: 'textmessage', listener: (data: TeamSpeak3.MessageData) => void): this;
on(event: 'clientconnect', listener: (data: { client: TeamSpeakClient }) => void): this;
on(event: 'clientmoved', listener: (data: TeamSpeak3.ClientMovedResponse) => void): this;
on(event: 'clientdisconnect', listener: (data: TeamSpeak3.ClientDisconnectResponse) => void): this;
on(event: 'close' | 'error' | 'flooding', listener: (err: Error) => void): this;
on(event: 'ready', listener: () => void): this;
on(event: 'debug', listener: (debug: TeamSpeak3.DebugInformation) => void): this;
on(event: string, listener: () => any): this;
}
declare class TeamSpeak3 extends EventEmitter {
@@ -143,7 +247,7 @@ declare class TeamSpeak3 extends EventEmitter {
/**
* Displays information about your current ServerQuery connection including your loginname, etc.
*/
whoami(): Promise<any>;
whoami(): Promise<TeamSpeak3.WhoAmIResponse>;
/**
* Displays detailed configuration information about the selected virtual server
@@ -216,7 +320,7 @@ declare class TeamSpeak3 extends EventEmitter {
* Displays the IDs of all clients currently residing in the server group.
* @param - the ServerGroup id
*/
serverGroupClientList(sgid: number): Promise<any>;
serverGroupClientList(sgid: number): Promise<TeamSpeak3.ServerGroupClientListResponse[] | TeamSpeak3.ServerGroupClientListResponse> | null;
/**
* Adds the client to the server group specified with sgid.
@@ -846,7 +950,7 @@ declare class TeamSpeak3 extends EventEmitter {
* Lists all Clients with a given Filter
* @param - Filter Object
*/
clientList(filter: any): Promise<TeamSpeakClient[]>;
clientList(filter?: any): Promise<TeamSpeakClient[]>;
/**
* Displays a list of files and directories stored in the specified channels file repository.

View File

@@ -2,6 +2,7 @@
// Project: https://github.com/Multivit4min/TS3-NodeJS-Library
// Definitions by: Pascal Sthamer <https://github.com/P4sca1>
// David Kartnaller <https://github.com/Multivit4min>
// Mattis Krämer <https://github.com/Mattzimann>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.0

View File

@@ -11,6 +11,9 @@ interface ChannelListResponse {
declare class TeamSpeakChannel extends Abstract {
constructor(parent: TeamSpeak3, list: ChannelListResponse)
/** Returns the Name of the channel */
name: string;
/**
* Returns the ID of the Channel
* @returns the Channels ID

View File

@@ -11,9 +11,25 @@ interface ClientListResponse {
client_unique_identifier: string;
}
declare enum ClientType {
CLIENT = 0,
QUERY = 1
}
declare class TeamSpeakClient extends Abstract {
constructor(parent: TeamSpeak3, list: ClientListResponse)
/** Returns the Client Type: 0 = CLIENT, 1 = QUERY */
type: ClientType;
/** Client Nickname */
nickname: string;
/** Array of client Servergroups */
servergroups: number[];
/** The ChannelID of the client */
cid: number;
/** The UID of the client */
client_unique_identifier: string;
/**
* Returns the Database ID of the Client
* @returns the Clients Database ID

View File

@@ -32,7 +32,7 @@ declare namespace webpackMerge {
(customizeOptions: CustomizeOptions): ConfigurationMergeFunction;
unique: UniqueFunction;
smart: ConfigurationMergeFunction;
multiple: ConfigurationMergeFunction;
multiple: MultipleConfigurationMergeFunction;
strategy(options: { [field: string]: MergeStrategy }): ConfigurationMergeFunction;
smartStrategy(options: { [key: string]: MergeStrategy }): ConfigurationMergeFunction;
}

View File

@@ -10,7 +10,7 @@ const b: Configuration = {
const c: Configuration = webpackMerge(a, b);
const d: Configuration = webpackMerge.smart(a, b);
const e: Configuration = webpackMerge.multiple(a, b);
const e: Configuration[] = webpackMerge.multiple({a, b});
const f: Configuration = webpackMerge(
{
customizeArray(x: any[], y: any[], key: string): any[] | undefined {