diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f5f20b233d..7e3c9ccc69 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -3,11 +3,13 @@
# See https://github.com/DefinitelyTyped/DefinitelyTyped#edit-an-existing-package
/types/a-big-triangle/ @MathiasPaumgarten
+/types/a11y-dialog/ @Goyatuzo
/types/abbrev/ @BendingBender
/types/abs/ @AyaMorisawa
/types/absolute/ @AyaMorisawa
/types/abstract-leveldown/ @MeirionHughes @danwbyrne
/types/acc-wizard/ @cyrilschumacher
+/types/accept/ @feinoujc
/types/accept-language-parser/ @kampfgnom
/types/accepts/ @bomret @brikou
/types/accounting/ @gerich-home @chrisleck
@@ -15,7 +17,7 @@
/types/ace-diff/ @innovation-team
/types/acl/ @tkQubo
/types/acorn/ @RReverser @e-cloud
-/types/actioncable/ @zhu1230
+/types/actioncable/ @zhu1230 @szechyjs
/types/actions-on-google/ @joelhegg
/types/activedirectory2/ @pasthelod
/types/activex-access/ @zspitz
@@ -52,11 +54,14 @@
/types/aggregate-error/ @BendingBender
/types/agora-rtc-sdk/ @menthays
/types/ajv-errors/ @afshawnlotfi
+/types/ale-url-parser/ @msn0
/types/alertify/ @jjeffery
/types/alexa-sdk/ @petebeegle @hoo29 @pascalwhoop @blforce @rk-7 @alexmalcoci
/types/alexa-voice-service/ @dolanmiu
/types/algebra.js/ @CaselIT
-/types/algoliasearch/ @cbaptiste @haroenv @aherve @samouss
+/types/algoliasearch/ @cbaptiste @haroenv @aherve @samouss @keichinger
+/types/ali-app/ @taoqf
+/types/ali-oss/ @ptrdu
/types/allure-js-commons/ @zaqqaz
/types/almost-equal/ @cmaddalozzo
/types/alt/ @Shearerbeard
@@ -68,7 +73,7 @@
/types/amphtml-validator/ @kevincharm
/types/amplify/ @joeriks
/types/amplify-deferred/ @joeriks @laurentiustamate94
-/types/amplitude-js/ @Asido
+/types/amplitude-js/ @Asido @danmana
/types/amqp/ @seikho @jonnysparkplugs
/types/amqp-connection-manager/ @rogierschouten
/types/amqp-rpc/ @wokim
@@ -149,18 +154,20 @@
/types/animation-frame/ @qinfchen
/types/animejs/ @A-Babin
/types/annyang/ @hisham @theluk
+/types/ansi/ @Gustavo6046
/types/ansi-colors/ @rogierschouten
/types/ansi-escape-sequences/ @aomarks
/types/ansi-escapes/ @jacobbubu
/types/ansi-regex/ @mvachhar
/types/ansi-styles/ @brynbellomy @plylrnsdy
-/types/ansicolors/ @rogierschouten
+/types/ansicolors/ @balupton
/types/antlr4/ @mcchatman8009
/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
/types/aphrodite/ @asvetliakov
/types/api-error-handler/ @tkrotoff
@@ -168,6 +175,8 @@
/types/apigee-access/ @CasperSkydt
/types/apollo-codegen/ @bradleyayers @kostspielig
/types/apollo-upload-client/ @Slessi
+/types/apostrophe/ @afholderman
+/types/app-module-path/ @darkwebdev
/types/app-root-dir/ @chenyang-biu
/types/app-root-path/ @shantmarouti
/types/appdmg/ @unindented
@@ -195,18 +204,22 @@
/types/array-sort/ @DanielMSchmidt
/types/array-uniq/ @DanielRosenwasser
/types/array-unique/ @CSLTech
+/types/array.prototype.flatmap/ @hallettj
/types/arrify/ @wanganjun
/types/artillery/ @kmccoan-allocadia
/types/asana/ @tkqubo
/types/asap/ @fpascutti
+/types/ascii-art/ @lukaselmer
/types/ascii2mathml/ @RagibHasin
/types/asenv/ @remisery
/types/asn1js/ @microshine
/types/aspnet-identity-pw/ @jt000
+/types/assert/ @nicoabie @LinusU
/types/assert-equal-jsx/ @seryl
/types/assert-plus/ @KostyaTretyak
/types/assertsharp/ @brunolm
/types/assets-webpack-plugin/ @kryops
+/types/astring/ @nkappler
/types/async/ @borisyankov @kern0 @Penryn @fenying @pascalmartin
/types/async-cache/ @BendingBender
/types/async-lock/ @elisee @afharo @rhymmor
@@ -214,11 +227,13 @@
/types/async-retry/ @albertywu @MeLlamoPablo
/types/async.nexttick/ @pyrho
/types/asynciterator/ @rubensworks
+/types/athenajs/ @warpdesign
/types/atlaskit__button/ @dijimsta
/types/atlaskit__calendar/ @lstanden
/types/atlaskit__inline-edit/ @lstanden
/types/atlaskit__layer/ @lstanden
/types/atlaskit__single-select/ @lstanden
+/types/atlaskit__tree/ @benhjames
/types/atlassian-crowd-client/ @mtgto
/types/atmosphere.js/ @toedter @Mory1879 @Scipion
/types/atob/ @johngeorgewright
@@ -227,7 +242,8 @@
/types/atom-mocha-test-runner/ @GlenCFL
/types/atpl/ @soywiz
/types/audiosprite/ @Perlmint
-/types/auth0/ @wbhob @westy92 @amiram
+/types/auth-header/ @ForbesLindesay
+/types/auth0/ @westy92
/types/auth0-angular/ @homesar
/types/auth0-js/v7/ @advancedrei
/types/auth0-js/ @adrianchia @mdurrant @peterblazejewicz
@@ -238,12 +254,13 @@
/types/auto-sni/ @janwo
/types/autobahn/ @darkl @valepu
/types/autolinker/ @leonyu
-/types/autoprefixer/ @odnamrataizem
+/types/autoprefixer/ @odnamrataizem @murt
/types/autosize/ @kingdango @keika299 @NeekSandhu
/types/autosuggest-highlight/ @senukartur
+/types/await-timeout/ @szhu
/types/awesomplete/ @webbiesdk @bmdixon @tbekolay @chrislopresto
/types/aws-iot-device-sdk/ @niik @mlamp
-/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris @aneilbaboo @jeznag @louislarry @dpapukchiev @ohookins
+/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris @aneilbaboo @jeznag @louislarry @dpapukchiev @ohookins @trevor-leach @jagregory
/types/aws-serverless-express/ @threesquared @jcaffey @mattmeye @albertovasquez
/types/aws4/ @ajcrites
/types/axe-webdriverjs/ @JoshuaKGoldberg
@@ -266,20 +283,19 @@
/types/babel__code-frame/ @mohsen1 @ForbesLindesay
/types/babel__core/ @yortus @marvinhagemeister @mgroenhoff
/types/babel__generator/ @yortus @johnnyestilles @mgroenhoff
-/types/babel__parser/ @yortus @marvinhagemeister @mgroenhoff
/types/babel__template/ @yortus @marvinhagemeister @mgroenhoff
/types/babel__traverse/ @yortus @marvinhagemeister @rpetrich @mgroenhoff
/types/babelify/ @TeamworkGuy2 @marvinhagemeister
/types/babylon/ @yortus @marvinhagemeister
/types/babylon-walk/ @czbuchi
/types/babyparse/ @cdiddy77
-/types/backbone/ @borisyankov @nvivo @kenjiru
+/types/backbone/ @borisyankov @nvivo @kenjiru @jjoekoullas
/types/backbone-associations/ @craigbrett17
/types/backbone-fetch-cache/ @delphinus35
/types/backbone-relational/ @eirikhm
/types/backbone.layoutmanager/ @hejiang2000
/types/backbone.localstorage/ @lgrignon
-/types/backbone.marionette/ @zhamid @nvivo @sventschui @razorness @confususs
+/types/backbone.marionette/ @zhamid @nvivo @sventschui @razorness @confususs @jjoekoullas
/types/backbone.paginator/ @Nyamazing
/types/backbone.radio/ @alphaleonis
/types/backgrid/ @jlujan
@@ -288,6 +304,7 @@
/types/backoff/ @BendingBender
/types/baconjs/ @alexander-matsievsky @gekkio
/types/bagpipes/ @micmro
+/types/baidu-app/ @taoqf
/types/barbellweights/ @evelijn
/types/barcode/ @pvomhoff
/types/bardjs/ @TepigMC
@@ -301,10 +318,11 @@
/types/bases/ @harikv
/types/bash-glob/ @mrmlnc
/types/basic-auth/ @moonpyk @vesse
+/types/basicauth-middleware/ @nchaulet
/types/batch-stream/ @drudge
/types/bazinga-translator/ @alexndlm
/types/bcrypt/ @codeanimal @IOAyman @dstapleton92
-/types/bcryptjs/ @RafaelKr
+/types/bcryptjs/ @RafaelKr @branoholy
/types/bdfjs/ @jeremejevs
/types/beats/ @urish
/types/bech32/ @micksatana
@@ -314,10 +332,10 @@
/types/bencode/ @tobenna
/types/better-curry/ @pocesar
/types/better-queue/ @maozedong
-/types/better-scroll/ @stoneChen
-/types/better-sqlite3/ @Morfent @matrumz
+/types/better-scroll/ @stoneChen @cnjack
+/types/better-sqlite3/ @Morfent @matrumz @sant123
/types/bezier-easing/ @ptlis
-/types/bezier-js/ @danmarshall
+/types/bezier-js/ @danmarshall @Epskampie
/types/bgiframe/ @sumegizoltan
/types/bidirectional-map/ @helenanderson
/types/big.js/ @nycdotnet @googol
@@ -326,7 +344,7 @@
/types/bignum/ @Patman64
/types/bigscreen/ @dduugg
/types/bin-pack/ @orentrutner
-/types/binary-parser/ @riggs @dolanmiu
+/types/binary-parser/ @riggs @dolanmiu @yuhr
/types/bind-ponyfill/ @skysteve
/types/bindings/ @unindented
/types/bintrees/ @CjS77
@@ -338,9 +356,8 @@
/types/bitcoinjs-lib/ @mhegazy @dlebrecht @rbuckton @micksatana @youssefgh @kento1218
/types/bitcore-lib/ @lautarodragan
/types/bittorrent-protocol/ @feross @tlaziuk
-/types/bitwise/ @danwbyrne
-/types/bitwise-xor/ @rogierschouten
-/types/bl/ @Bartvds
+/types/bitwise-xor/ @rogierschouten @BendingBender
+/types/bl/ @Bartvds @reconbot
/types/blacklist/ @mhegazy
/types/blazy/ @julienpa
/types/blessed/ @brynbellomy @skellock
@@ -371,7 +388,7 @@
/types/boom/ @rogatty @AJamesPhillips @jineshshah36 @TimonVS @danielmachado
/types/bootbox/ @vbortone @konpikwastaken @kanup @icereed @trodi @stannynuytkens @renjfk
/types/bootpag/ @rdeneau
-/types/bootstrap/v3/ @borisyankov
+/types/bootstrap/v3/ @borisyankov @denisname
/types/bootstrap/ @denisname
/types/bootstrap-3-typeahead/ @AndersonFriaca
/types/bootstrap-datepicker/ @borisyankov
@@ -383,6 +400,7 @@
/types/bootstrap-slider/ @dbeckwith @leonard-thieu
/types/bootstrap-switch/ @johnmbaughman
/types/bootstrap-table/ @talatbaig
+/types/bootstrap-toggle/ @gricey432
/types/bootstrap-touchspin/ @albinsunnanbo
/types/bootstrap-treeview/ @jbtronics
/types/bootstrap-validator/ @BradyLiles
@@ -401,6 +419,7 @@
/types/breeze/ @borisyankov
/types/bricks.js/ @kondi
/types/bro-fs/ @ffflorian
+/types/broccoli-plugin/ @dfreeman
/types/brorand/ @chrootsu
/types/browser-bunyan/ @PaulLockwood @kryops
/types/browser-fingerprint/ @LKay
@@ -409,7 +428,8 @@
/types/browser-report/ @JTOne123
/types/browser-resolve/ @marionebl
/types/browser-sync/ @joeskeen @aznnomness
-/types/browserify/ @AndrewGaspar @jvilk @leonard-thieu
+/types/browserify/ @AndrewGaspar @jvilk @leonard-thieu @LinusU
+/types/browserslist/ @davecardwell
/types/bs58/ @chrootsu
/types/bson/ @horiuchi @CaselIT
/types/btoa/ @johngeorgewright
@@ -423,7 +443,7 @@
/types/bufferstream/ @Bartvds
/types/builtin-modules/ @ajafff
/types/bull/v2/ @bgrieder @JProgrammer
-/types/bull/ @bgrieder @JProgrammer @marshall007 @weeco @blaugold @iamolegga @koblas @bondz @wuha-team @aleccool213
+/types/bull/ @bgrieder @JProgrammer @marshall007 @weeco @blaugold @iamolegga @koblas @bondz @wuha-team @aleccool213 @danmana @kjellmorten @pc-jedi
/types/bump-regex/ @silkentrance
/types/bunnymq/ @cyrilschumacher
/types/bunyan/ @amikhalev
@@ -439,9 +459,12 @@
/types/byline/ @reppners
/types/bytebuffer/ @cappellin
/types/bytes/ @danny8002 @believer
+/types/bytewise/ @danwbyrne
/types/c3/ @mcliment @gerinjacob @denyo @dmitryshindin @timn
/types/cache-manager/ @GausSim
+/types/cached-path-relative/ @TeamworkGuy2
/types/cal-heatmap/ @RetroChrisB
+/types/caller/ @ignocide
/types/callsite/ @newclear
/types/callsites/ @BendingBender
/types/calq/ @eirikhm
@@ -450,6 +473,8 @@
/types/camelcase-keys/ @mhegazy
/types/camo/ @lucasmciruzzi
/types/cancan/ @Vincent-Pang
+/types/caniuse-api/ @davecardwell
+/types/caniuse-lite/ @mutech
/types/cannon/ @clark-stevenson @Gelio
/types/canvas-confetti/ @matracey
/types/canvas-gauges/ @Mikhus
@@ -464,10 +489,12 @@
/types/cassandra-driver/ @Svjard @pc-jedi
/types/catbox/v7/ @jasonswearingen @AJamesPhillips
/types/catbox/ @jasonswearingen @AJamesPhillips @saboya
+/types/catbox-memory/ @SimonSchick
/types/catbox-redis/ @SimonSchick
/types/cbor/ @pushplay
/types/ccap/ @taoqf
/types/cesium/ @Zuzon @hnipps @szechyjs @golyalpha
+/types/cfn-response/ @ivoisbelongtous
/types/chai/v2/ @Bartvds @AGBrown
/types/chai/ @jedmao @Bartvds @AGBrown @olivr70 @mwistrand @joshuakgoldberg @shaunluttin @Naktibalda @micksatana @ErikSchierboom
/types/chai-arrays/ @clementprevot
@@ -475,6 +502,7 @@
/types/chai-datetime/ @cliffburger @mattbishop
/types/chai-dom/ @mattlewis92
/types/chai-enzyme/ @asvetliakov
+/types/chai-fs/ @dimitardanailov
/types/chai-fuzzy/ @Bartvds
/types/chai-http/ @Nemo157 @G1itcher @CaselIT @bas-l
/types/chai-jest-snapshot/ @mattvperry
@@ -493,7 +521,7 @@
/types/chardet/ @Gebatzens
/types/charm/ @Xananax
/types/charset/ @cspotcode
-/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @archy-bold @braincore @gebeto @frabnt @alexdor @mahnuh
+/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @archy-bold @braincore @frabnt @alexdor @mahnuh @Conrad777
/types/chartist/ @mtgibbs @psimonski @clottman @affilnost @sunnyrjuneja
/types/chartmogul-node/ @chartmogul
/types/chayns/ @HenningKuehl
@@ -501,11 +529,12 @@
/types/check-types/ @idchlife
/types/checkstyle-formatter/ @mhegazy
/types/checksum/ @rogierschouten
-/types/cheerio/ @blittle @wmaurer @umarniz @LiJinyao @chennakrishna8
+/types/cheerio/ @blittle @wmaurer @umarniz @LiJinyao @chennakrishna8 @AzSiAz
/types/chess.js/ @JacobFischer
/types/chessboardjs/ @sliverb @davidmpaz
/types/chmodr/ @BendingBender
/types/chokidar/ @reppners @felixfbecker @bayssmekanique
+/types/chordsheetjs/ @adamsbloom
/types/chosen-js/ @borisyankov @denisname
/types/chownr/ @BendingBender
/types/chroma-js/v0/ @invliD
@@ -518,7 +547,8 @@
/types/circuit-breaker-js/ @DeTeam
/types/circular-json/ @jpevarnek
/types/ckeditor/v2/ @wittwert
-/types/ckeditor/ @wittwert @stuartlong
+/types/ckeditor/ @wittwert @stuartlong @viktorpegy
+/types/ckeditor__ckeditor5-utils/ @denisname
/types/clamp-js/ @Hikariii
/types/clamp-js-main/ @sinziananicolae
/types/classnames/ @adidahiya @JKillian @seansfkelley @mradamczyk @marvinhagemeister
@@ -532,7 +562,9 @@
/types/clearbladejs-server/ @ClearBlade
/types/cleave.js/ @clentfort @jasongi-at-sportsbet @sashashakun
/types/cli/ @kayahr
+/types/cli-box/ @athasach
/types/cli-color/ @ChaosinaCan
+/types/cli-interact/ @ffflorian
/types/cli-progress/ @mhegazy
/types/cli-spinner/ @janslow
/types/cli-table/ @arylo
@@ -558,7 +590,7 @@
/types/co-body/ @geoffreak
/types/co-views/ @devlee @geoffreak
/types/code/ @prashaantt
-/types/codemirror/ @mihailik @nrbernard @Pr1st0n @rileymiller
+/types/codemirror/ @mihailik @nrbernard @Pr1st0n @rileymiller @toddself
/types/codependency/ @morphatic
/types/coffeeify/ @tkQubo
/types/coinbase/ @rogierschouten
@@ -573,26 +605,30 @@
/types/color-namer/ @in19farkt
/types/color-string/ @BendingBender @danmarshall
/types/colorbrewer/ @mtraynham
+/types/colresizable/ @gilleswaeber
/types/com.darktalker.cordova.screenshot/ @akarienta
/types/com.wikitude.phonegap.wikitudeplugin/ @zbarbuto
/types/combine-source-map/ @TeamworkGuy2
-/types/combined-stream/ @felixge @tlaziuk
+/types/combined-stream/ @felixge @tlaziuk @konpikwastaken
/types/combokeys/ @iclanton
-/types/cometd/ @derekcicerone
+/types/cometd/ @derekcicerone @unindented @alxHenry
+/types/command-exists/ @BendingBender
/types/command-line-args/v4/ @CzBuCHi @75lb
/types/command-line-args/ @75lb
/types/command-line-commands/ @CzBuCHi
/types/command-line-usage/ @matrumz @Dvorsky
/types/commangular/ @hiraash
/types/comment-json/ @Jason3S
+/types/commercetools__enzyme-extensions/ @screendriver
/types/common-errors/ @icopp
/types/common-prefix/ @seangenabe
-/types/common-tags/ @zuzusik @tzupengwang
+/types/common-tags/ @zuzusik @tzupengwang @BendingBender
/types/commondir/ @leonard-thieu
/types/commonmark/ @nicojs @leonard-thieu
+/types/compare-func/ @fennibay
/types/compare-version/ @jpevarnek
/types/compare-versions/ @LogvinovLeon
-/types/complex/ @AyaMorisawa
+/types/complex/ @AyaMorisawa @pavasich
/types/component-emitter/ @psnider
/types/compose-function/ @denis-sokolov
/types/compressible/ @BendingBender
@@ -612,6 +648,7 @@
/types/confit/ @ethanresnick
/types/connect/ @SomaticIT @EvanHahn
/types/connect-busboy/ @pinguet62
+/types/connect-datadog/ @moshegood
/types/connect-ensure-login/ @0x6368656174
/types/connect-flash/ @AndreasGassmann
/types/connect-history-api-fallback/ @douglasduteil
@@ -620,11 +657,13 @@
/types/connect-mongo/ @Syati
/types/connect-mongodb-session/ @NattapongSiri
/types/connect-pg-simple/ @pasieronen
-/types/connect-redis/ @xstoudi @morcerf
+/types/connect-redis/ @xstoudi
/types/connect-slashes/ @samherrmann
/types/connect-timeout/ @cyrilschumacher
+/types/consola/ @Jungwoo-An
/types/console-log-level/ @ofrobots
/types/console-stamp/ @ericbyers @guusdegraeve
+/types/console-ui/ @dfreeman
/types/consolidate/ @soywiz @theosherry @nicolashenry
/types/consul/ @chrootsu
/types/content-disposition/ @bomret
@@ -636,7 +675,7 @@
/types/convert-layout/ @xeningem
/types/convert-source-map/ @AndrewGaspar @mgroenhoff @TeamworkGuy2
/types/convict/ @Nemo157 @vesse @elyscape @vanthiyathevan
-/types/cookie/ @pine613
+/types/cookie/ @pine
/types/cookie-parser/ @santialbo @BendingBender
/types/cookie-session/ @borislavjivkov
/types/cookie-signature/ @lith-light-g
@@ -651,6 +690,7 @@
/types/cordova-plugin-background-mode/ @Lordnoname
/types/cordova-plugin-badge/ @timbru31
/types/cordova-plugin-ble-central/ @gjunge
+/types/cordova-plugin-bluetoothclassic-serial/ @tuvokki
/types/cordova-plugin-canvascamera/ @lordazzi
/types/cordova-plugin-device-name/ @larrybahr
/types/cordova-plugin-file-opener2/ @cyrilgandon
@@ -669,17 +709,20 @@
/types/cordova_app_version_plugin/ @larrybahr
/types/cordovarduino/ @hendrikmaus
/types/core-js/ @rbuckton @mfdeveloper
+/types/core-object/ @dfreeman
/types/correlation-id/ @natemara
/types/cors/ @pluma
/types/cosmiconfig/v4/ @ozum
/types/cosmiconfig/ @ozum @szeck87 @saadq @jinwoo
-/types/cote/ @makepost
+/types/cote/ @makepost @roblabat
/types/couchbase/ @maouida @fluggo
/types/countdown/ @gjuchault
/types/counterpart/ @santiagodoldan
/types/countries-and-timezones/ @zero51
-/types/country-list/ @iRoachie
+/types/country-list/v1/ @iRoachie
+/types/country-list/ @iRoachie @Kimahriman
/types/country-select-js/ @humrochagf
+/types/countup.js/ @shermendev
/types/coverup/ @bevalorous
/types/cp-file/ @BendingBender
/types/cpx/ @alan-agius4
@@ -688,32 +731,40 @@
/types/cradle/ @panuhorsmalahti
/types/crc/ @YuJianrong
/types/create-error/ @tkrotoff
+/types/create-hash/ @BendingBender
+/types/create-hmac/ @BendingBender
/types/create-react-class/ @jgoz
/types/create-subscription/ @Asana @vsiao
/types/createjs/ @evilangelist @gyohk
/types/createjs-lib/ @evilangelist @gyohk
/types/credential/ @phuvo
/types/credit-card-type/ @LKay
+/types/critters-webpack-plugin/ @JuanJoseGonGi
/types/cron/ @horiuchi @winup
/types/cropperjs/ @stepancar
/types/croppie/ @connor4312 @dklmuc @sarunint @knuthelgesen
/types/cross-spawn/ @Alorel
/types/crossfilter/ @schmuli @iebaker @nordfjord
/types/crossroads/ @diullei
+/types/crpc/ @0xdeafcafe
+/types/crumb/ @lenovouser @SimonSchick
/types/cryptiles/ @awendland
/types/crypto-js/ @misak113
/types/crypto-random-string/ @MrManny
/types/cryptojs/ @giabao
+/types/cryptr/ @rrogowski
/types/cson/ @stpettersens
+/types/cson-parser/ @lenovouser
/types/csprng/ @winksaville
/types/csrf/ @markis
/types/css/ @ilich
/types/css-font-loading-module/ @slikts
/types/css-modules/ @NeekSandhu
/types/css-to-style/ @bengry
+/types/css-tree/ @erik-kallen
/types/cssbeautify/ @rictic
/types/cssnano/ @odnamrataizem
-/types/csso/ @screendriver
+/types/csso/ @screendriver @erik-kallen
/types/csurf/ @horiuchi
/types/csv-parse/ @davidm77 @obi-jan-kenobi
/types/csv-stringify/ @rogierschouten @arjenvanderende
@@ -725,15 +776,16 @@
/types/cucumber/ @abraaoalves @jan-molak @isoung @BendingBender @ErikSchierboom
/types/currency-formatter/ @mhegazy @davidmpaz
/types/custom-error-generator/ @thmiceli
+/types/custom-functions-runtime/ @OfficeDev @Zlatkovsky @mscharlock
/types/cwise/ @taoqf
/types/cwise-compiler/ @taoqf
/types/cwise-parser/ @taoqf
/types/cybozulabs-md5/ @pine613
/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas @cerberuser
/types/d3/v3/ @gustavderdrache @borisyankov @MatthiasJobst
-/types/d3/v4/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-array/ @gustavderdrache @borisyankov @tomwanzek
+/types/d3/v4/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3/ @tomwanzek @gustavderdrache @borisyankov @denisname
+/types/d3-array/ @gustavderdrache @borisyankov @tomwanzek @denisname
/types/d3-axis/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-box/ @lk-chen
/types/d3-brush/ @tomwanzek @gustavderdrache @borisyankov
@@ -745,16 +797,17 @@
/types/d3-delaunay/ @BTOdell
/types/d3-dispatch/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-drag/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-dsv/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-dsv/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-ease/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-fetch/ @ledragon
/types/d3-force/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-format/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-geo/ @ledragon @tomwanzek @gustavderdrache @borisyankov
+/types/d3-graphviz/ @DomParfitt
/types/d3-hexbin/ @uncovertruth @tomwanzek @denisname
/types/d3-hierarchy/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-hsv/ @arrayjam @denisname
-/types/d3-interpolate/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-interpolate/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-path/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-polygon/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-quadtree/ @tomwanzek @gustavderdrache @borisyankov @denisname
@@ -765,12 +818,12 @@
/types/d3-scale/v1/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-scale/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-scale-chromatic/ @Ledragon @gustavderdrache @borisyankov @henriquefm
-/types/d3-selection/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-selection/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-selection-multi/ @gustavderdrache @borisyankov
/types/d3-shape/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-time/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-time/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-time-format/ @tomwanzek @gustavderdrache @borisyankov
-/types/d3-timer/ @tomwanzek @gustavderdrache @borisyankov
+/types/d3-timer/ @tomwanzek @gustavderdrache @borisyankov @denisname
/types/d3-tip/ @brspnnggrt
/types/d3-transition/ @tomwanzek @gustavderdrache @borisyankov
/types/d3-voronoi/ @tomwanzek @gustavderdrache @borisyankov @denisname
@@ -802,6 +855,7 @@
/types/datejs/ @rupertavery
/types/daterangepicker/ @SirMartin @smasala @nertzy
/types/dav/ @ToastHawaii
+/types/dayzed/ @samhh
/types/db-migrate-base/ @nickiannone
/types/db-migrate-pg/ @nickiannone
/types/db.js/ @cgwrench
@@ -809,8 +863,9 @@
/types/dd-trace/ @ColinBradley @alloy
/types/deasync/ @Sicilica
/types/debessmann/ @vkorehov
-/types/debounce/ @denis-sokolov
-/types/debug/ @swook @galtalmor @zamb3zi
+/types/debounce/ @denis-sokolov @joshuakgoldberg @wcarson
+/types/debounce-promise/ @whtsky
+/types/debug/ @swook @galtalmor @zamb3zi @brasten
/types/decamelize/ @samverschueren
/types/decay/ @enaeseth
/types/decompress/ @plantain-00 @jbethke
@@ -824,7 +879,6 @@
/types/deep-freeze/ @Bartvds @aluanhaddad
/types/deep-freeze-es6/ @mattbishop
/types/deep-freeze-strict/ @mhegazy
-/types/deepmerge/ @marvinscharle @syy1125 @AppLover69
/types/defaults/ @IbtihelCHNAB
/types/defer-promise/ @niklasf
/types/define-lazy-prop/ @BendingBender
@@ -843,10 +897,13 @@
/types/depd/ @danny8002 @BendingBender
/types/dependency-tree/ @joscha
/types/deployjava/ @cyrilschumacher
+/types/deprecate/ @Toilal
+/types/deps-sort/ @TeamworkGuy2
/types/derhuerst__cli-on-key/ @jacobbubu
/types/destroy/ @BendingBender
/types/destroy-on-hwm/ @BendingBender
-/types/detect-browser/ @rogierschouten
+/types/detect-browser/ @rogierschouten @carusology
+/types/detect-character-encoding/ @BendingBender
/types/detect-hover/ @thomastilkema
/types/detect-indent/v0/ @Bartvds
/types/detect-indent/ @Bartvds @BendingBender
@@ -857,7 +914,9 @@
/types/detect-pointer/ @thomastilkema
/types/detect-port/ @lith-light-g
/types/detect-touch-events/ @thomastilkema
-/types/detox/ @TareqElMasri
+/types/detective/ @TeamworkGuy2
+/types/detox/ @TareqElMasri @stevechun
+/types/dev-ip/ @mike-engel
/types/devexpress-aspnetcore-bootstrap/ @devexpress @skubarenko
/types/df-visible/ @Litee
/types/dhtmlxgantt/ @mkozhukh @chriscamicas
@@ -866,16 +925,21 @@
/types/di-lite/ @dcrusader
/types/diacritics/ @otociulis
/types/dialogflow/ @dyladan
-/types/diff/ @vvakame @szdc
+/types/dicer/ @GoupilRobin @BendingBender
+/types/diff/ @vvakame @szdc @moc-yuto
/types/diff2html/ @rtfpessoa
+/types/diffie-hellman/ @BendingBender
+/types/digibyte/ @lautarodragan @werewolfe
+/types/dinero.js/ @BendingBender
/types/dir-resolve/ @andy-ms
/types/discontinuous-range/ @OiCMudkips
+/types/discord-rpc/ @jasonhaxstuff
/types/discourse-sso/ @championswimmer
/types/dispatchr/ @Ragg-
/types/disposable-email-domains/ @geoffreak
/types/dnssd/ @angelmerino @Maxr1998
/types/doccookies/ @jonegerton
-/types/dockerode/ @seikho @nlaplante @isac322 @lazarusx @meisenzahl @thegecko
+/types/dockerode/ @seikho @nlaplante @isac322 @lazarusx @meisenzahl @thegecko @CameronDiver
/types/docopt/ @giggio
/types/doctrine/ @rictic
/types/document-promises/ @NotWoods
@@ -886,10 +950,12 @@
/types/dojo/ @vansimke
/types/dom-clipboard-api/ @43081j
/types/dom-inputevent/ @diagramatics
+/types/dom-loaded/ @ltetzlaff
+/types/dom-mediacapture-record/ @eliasmeire
/types/dom-to-image/ @JipSterk
/types/dom4/ @adidahiya @giladgray
/types/domo/ @Steve-Fenton
-/types/dompurify/ @bazuzi
+/types/dompurify/ @bazuzi @FlowCrypt
/types/domready/ @dotnetnerd
/types/donna/ @vvakame
/types/dookie/ @swanest
@@ -900,7 +966,7 @@
/types/dotdir-regex/ @mrmlnc
/types/dotdotdot/ @milanjaros
/types/dotenv/v2/ @jussikinnula @borekb @enaeseth
-/types/dotenv/ @jussikinnula @borekb @enaeseth
+/types/dotenv/ @jussikinnula @borekb @enaeseth @maxbeatty
/types/dotenv-safe/ @krenor
/types/dotenv-webpack/ @karol-majewski
/types/dotfile-regex/ @mrmlnc
@@ -916,6 +982,7 @@
/types/draggabilly/ @jaydubu
/types/dragster/ @zskovacs
/types/dragula/ @pwelter34 @abruzzihraig
+/types/dropbox-chooser/ @quas94
/types/dropboxjs/ @Steve-Fenton @xperiments
/types/dropkickjs/ @VorobeY1326
/types/dropzone/v4/ @nvivo @outring @renuo @Hikariii
@@ -923,7 +990,7 @@
/types/dts-generator/ @mtraynham
/types/duplexer2/ @Goldsmith42
/types/duplexer3/ @BendingBender
-/types/duplexify/ @strax
+/types/duplexify/ @strax @kinwa91
/types/duplicate-package-checker-webpack-plugin/ @mtraynham
/types/durandal/ @BlueSpire
/types/dustjs-linkedin/ @mdezem
@@ -946,7 +1013,7 @@
/types/easy-xapi/ @DeadAlready
/types/easy-xapi-utils/ @DeadAlready
/types/ebongarde-root/ @Ebongarde
-/types/echarts/ @xieisabug @AntiMoron @liveangela @Ovilia
+/types/echarts/ @xieisabug @AntiMoron @liveangela @Ovilia @iRON5
/types/ecma-proposal-math-extensions/ @ksm2
/types/ecurve/ @mhegazy
/types/ed25519/ @erikma
@@ -959,6 +1026,7 @@
/types/ejs/ @benliddicott
/types/ejs-locals/ @jt000
/types/ejson/ @shantanubhadoria
+/types/elastic-apm-node/ @shahaed
/types/elasticsearch/ @CasperSkydt @bfsmith @ddunkin @pushplay @mlamp @ahmadferdous @SimonSchick @brabster @deerawan
/types/electron-config/ @mrfunkycold @unindented
/types/electron-debug/ @unindented
@@ -979,7 +1047,7 @@
/types/electron-winstaller/ @shiftkey @unindented
/types/elegant-spinner/ @danwbyrne
/types/element-ready/ @BendingBender
-/types/element-resize-detector/ @saranshkataria
+/types/element-resize-detector/ @saranshkataria @franklixuefei
/types/element-resize-event/ @rogierschouten @plgregoire
/types/elementtree/ @dwieeb
/types/elliptic/ @danwbyrne
@@ -1023,7 +1091,9 @@
/types/emoji-regex/ @iKBAHT
/types/emojione/ @dbrgn
/types/empower/ @vvakame
+/types/empty-dir/ @BendingBender
/types/emscripten/ @zakki @periklis
+/types/encoding-down/ @MeirionHughes @danwbyrne
/types/end-of-stream/ @strax
/types/engine.io/ @KentarouTakeda
/types/engine.io-client/ @KentarouTakeda
@@ -1039,6 +1109,7 @@
/types/enzyme-adapter-react-15/ @tkrotoff
/types/enzyme-adapter-react-15.4/ @nali
/types/enzyme-adapter-react-16/ @tkrotoff
+/types/enzyme-async-helpers/ @kimehrenpohl
/types/enzyme-redux/ @knegusen
/types/enzyme-to-json/ @joscha
/types/eonasdan-bootstrap-datetimepicker/ @ToastHawaii
@@ -1097,16 +1168,21 @@
/types/exit/ @Bartvds
/types/exit-hook/ @BendingBender
/types/exorcist/ @TeamworkGuy2
+/types/expand-tilde/ @carnesen
/types/expect/ @jmreidy @merrywhether
/types/expect-puppeteer/ @JoshuaKGoldberg @tkrotoff
/types/expect.js/ @teppeis
/types/expectations/ @vvakame
/types/expired-storage/ @intolerance
+/types/expirymanager/ @DanielRose
/types/expo/v23/ @KonstantinKai
/types/expo/v24/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger
/types/expo/v25/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov
/types/expo/v26/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @tinaroh
-/types/expo/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki
+/types/expo/v27/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo
+/types/expo/v30/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo
+/types/expo/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov @moshfeu @prokopcm @tinaroh @binki @mo @levansuper @ihmpavel
+/types/expo-localization/ @burtek
/types/expo__status-bar-height/ @dawnmist
/types/expo__vector-icons/ @incleaf
/types/express/ @borisyankov
@@ -1137,6 +1213,7 @@
/types/express-mung/ @cyrilschumacher
/types/express-myconnection/ @Cellule
/types/express-mysql-session/ @Akim95
+/types/express-ntlm/ @forivall
/types/express-oauth-server/ @atd-schubert
/types/express-openapi/ @mugeso
/types/express-paginate/ @AmirTugi
@@ -1146,15 +1223,20 @@
/types/express-redis-cache/ @ajliv
/types/express-route-fs/ @kripod
/types/express-routemap/ @icopp
+/types/express-routes-versioning/ @weffe
/types/express-sanitized/ @cjbarth
/types/express-serve-static-core/ @borisyankov @19majkel94 @kacepe @micksatana @samijaber
/types/express-session/ @horiuchi @jacobbogers @builtinnya @ry7n
+/types/express-sitemap-xml/ @ffflorian
/types/express-socket.io-session/ @AylaJK
/types/express-to-koa/ @xiaohanzhang
/types/express-unless/ @wokim
+/types/express-version-request/ @weffe
+/types/express-version-route/ @weffe
/types/express-wechat-access/ @simmons8616
/types/express-winston/ @bricka
/types/express-ws/ @ajliv
+/types/express-ws-routes/ @gstamac
/types/express-xml-bodyparser/ @noticeMaker @macedigital
/types/extend/ @reppners
/types/extjs/ @brian428
@@ -1168,8 +1250,9 @@
/types/f1/ @neolwc
/types/fabric/ @oklemencic @joewashear007 @mrand01 @NotWoods @bmartinson @RogerioTeixeira @BradleyHill
/types/facebook-instant-games/ @menushka @oyvindjam
-/types/facebook-js-sdk/ @amritk @mahmoudzohdi
+/types/facebook-js-sdk/ @amritk @mahmoudzohdi @fluidsonic
/types/facebook-pixel/ @noctishsu
+/types/factory-girl/ @stackbuilders @sestrella @elcuy
/types/faker/v3/ @Kuniwak
/types/faker/ @bensw @basp @Kuniwak @mattbishop
/types/falcor/ @Quramy
@@ -1181,11 +1264,15 @@
/types/fancy-log/ @pine
/types/fancybox/ @borisyankov
/types/farbtastic/ @EnableSoftware
-/types/fast-diff/ @djrenren
/types/fast-levenshtein/ @mizunashi-mana
/types/fast-list/ @BendingBender
/types/fast-stats/ @rogierschouten
/types/fastclick/ @shinnn
+/types/fastify-accepts/ @leomelzer
+/types/fastify-cors/ @jannikkeye
+/types/fastify-jwt/ @jannikkeye
+/types/fastify-multipart/ @jannikkeye
+/types/fastify-static/ @leomelzer
/types/favico.js/ @drowse314-dev-ymat
/types/favicons/ @mohsen1
/types/fb/ @JoshStrobl
@@ -1212,7 +1299,7 @@
/types/feedme/ @codeanimal
/types/feedparser/ @cortopy
/types/fetch-jsonp/ @tkrotoff
-/types/fetch-mock/ @asvetliakov @tamird @merrywhether @chrissinclair @matttennison @quentinbouygues
+/types/fetch-mock/ @asvetliakov @tamird @merrywhether @chrissinclair @matttennison @quentinbouygues @mtsmfm
/types/fetch.io/ @newraina
/types/ffi/ @loyd @waitingsong
/types/ffi-napi/ @keerthi16 @KiranNiranjan
@@ -1234,25 +1321,29 @@
/types/finalhandler/ @chrootsu
/types/finch/ @DavidSichau
/types/find/ @andypyrope
+/types/find-package-json/ @BendingBender
/types/find-parent-dir/ @ikatyang
/types/find-process/ @buaban
/types/find-project-root/ @ikatyang
/types/find-root/ @Alorel
/types/find-up/ @BendingBender
-/types/find-versions/ @LogvinovLeon
+/types/find-versions/ @LogvinovLeon @carnesen
/types/findup-sync/ @Bartvds @ngbrown
+/types/fined/ @BendingBender
/types/fingerprintjs/ @zaneli
/types/fingerprintjs2/ @curtstate
/types/firebase-client/ @fpsscarecrow
/types/firebase-token-generator/ @dotdotcommadot
/types/firebird/ @karak
/types/firefox/ @vvakame
-/types/firefox-webext-browser/ @bomjacob
+/types/firefox-webext-browser/ @jsmnbom
/types/firmata/ @troywweber7
/types/first-mate/ @GlenCFL
/types/fixed-data-table/ @pepaar @stephenjelfs
/types/fixed-data-table-2/ @ilivit
+/types/flagged-respawn/ @BendingBender
/types/flat/ @chrootsu
+/types/fleximap/ @DanielRose
/types/flexslider/ @diullei
/types/flickity/ @clmcgrath @wagich
/types/flight/ @jonathanhedren
@@ -1260,11 +1351,13 @@
/types/flipsnap/ @kubosho @gsino @mayuki
/types/float-regex/ @wanganjun
/types/flot/ @burlandm @Anticom @admiralsmaster
+/types/flowdoc/ @animify
/types/flowjs/ @ryan10132
/types/fluent-ffmpeg/ @tcaesvk @DingWeizhe @mabidina
/types/flush-write-stream/ @djcsdy
/types/flux/ @stkb @GiedriusGrabauskas
/types/fluxible/ @xbim
+/types/fluxible-addons-react/ @xbim
/types/fluxible-router/ @xbim
/types/fluxxor/ @mrk21
/types/fm-websync/ @markusmauch
@@ -1289,6 +1382,7 @@
/types/foundation/ @borisyankov
/types/fpsmeter/ @alampros
/types/framebus/ @kbukum
+/types/franc/ @wlegate
/types/frctl__fractal/ @pmccloghrylaing
/types/freedom/ @jpevarnek
/types/freeport/ @atd-schubert
@@ -1323,11 +1417,13 @@
/types/fusioncharts/ @rohitkr @shivarajkv
/types/fuzzaldrin/ @mhegazy
/types/fuzzaldrin-plus/ @jeancroy @jkillian @reyronald
+/types/fuzzy-search/ @alex-deas @BendingBender
/types/fuzzyset/ @lgrignon @narainsagar
/types/fuzzyset.js/ @lgrignon @narainsagar
/types/fxn/ @charrondev
/types/gae.channel.api/ @vvakame
/types/gamedig/ @ivansieder
+/types/gamepad/ @Lange
/types/gamequery/ @Laubi
/types/ganache-core/ @LogvinovLeon
/types/gandi-livedns/ @xstoudi
@@ -1490,9 +1586,12 @@
/types/get-stdin/ @DanielRosenwasser
/types/get-stream/ @douglasduteil @BendingBender
/types/get-value/ @DanielRosenwasser
+/types/getenv/ @impankratov
/types/getopts/ @azasypkin
/types/getos/ @BendingBender
/types/gettext.js/ @jucrouzet
+/types/gh-pages/ @DanielRosenwasser
+/types/ghauth/ @Leko
/types/gifffer/ @gatimus
/types/gijgo/ @atatanasov
/types/giraffe/ @darthapo
@@ -1500,16 +1599,24 @@
/types/git-branch/ @rynclark
/types/git-config/ @stpettersens
/types/git-remote-origin-url/ @janslow
+/types/git-rev-sync/ @khoi-fish
+/types/git-root-dir/ @ffflorian
/types/git-url-parse/ @ajafff
+/types/gitconfiglocal/ @ffflorian
/types/github-url-to-object/ @ajafff
/types/github-username-regex/ @BehindTheMath
-/types/gitlab/ @yanqing6628780 @Arylo
/types/gl-matrix/ @mattijskneppers @tatchx @nbabanov @auzmartist @surtr-isaz
+/types/gl-react/ @jussikinnula
+/types/gl-react-dom/ @jussikinnula
+/types/gl-react-expo/ @jussikinnula
+/types/gl-react-headless/ @jussikinnula
+/types/gl-react-native/ @jussikinnula
/types/gl-shader/ @MathiasPaumgarten
/types/gl-texture2d/ @MathiasPaumgarten
/types/gldatepicker/ @qcz
/types/glidejs/ @milanjaros
-/types/glob/ @vvakame @voy
+/types/glob/v5/ @vvakame @voy
+/types/glob/ @vvakame @voy @ajafff
/types/glob-base/ @alan-agius4
/types/glob-expand/ @vvakame
/types/glob-parent/ @mrmlnc
@@ -1520,20 +1627,21 @@
/types/globalize-compiler/ @iclanton
/types/globby/ @douglasduteil @ikatyang
/types/globule/ @durad
+/types/glue/v4/ @gjednaszewski
/types/glue/ @garfty
-/types/gm/ @ChaosinaCan @maartenvanvliet
+/types/gm/ @ChaosinaCan @maartenvanvliet @mlejva
/types/go/ @NorthwoodsSoftware
/types/google-adwords-scripts/ @jafaircl
/types/google-apps-script/ @motemen @grant
/types/google-apps-script-oauth2/ @dhayab
/types/google-cloud__datastore/ @beaulac @ogawa0071 @ThomasdenH
/types/google-cloud__pubsub/ @pheromonez @LunaPg @msiviero
-/types/google-cloud__storage/ @blove @nbperry @welkie @ogawa0071
/types/google-earth/ @icholy
/types/google-images/ @dolanmiu
/types/google-libphonenumber/ @leonyu @winfinit
/types/google-map-react/ @honzabrecka
/types/google-maps/ @DeividasBakanas @GiedriusGrabauskas
+/types/google-maps-react/ @gburgett @jpowell
/types/google-protobuf/ @marcuslongmuir
/types/google-translate-api/ @maple3142
/types/google.analytics/ @tyler-murphy
@@ -1541,26 +1649,31 @@
/types/google.fonts/ @danmarshall
/types/google.geolocation/ @vbortone
/types/google.picker/ @grapswiz
-/types/google.visualization/ @danludwig @gmoore-sjcorg @danmana @mlcheng @IvanBisultanov @glebm
+/types/google.visualization/ @danludwig @gmoore-sjcorg @danmana @mlcheng @IvanBisultanov @glebm @shrujalshah28
+/types/google__maps/ @indrimuska
/types/googlemaps/ @cgwrench @nertzy @xaolas @mrmcnerd @martincostello @svenkreiss @bolatovumar @gauthierm
/types/googlemaps.infobubble/ @Dashue
-/types/googlepay/ @Fluccioni @Radu-Raicea
-/types/got/ @BendingBender @LinusU @ikokostya
+/types/googlepay/ @Fluccioni @Radu-Raicea @fstanis
+/types/got/v8/ @BendingBender @LinusU @ikokostya
+/types/got/ @BendingBender @LinusU @ikokostya @stijnvn
/types/graceful-fs/v2/ @Bartvds
/types/graceful-fs/ @Bartvds @BendingBender
/types/gradient-string/ @Ailrun
/types/graham_scan/ @hberntsen
/types/gramps__rest-helpers/ @claude
/types/graphite-udp/ @EricByers
-/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz @bradzacher @clayne11
+/types/graphlib-dot/ @DomParfitt
+/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz @bradzacher @clayne11 @JCMais
/types/graphql-date/ @enaeseth
/types/graphql-deduplicator/ @lfades
/types/graphql-depth-limit/ @eritikass
+/types/graphql-fields/ @feinoujc
/types/graphql-iso-date/ @jwaldrip
/types/graphql-list-fields/ @filipows
/types/graphql-query-complexity/ @abhikmitra
/types/graphql-relay/ @arvitaly @nitintutlani @Grelinfo
/types/graphql-resolve-batch/ @nayni
+/types/graphql-resolvers/ @mike-engel
/types/graphql-type-json/ @schfkt
/types/graphviz/ @mhfrantz
/types/grasp/ @agnoster
@@ -1570,12 +1683,11 @@
/types/grecaptcha/v0/ @brentj73
/types/grecaptcha/ @DethAriel @rafaeltavares
/types/gregorian-calendar/ @cwalv
-/types/grid-styled/ @antonvasin @vittorio @lhache
/types/gridfs-stream/ @liorm
/types/gridstack/ @PascalSenn @ZoolWay @Sl1MBoy
/types/grpc-error/ @danwbyrne
/types/grunt/ @jeffmay @basarat
-/types/gsap/ @codebelt @ProbablePrime @philipbulley
+/types/gsap/ @codebelt @ProbablePrime @philipbulley @leomeloxp
/types/gtin/ @RafaelKr
/types/guid/ @maroy1986
/types/gulp/ @GiedriusGrabauskas
@@ -1618,6 +1730,7 @@
/types/gulp-jasmine/ @andypyrope
/types/gulp-jasmine-browser/ @tkrotoff
/types/gulp-json-editor/ @peterjuras
+/types/gulp-json-validator/ @pe8ter
/types/gulp-jsonmin/ @romain-faust
/types/gulp-jsonminify/ @pine
/types/gulp-jspm/ @peterjuras
@@ -1662,12 +1775,14 @@
/types/halogen/ @steller
/types/hammerjs/ @milkisevil @codler
/types/handlebars/ @borisyankov @evil-shrike
+/types/handlebars-helpers/ @Toilal
/types/hapi/v8/ @jasonswearingen
/types/hapi/v12/ @jasonswearingen
/types/hapi/v15/ @jasonswearingen
/types/hapi/v16/ @jasonswearingen @AJamesPhillips
/types/hapi/ @rafaelsouzaf @jhsimms @SimonSchick
/types/hapi-auth-basic/ @AJamesPhillips @saboya
+/types/hapi-auth-cookie/ @lenovouser @SimonSchick @Mutmatt
/types/hapi-auth-jwt2/v7/ @warrenseymour
/types/hapi-auth-jwt2/ @warrenseymour @SimonSchick
/types/hapi-decorators/ @kenhowardpdx
@@ -1704,6 +1819,7 @@
/types/hexo-fs/ @segayuu
/types/hexo-log/ @segayuu
/types/hexo-util/ @segayuu
+/types/hibp/ @lenovouser
/types/highcharts/ @damianog @baltie @AlbertOzimek @hanssens
/types/highcharts-ng/ @scatcher
/types/highland/ @Bartvds @hgwood @iwllyu @alvis @notbobthebuilder
@@ -1721,6 +1837,8 @@
/types/holderjs/ @renjfk
/types/hooker/ @misak113
/types/hopscotch/ @pimterry @Aurimas1
+/types/host-validation/ @dintopple
+/types/hosted-git-info/ @OiyouYeahYou
/types/howler/ @xperiments @tdukart @alien35 @nicholashza
/types/hpp/ @kryops
/types/html-entities/ @xstoudi
@@ -1732,7 +1850,7 @@
/types/html-void-elements/ @rhysd
/types/html-webpack-plugin/ @deevus @bumbleblym @tlaziuk
/types/html-webpack-template/ @bumbleblym
-/types/html2canvas/ @rwhepburn @tan9 @sschocke
+/types/html2canvas/ @rwhepburn @tan9 @sschocke @Ristaaf
/types/htmlbars-inline-precompile/ @chriskrycho
/types/htmlparser2/ @staticfunction @LinusU
/types/htmltojsx/ @basarat
@@ -1744,7 +1862,7 @@
/types/http-graceful-shutdown/ @dlee-nvisia
/types/http-link-header/ @screendriver
/types/http-proxy/ @SomaticIT @Raigen @DanielMSchmidt
-/types/http-proxy-agent/ @mrmlnc
+/types/http-proxy-agent/ @mrmlnc @steprescott
/types/http-proxy-middleware/ @zebMcCorkle @BendingBender
/types/http-rx/ @L2jLiga
/types/http-server/ @plantain-00
@@ -1759,13 +1877,16 @@
/types/humanparser/ @MichalPodeszwa
/types/humps/ @nikeee
/types/hyco-ws/ @mrcabellom
+/types/hyper-aws4/ @bambutz
/types/hyperscript/ @spacejack @jmfirth
/types/hypertext-application-language/ @maks3w
/types/hystrixjs/ @igorsechyn
/types/i18n/ @SomaticIT @FindQ
+/types/i18n-abide/ @smbell
/types/i18n-js/ @ypresto
/types/i18next/v2/ @mxl @deerawan @GiedriusGrabauskas
-/types/i18next/ @mxl @deerawan @GiedriusGrabauskas
+/types/i18next/v8/ @mxl @deerawan @GiedriusGrabauskas
+/types/i18next/ @mxl @deerawan @GiedriusGrabauskas @lenovouser @qqilihq @butchyyyy
/types/i18next-browser-languagedetector/v0/ @cyrilschumacher @GiedriusGrabauskas
/types/i18next-browser-languagedetector/ @cyrilschumacher @GiedriusGrabauskas
/types/i18next-express-middleware/ @cyrilschumacher
@@ -1791,6 +1912,7 @@
/types/ignore-styles/ @tai2
/types/iltorb/ @Alorel @reconbot
/types/image-size/ @elisee
+/types/image-type/ @ffflorian
/types/imagemagick/ @soywiz
/types/imagemagick-native/ @horiuchi
/types/imagemapster/ @delphinus35
@@ -1802,11 +1924,11 @@
/types/images/ @DingWeizhe
/types/imagesloaded/ @coldacid @apexskier
/types/imap/ @psnider
-/types/imap-simple/ @pushplay
+/types/imap-simple/ @pushplay @iaarnio
/types/imgur-rest-api/ @lukewestby
/types/imperium/ @gaetansenn
/types/impress/ @borisyankov
-/types/in-app-purchase/ @l-jonas
+/types/in-app-purchase/ @l-jonas @IchordeDionysos
/types/in-range/ @DanielRosenwasser
/types/inboxsdk/ @rdoursenaud @amiram
/types/incremental-dom/ @basarat @lanthaler @vvakame
@@ -1816,40 +1938,47 @@
/types/inflected/ @dsci
/types/inflection/ @shiwano
/types/inherits/ @chrootsu
-/types/ini/ @marcinporebski
+/types/ini/ @marcinporebski @carnesen
/types/iniparser/ @chrootsu
+/types/init-package-json/ @kfarnung
/types/inline-css/ @philipisapain
-/types/inline-style-prefixer/ @ahz @dpetrezselyova
+/types/inline-style-prefixer/ @ahz @dpetrezselyova @franklixuefei
/types/inquirer/ @tkQubo @ppathan @jouderianjr @bang88 @bitjson @synarque @jrockwood @kwkelly @Ailrun
+/types/inquirer-npm-name/ @manuth
/types/insert-module-globals/ @leonard-thieu
/types/insight/ @vvakame
+/types/instabug-reactnative/ @pengcao1
/types/integer/ @Morfent
/types/intercom-client/ @jineshshah36 @peping
/types/intercom-web/ @fongandrew @salbahra @onatm
/types/intercomjs/ @spencerwi
/types/internal-ip/ @BendingBender
+/types/interpret/ @BendingBender
/types/intl/ @RagibHasin
/types/intl-locales-supported/ @Slessi
/types/intl-messageformat/ @mhegazy
/types/intl-relativeformat/ @mohsen1
-/types/intl-tel-input/ @fdnhkj @leonard-thieu
+/types/intl-tel-input/v13/ @fdnhkj @leonard-thieu
+/types/intl-tel-input/ @fdnhkj @leonard-thieu @molnarm
/types/into-stream/ @BendingBender
/types/intrinsic-scale/ @shalomdotnet
/types/intro.js/ @anahkiasen
/types/invariant/ @bennett000
/types/inversify-devtools/ @inversify
+/types/iobroker/ @AlCalzone
/types/ion-rangeslider/v1/ @dduugg @Karel-van-de-Plassche
/types/ion-rangeslider/ @Karel-van-de-Plassche
/types/ioredis/v3/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615 @reconbot
-/types/ioredis/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615 @reconbot
+/types/ioredis/ @plantain-00 @chrisleck @aliarham11 @br8h @shaharmor @palindrom615 @reconbot @funthing @iamolegga @tingwai-to
/types/iota.lib.js/ @fogsh
/types/ip/ @codeanimal
/types/ip-address/ @icopp @danwbyrne
/types/ip-regex/ @unindented
/types/ipcheck/ @bengry
/types/irc/ @phillips1012
+/types/iri/ @BendingBender
/types/iron/ @simonschick @rafaelsouzaf
-/types/is/ @cabralRodrigo
+/types/is/ @cabralRodrigo @gricey432
/types/is-absolute-url/ @mhegazy
/types/is-alphanumerical/ @vutran
/types/is-archive/ @mhegazy
@@ -1859,19 +1988,22 @@
/types/is-ci/ @atd-schubert
/types/is-color/ @VitorLuizC
/types/is-compressed/ @mhegazy
+/types/is-docker/ @YashdalfTheGray
/types/is-empty/ @termosa
/types/is-finite/ @mhegazy
/types/is-glob/ @mrmlnc
-/types/is-hotkey/ @petester42
+/types/is-hotkey/ @petester42 @kalley
/types/is-ip/ @coderslagoon
/types/is-mobile/ @LogvinovLeon
/types/is-my-json-valid/ @kruncher
/types/is-negated-glob/ @ajafff
/types/is-number/ @harryshipton
+/types/is-obj/ @forivall
/types/is-object/ @wbhob
/types/is-path-cwd/ @DanielRosenwasser
/types/is-path-in-cwd/ @mhegazy
/types/is-promise/ @DanielRosenwasser
+/types/is-regexp/ @forivall
/types/is-relative-url/ @mhegazy
/types/is-root/ @mhegazy
/types/is-root-path/ @mhegazy
@@ -1885,6 +2017,7 @@
/types/is-url-superb/ @kryops
/types/is-uuid/ @tedre191
/types/is-windows/ @mizunashi-mana
+/types/isaac/ @mo
/types/isbn-utils/ @elhaard
/types/iscroll/ @csrakowski @devlato
/types/ismobilejs/ @Ty3uK
@@ -1906,8 +2039,11 @@
/types/jade/ @panuhorsmalahti
/types/jalaali-js/ @alitaheri
/types/japanese-holidays/ @syamatoo
-/types/jasmine/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B
+/types/jasmine/v1/ @borisyankov
+/types/jasmine/v2/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B @cyungmann
+/types/jasmine/ @borisyankov @theodorejb @davidparsson @gmoothart @lukas-zech-software @Engineer2B @cyungmann @Roaders
/types/jasmine-ajax/ @lgrignon
+/types/jasmine-data-provider/ @tlaziuk
/types/jasmine-data_driven_tests/ @AnthonyMacKinnon
/types/jasmine-enzyme/ @bolatovumar
/types/jasmine-es6-promise-matchers/ @stephenlautier
@@ -1918,10 +2054,10 @@
/types/jasmine-node/ @svi3c
/types/jasmine-promise-matchers/ @matthewjh
/types/jasmine_dom_matchers/ @devoto13
-/types/jasminewd2/ @sjelin
+/types/jasminewd2/ @sjelin @gkalpak
/types/java/ @jimlloyd @hrl7 @darti
/types/java-applet/ @cyrilschumacher
-/types/javascript-astar/ @ptlis
+/types/javascript-astar/ @ptlis @lazerwalker
/types/javascript-bignum/ @sandersn
/types/javascript-obfuscator/ @sanex3339
/types/javascript-state-machine/ @borisyankov @mdocter @MrBigDog2U @samael65535 @taoqf
@@ -1930,8 +2066,9 @@
/types/jdataview/ @RReverser
/types/jdenticon/ @mtr
/types/jest/v16/ @NoHomey @jwbay
-/types/jest/ @NoHomey @jwbay @asvetliakov @alexjoverm @epicallan @ikatyang @wsmd @JamieMason @douglasduteil @ahnpnl @joshuakgoldberg @UselessPickles @r3nya @hotell @sebald
+/types/jest/ @NoHomey @jwbay @asvetliakov @alexjoverm @epicallan @ikatyang @wsmd @JamieMason @douglasduteil @ahnpnl @joshuakgoldberg @UselessPickles @r3nya @hotell @sebald @andys8
/types/jest-axe/ @JoshuaKGoldberg
+/types/jest-cli/ @lifeiscontent
/types/jest-diff/ @myabc
/types/jest-docblock/ @ikatyang
/types/jest-each/ @theutz @nickmccurdy
@@ -1950,12 +2087,14 @@
/types/jexl/ @m-tomczyk
/types/jfs/ @tlaziuk
/types/jira-client/ @KOPTE3 @orta
+/types/jju/ @ecraig12345 @rlidwka
/types/jjv/ @Nemo157
/types/jjve/ @Nemo157
/types/jmespath/ @pushplay
-/types/johnny-five/ @nakakura @ujvzolee @workshop2
+/types/johnny-five/ @nakakura @ujvzolee @workshop2 @xtrimsystems
/types/joi/v6/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW
/types/joi/v10/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @aconanlai
+/types/joi/v13/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai @zaphoyd @thewillg @SimonSchick
/types/joi/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai @zaphoyd @thewillg @SimonSchick
/types/joigoose/ @boothwhack
/types/josa/ @vichyssoise
@@ -1967,7 +2106,7 @@
/types/jqrangeslider/ @qcz
/types/jquery/v1/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
/types/jquery/v2/ @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @DickvdBrink @King2500 @leonard-thieu
-/types/jquery/ @leonard-thieu @borisyankov @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @johnnyreilly @DickvdBrink @King2500
+/types/jquery/ @leonard-thieu @borisyankov @choffmeister @Steve-Fenton @Diullei @tasoili @jasons-novaleaf @seanski @Guuz @ksummerlin @basarat @nwolverson @derekcicerone @AndrewGaspar @seikichi @benjaminjackman @s093294 @JoshStrobl @johnnyreilly @DickvdBrink @King2500 @terrymun
/types/jquery-ajax-chain/ @humana-fragilitas
/types/jquery-alertable/ @stever
/types/jquery-animate-scroll/ @AndersonFriaca
@@ -1982,6 +2121,7 @@
/types/jquery-editable-select/ @baywet
/types/jquery-focus-exit/ @AndersonFriaca
/types/jquery-focusable/ @AndersonFriaca
+/types/jquery-formatdatetime/ @AndersonFriaca
/types/jquery-fullscreen/ @bgrieder
/types/jquery-galleria/ @rimig
/types/jquery-gray/ @AndersonFriaca
@@ -2100,11 +2240,11 @@
/types/js-sha512/ @nicojs
/types/js-string-escape/ @viralpickaxe
/types/js-to-java/ @skyitachi
-/types/js-url/ @pine613
+/types/js-url/ @pine
/types/js-yaml/ @Bartvds @sclausen
/types/js.spec/ @mattbishop
/types/jsbn/ @Evgenus @al2xed
-/types/jschannel/ @yitzchok
+/types/jschannel/ @yitzchok @McFlat
/types/jscrollpane/ @qcz
/types/jsdeferred/ @minodisk
/types/jsdom/ @leonard-thieu @palmfjord
@@ -2112,7 +2252,7 @@
/types/jsend/ @CaselIT
/types/jsesc/ @Bartvds
/types/jsfl/ @soywiz
-/types/jsforce/ @dolanmiu @netes @amphro @tnoonan-salesforce @whiteabelincoln
+/types/jsforce/ @dolanmiu @netes @amphro @tnoonan-salesforce @whiteabelincoln @borys-kupar
/types/jsftp/ @xyleen
/types/jsgraph/ @rosinbum
/types/jshamcrest/ @dharkness
@@ -2125,8 +2265,10 @@
/types/json-patch-gen/ @RohdeK
/types/json-pointer/ @Bartvds
/types/json-query/ @mtraynham
+/types/json-rpc-random-id/ @micahriggan
/types/json-rpc-ws/ @npenin @mlamp
/types/json-schema/ @bcherny @cyrilletuzi @lucianbuzzo @rolandjitsu
+/types/json-server/ @jeremyben
/types/json-socket/ @svi3c
/types/json-stable-stringify/ @mhfrantz
/types/json-stringify-safe/ @BendingBender
@@ -2134,6 +2276,7 @@
/types/json2md/ @MartynasZilinskas
/types/json3/ @NN---
/types/json5/ @Esemesek
+/types/json_ml/ @pluma
/types/jsonata/ @nick121212
/types/jsoneditor/ @alejo90 @errietta
/types/jsoneditor-for-react/ @joshuakgoldberg
@@ -2144,15 +2287,18 @@
/types/jsonnet/ @hookclaw
/types/jsonp/ @surenkov
/types/jsonpath/ @horiuchi @ikatyang
+/types/jsonquery/ @JimmyBoh
/types/jsonrpc-serializer/ @Akim95 @many20
/types/jsonstream/ @Bartvds
/types/jsontoxml/ @benstevens48
-/types/jsonwebtoken/ @SomaticIT @danielheim @brikou @vpk
+/types/jsonwebtoken/ @SomaticIT @danielheim @brikou @vpk @rlgod
/types/jsonwebtoken-promisified/ @SomaticIT @danielheim @brikou @aneilbaboo
-/types/jspdf/ @amberjs
+/types/jspath/ @dex4er
+/types/jspdf/ @amberjs @lleios @jemerald
/types/jsqrcode/ @lordazzi
/types/jsrender/ @zakki
/types/jsreport-core/ @taoqf
+/types/jsreport-html-embedded-in-docx/ @taoqf
/types/jsreport-html-to-xlsx/v1/ @me
/types/jsreport-html-to-xlsx/ @me
/types/jsreport-jsrender/ @taoqf
@@ -2174,7 +2320,9 @@
/types/jui/ @easylogic
/types/jui-core/ @easylogic
/types/jui-grid/ @easylogic
+/types/just-debounce-it/ @azizhk
/types/just-extend/ @pe8ter
+/types/just-pick/ @pe8ter
/types/jweixin/ @taoqf @gomydodo
/types/jwplayer/ @martinduparc @kutomer @philippguertler @danielmcgraw @bpdsw
/types/jws/ @JustinBeckwith
@@ -2184,22 +2332,27 @@
/types/jwt-express/ @nickp10
/types/jwt-simple/ @kenfdev @GaelMagnan
/types/jwt-then/ @phenomax
+/types/k6/ @MajorBreakfast
/types/kafka-node/ @dansitu @bkim54 @sfrooster @amiram
-/types/karma/ @tkrotoff @43081j
+/types/karma/v1/ @tkrotoff @43081j
+/types/karma/ @tkrotoff @43081j @devoto13
/types/karma-chai/ @JayAndCatchFire
/types/karma-chai-sinon/ @vasek17
-/types/karma-coverage/ @tkrotoff
+/types/karma-coverage/ @tkrotoff @devoto13
/types/karma-fixture/ @evictor @afshawnlotfi
/types/karma-jasmine/ @michelsalib
/types/karma-viewport/ @karak
/types/karma-webpack/ @mtraynham
/types/katex/ @mrand01
/types/kcors/ @Xstoudi @izayoiko
-/types/kdbush/ @DenisCarriere
+/types/kdbush/ @DenisCarriere @chrfrasco
+/types/kdbxweb/ @Roang-zero1
/types/keen-tracking/ @rui-ferreira
/types/kefir/ @AyaMorisawa @HitoriSensei
/types/kendo-ui/ @telerik
-/types/keyboardjs/ @vbortone @piranha771
+/types/kerberos/ @velezsarain
+/types/keyboardjs/ @vbortone @piranha771 @teoxoy
+/types/keycloak-connect/ @gstamac
/types/keygrip/ @jkeylu
/types/keymaster/ @nitram509
/types/keymirror/ @jfahrenkrug
@@ -2212,10 +2365,10 @@
/types/klaw/ @mceachen
/types/klaw-sync/ @shiftkey
/types/kms-json/ @sunnyone
-/types/knex/ @tkQubo @MeLlamoPablo @mastermatt @micksatana @shreyjain1994
+/types/knex/ @tkQubo @MeLlamoPablo @mastermatt @micksatana @shreyjain1994 @joelshepherd
/types/knex-postgis/ @vesse
/types/knockback/ @borisyankov
-/types/knockout/ @borisyankov @Igorbek @moonpyk @EnableSoftware @BenjaminEckardt @ffMathy @ltlombardi
+/types/knockout/ @borisyankov @Igorbek @moonpyk @EnableSoftware @BenjaminEckardt @ffMathy @ltlombardi @Retsam
/types/knockout-amd-helpers/ @DavidSichau
/types/knockout-secure-binding/ @pine613
/types/knockout-transformations/ @johnnyreilly @Nemo157
@@ -2236,7 +2389,8 @@
/types/koa/ @DavidCai1993 @jkeylu @brikou
/types/koa-basic-auth/ @Tobias4872
/types/koa-better-body/ @danwbyrne
-/types/koa-bodyparser/ @hellopao @anup-2s
+/types/koa-bodyparser/ @hellopao @anup-2s @hirochachacha
+/types/koa-bouncer/ @maruware
/types/koa-bunyan-logger/ @sjmcdowall
/types/koa-cache-control/ @pe8ter
/types/koa-compose/ @jkeylu
@@ -2251,9 +2405,10 @@
/types/koa-hbs/ @jcbmln @mudkipme
/types/koa-helmet/ @me
/types/koa-html-minifier/ @romain-faust
-/types/koa-joi-router/ @wingsbob @move-zig
+/types/koa-joi-router/ @wingsbob @move-zig @hirochachacha
/types/koa-json/ @brooklyndev
/types/koa-json-error/ @mudkipme
+/types/koa-log/ @havenchyk
/types/koa-logger/ @geoffreak @tlaziuk
/types/koa-logger-winston/ @stevehipwell
/types/koa-morgan/ @vesse
@@ -2262,28 +2417,34 @@
/types/koa-passport/ @horiuchi @tlaziuk @brendtumi
/types/koa-pino-logger/ @khell
/types/koa-pug/ @Xstoudi
+/types/koa-qs/ @RemyJeancolas
/types/koa-range/ @strax
+/types/koa-ratelimit/ @OutdatedVersion
+/types/koa-ratelimit-lru/ @danwbyrne
/types/koa-redis/ @nsimmons
/types/koa-redis-cache/ @dimamukhin
/types/koa-requestid/ @sjmcdowall
/types/koa-response-time/ @thorsedeke @sjmcdowall
/types/koa-route/ @migstopheles @jacogr
-/types/koa-router/ @hellopao @schfkt @JounQin @romain-faust
+/types/koa-router/ @hellopao @schfkt @JounQin @romain-faust @Guillaume-Mayer @falinor
/types/koa-send/ @pe8ter @tlaziuk
/types/koa-session/ @kerol2r20 @tlaziuk
/types/koa-session-minimal/ @longztian
/types/koa-sslify/ @wingsbob
/types/koa-static/ @hellopao @tlaziuk
/types/koa-static-cache/ @JounQin
+/types/koa-static-server/ @wulunyi
+/types/koa-useragent/ @rvboris
/types/koa-views/ @brooklyndev
/types/koa-webpack/ @malj @leebenson @miZyind @tlaziuk
-/types/koa-websocket/ @moimael @jacogr @zdila
+/types/koa-websocket/ @moimael @jacogr @zdila @Kroisse
/types/koa-xml-body/ @uwinkelvos
/types/koa2-cors/ @xialeistudio
/types/koa2-session-redis/ @DimaMukhin
/types/koa__cors/ @Xstoudi @izayoiko @stevehipwell @sjmcdowall
/types/kolite/ @borisyankov
/types/konami.js/ @mareek
+/types/kos-core/ @ali-Kos
/types/kraken-js/ @darkwebdev @micksatana
/types/kramed/ @tonicblue
/types/kss/ @giladgray
@@ -2292,14 +2453,18 @@
/types/kuromoji/ @mzsm @kgtkr
/types/lab/ @prashaantt
/types/ladda/ @dflor003 @leemicw
+/types/lambda-log/ @armonge
+/types/lambda-tester/ @ivank @HajoAhoMantila
/types/lasso/ @darkwebdev
/types/later/ @jasond-s
/types/latinize/ @GiedriusGrabauskas
/types/latlon-geohash/ @rimig
/types/launchpad/ @rictic
+/types/layzr.js/ @shermendev
/types/lazy-value/ @ikatyang
-/types/lazy.js/ @Bartvds
+/types/lazy.js/ @Bartvds @miso440
/types/lazypipe/ @tomc974
+/types/ldap-filters/ @pluma
/types/ldapjs/ @cvillemure @peterkooijmans
/types/leadfoot/ @theintern
/types/leaflet/v0/ @rgripper
@@ -2314,7 +2479,7 @@
/types/leaflet-imageoverlay-rotated/ @tkleinke
/types/leaflet-label/ @Nemo157
/types/leaflet-mouse-position/ @Hanyon
-/types/leaflet-polylinedecorator/ @soucekv
+/types/leaflet-polylinedecorator/ @soucekv @michaelfaisst
/types/leaflet-providers/ @BendingBender
/types/leaflet-rotatedmarker/ @robert-prib-polestar
/types/leaflet-routing-machine/ @chanakadrathnayaka
@@ -2329,32 +2494,43 @@
/types/leaflet.pancontrol/ @Brictarus
/types/leaflet.pm/ @tkleinke
/types/leaflet.polylinemeasure/ @RiON69
+/types/leakage/ @atd-schubert
/types/leapmotionts/ @logotype
+/types/ledgerhq__hw-transport/ @danwbyrne
+/types/ledgerhq__hw-transport-node-hid/ @danwbyrne
+/types/ledgerhq__hw-transport-u2f/ @danwbyrne
/types/legal-eagle/ @j-f1
/types/lerna-get-packages/ @LogvinovLeon
-/types/less/ @thasner @pranaygp @dwaxweiler
+/types/less/ @thasner @pranaygp @dwaxweiler @chigix
/types/less-middleware/ @federicobond
/types/less2sass/ @gatimus
/types/lestate/ @thelambdaparty
/types/level-codec/ @danwbyrne
/types/level-sublevel/ @basp
-/types/leveldown/ @tarruda @LinusU
-/types/levelup/ @blittle @tarruda
+/types/leveldown/v1/ @tarruda @LinusU
+/types/leveldown/ @MeirionHughes @danwbyrne
+/types/levelup/v1/ @blittle @tarruda
+/types/levelup/ @MeirionHughes @danwbyrne
/types/leven/ @jmalonzo
/types/levenshtein/ @geoffreak
/types/libpq/ @Lodin
/types/libsodium-wrappers/ @ffflorian
+/types/libsodium-wrappers-sumo/ @ffflorian
/types/libxmljs/ @fdecampredon @ComFreek
/types/libxslt/ @alejo90
/types/license-checker/ @rogierschouten @unindented
+/types/liftoff/ @BendingBender
/types/lil-uuid/ @Pr1st0n
/types/lime-js/ @arthur-xavier
/types/line-by-line/ @etomsen
/types/line-reader/ @stpettersens
/types/linear-gradient/ @Jack-Works
/types/lingui__core/ @huan086
+/types/lingui__macro/ @huan086
/types/lingui__react/ @huan086
/types/linkify-it/ @praxxis
+/types/linkifyjs/ @szhu
+/types/list-stream/ @IanStorm
/types/listr/ @durad
/types/lls/ @borislavjivkov
/types/load-json-file/ @SamVerschueren
@@ -2371,6 +2547,7 @@
/types/lockfile/v0/ @Bartvds
/types/lockfile/ @Bartvds @BendingBender
/types/lockr/ @droritos
+/types/locks/ @flippynips
/types/locutus/ @hookclaw
/types/lodash/v3/ @bczengel @chrootsu
/types/lodash/ @bczengel @chrootsu @stepancar @aj-r @ailrun @e-cloud @thorn0 @jtmthf @DomiR
@@ -2671,6 +2848,7 @@
/types/lokijs/ @TeamworkGuy2 @thomasconner
/types/lolex/ @Nemo157 @joshuakgoldberg @rogierschouten
/types/long/ @peterkooijmans
+/types/looks-same/ @xcatliu
/types/loopback/ @kattsushi @enko @sequoia @drmikecrowe @karimsa
/types/loopback-boot/ @kattsushi
/types/lorem-ipsum/ @durad
@@ -2682,31 +2860,36 @@
/types/lozad/ @plantain-00
/types/lru-cache/ @Bartvds @BendingBender
/types/lscache/ @Chris-Martinezz
-/types/ltx/ @PJakcson
+/types/ltx/ @PJakcson @BendingBender
/types/luaparse/ @stpettersens
/types/lunr/v0/ @sebastian-lenz
/types/lunr/ @seantanly
/types/lusca/ @crutchcorn
-/types/luxon/ @colbydehart @FourwingsY @jsiebern
+/types/luxon/ @colbydehart @FourwingsY @jsiebern @mastermatt
/types/lwip/ @AyaMorisawa
/types/lz-string/ @M0ns1gn0r
+/types/lzma-native/ @leshow
/types/magic-number/ @stpettersens
/types/magicsuggest/ @leonardochaia
/types/magnet-uri/ @tlaziuk
/types/mailcheck/ @pocesar
/types/maildev/ @cyrilschumacher @zbarbuto
/types/mailgen/ @vothanhkiet @jordanfarrer
-/types/mailgun-js/ @sampsonjoliver
+/types/mailgun-js/ @sampsonjoliver @andipaetzold
/types/mailparser/ @psnider
/types/main-bower-files/ @k-kagurazaka
/types/make-dir/ @ikatyang @BendingBender
/types/maker.js/ @danmarshall
-/types/mali/ @danwbyrne
+/types/makeup-expander/ @darkwebdev
+/types/makeup-floating-label/ @darkwebdev
+/types/makeup-keyboard-trap/ @darkwebdev
+/types/makeup-prevent-scroll-keys/ @darkwebdev
+/types/makeup-screenreader-trap/ @darkwebdev
/types/mali-compose/ @danwbyrne
/types/mali-onerror/ @danwbyrne
/types/mandrill-api/ @pocesar
/types/map-obj/ @BendingBender
-/types/mapbox/ @anahkiasen
+/types/mapbox/ @anahkiasen @Fluccioni
/types/mapbox-gl/ @dobrud @patrickr
/types/mapbox-gl-leaflet/ @agorshkov23
/types/mapbox__geo-viewport/ @fnberta
@@ -2720,9 +2903,10 @@
/types/markdown-it/ @rapropos
/types/markdown-it-anchor/ @seryl
/types/markdown-it-container/ @hronex
+/types/markdown-it-lazy-headers/ @knom
/types/markdown-pdf/ @MonsieurMan
/types/markdownlint/ @ark120202
-/types/marked/ @worr @BendingBender @CrossR
+/types/marked/ @worr @BendingBender @CrossR @mwickett
/types/marker-animate-unobtrusive/ @viskin
/types/markerclustererplus/ @enanox @mxl
/types/markitup/ @drillbits
@@ -2730,7 +2914,8 @@
/types/maskedinput/ @lokeshpeta
/types/masonry-layout/ @m-a-wilson @warriorrocker
/types/massive/v3/ @swissspidy @clarenceh
-/types/massive/ @swissspidy @clarenceh @AmazingTurtle
+/types/massive/v4/ @swissspidy @clarenceh @AmazingTurtle
+/types/massive/ @swissspidy @clarenceh @AmazingTurtle @mike-engel
/types/match-media-mock/ @asvetliakov
/types/match-sorter/ @claasahl
/types/material-components-web/ @BrentDouglas @ckosti
@@ -2767,11 +2952,13 @@
/types/materialize-css/ @huww98 @MaximBalaganskiy @MonizDave @broccoliarchy
/types/math3d/ @laszlojakab @jimsmart
/types/mathjax/ @rolandzwaga
-/types/mathjs/ @siavol @andnp @bradbesserman
+/types/mathjs/ @siavol @andnp @bradbesserman @pawkrol
/types/matter-js/ @piranha771 @hasparus
-/types/maxmind/ @geoffreak
+/types/mcrypt/ @pluma
/types/mcustomscrollbar/ @flurg
/types/md5/ @arcdev1 @jprogrammer
+/types/md5-file/ @BamButz
+/types/mdast/ @lujun2
/types/mdns/ @reppners
/types/mdurl/ @rokt33r
/types/media-typer/ @BendingBender
@@ -2790,6 +2977,7 @@
/types/memwatch-next/ @cyrilschumacher
/types/meow/ @KnisterPeter @praxxis @bitjson
/types/merge-descriptors/ @danny8002
+/types/merge-env/ @BendingBender
/types/merge-stream/ @k-kagurazaka @tomxtobin @daniel-zazula @djcsdy
/types/merge2/ @tkrotoff @smac89
/types/merkle/ @kerol2r20
@@ -2800,11 +2988,12 @@
/types/messenger/ @derekcicerone
/types/meteor/ @barbatus @fullflavedave @orefalo @dagatsoin @birkskyum @ardatan @stefanholzapfel @andrei-markeev @lmachens
/types/meteor-accounts-phone/ @DAB0mB
+/types/meteor-astronomy/ @Deadly0
/types/meteor-collection-hooks/ @twastvedt
/types/meteor-jboulhous-dev/ @vangorra
/types/meteor-persistent-session/ @vangorra
/types/meteor-prime8consulting-oauth2/ @vangorra
-/types/meteor-publish-composite/ @vangorra
+/types/meteor-publish-composite/ @vangorra @mrz5018
/types/meteor-roles/ @vangorra @mattmm3d
/types/meteor-universe-i18n/ @mathewmeconry
/types/method-override/ @santialbo
@@ -2841,7 +3030,8 @@
/types/mitm/ @alejo90
/types/mixpanel/ @hjellek @Manduro
/types/mixto/ @vvakame
-/types/mjml/ @aahoughton
+/types/mjml/ @aahoughton @marpstar
+/types/mjml-react/ @henrinormak
/types/mkdirp/ @Bartvds @mrmlnc
/types/mkdirp-promise/ @pluma
/types/mkpath/ @optical
@@ -2860,9 +3050,11 @@
/types/mock-require/ @gDelgado14
/types/mockdate/ @brunolm
/types/mockery/ @jt000
+/types/mockingoose/ @hirochachacha
/types/modernizr/ @borisyankov @theodorejb @leonyu @lucax88x @nhardy
/types/modesl/ @neeschit
/types/module-alias/ @KevinRamharak
+/types/module-deps/ @TeamworkGuy2
/types/moji/ @yasupeke
/types/moment-business/ @wonbyte
/types/moment-business-time/ @swist
@@ -2877,11 +3069,11 @@
/types/money-math/ @taoqf
/types/mongo-sanitize/ @CedricCazin
/types/mongodb/v2/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi
-/types/mongodb/ @CaselIT @alanmarcell @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian @denys-bushulyak @BastienAr @sindbach @geraldinelemeur @jishi @various89 @angela-1
+/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
/types/mongodb-memory-server/ @dmitryrogozhny
/types/mongodb-uri/ @mernxl
/types/mongoose/v4/ @simonxca @horiuchi @sindrenm @lukasz-zak
-/types/mongoose/ @horiuchi @sindrenm @lukasz-zak @Alorel @jendrikw @ethanresnick @vologab @jussikinnula @ondratra @alfirin @idandrd @various89
+/types/mongoose/ @horiuchi @sindrenm @lukasz-zak @Alorel @jendrikw @ethanresnick @vologab @jussikinnula @ondratra @alfirin @idandrd @various89 @Fazendaaa @NormanPerrin @danmana @stablio
/types/mongoose-auto-increment/ @AyaMorisawa
/types/mongoose-deep-populate/ @AyaMorisawa
/types/mongoose-geojson-schema/ @bondz
@@ -2893,6 +3085,7 @@
/types/mongoose-simple-random/ @rsxdalv
/types/mongoose-unique-validator/ @stevehipwell
/types/mongorito/ @pinguet62
+/types/mongration/ @soulthreads
/types/moo/ @deltaidea @MofX
/types/moonjs/ @DanielRosenwasser
/types/morgan/ @staticfunction @pscanf
@@ -2902,6 +3095,7 @@
/types/motor-hat/ @muntyan
/types/mousetrap/ @qcz
/types/move-concurrently/ @mgroenhoff
+/types/moveto/ @shermendev
/types/moviedb/ @basarat @0x6368656174
/types/moxios/ @itoasuka
/types/mozilla-readability/ @charlesvdv
@@ -2918,6 +3112,7 @@
/types/muicss/ @samuelneff
/types/multer/ @jt000 @DavidBR-SW @mxl @hyunseob
/types/multer-gridfs-storage/v1/ @devconcept
+/types/multer-gridfs-storage/v2/ @devconcept
/types/multer-gridfs-storage/ @devconcept
/types/multer-s3/ @tcaesvk @galtalmor @terski
/types/multi-typeof/ @mhegazy
@@ -2932,10 +3127,12 @@
/types/murmurhash3js/ @dlee-nvisia
/types/musicmetadata/ @Xstoudi
/types/mustache/ @markashleybell @manuth
+/types/mustache-express/ @BendingBender
+/types/mutexify/ @maistho
/types/mv/ @nenadalm
/types/mysql/ @wjohnsto @kacepe @kpping @jdmunro
/types/mz/ @ThomasHickman
-/types/n3/ @phreed @rubensworks
+/types/n3/ @phreed @rubensworks @LaurensRietveld
/types/named-regexp-groups/ @jewbre
/types/named-routes/ @qqilihq
/types/nanoajax/ @nathancahill
@@ -2969,15 +3166,19 @@
/types/nes/ @NoHomey @saboya
/types/nested-error-stacks/ @woutervh-
/types/net-keepalive/ @hertzg
+/types/netease-captcha/ @norubidium
+/types/netlify-identity-widget/ @nkprince007
/types/netmask/ @mhfrantz
/types/network-interfaces/ @anderswestberg
/types/new-relic-browser/ @renehamburger @piotrkubisa
/types/newline-remove/ @OpenByteDev
-/types/newman/ @LogvinovLeon
-/types/newrelic/ @mastermatt
+/types/newman/ @LogvinovLeon @Graham42
+/types/newrelic/ @mastermatt @brookspatton
/types/nexpect/ @vvakame
-/types/next/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira
+/types/next/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira @ajliv
+/types/next-redux-saga/ @leocavalcante
/types/next-redux-wrapper/ @stevegeek @Jungwoo-An
+/types/next-server/ @dru89 @brikou @jthegedus @resir014 @scottdj92 @joaovieira @ajliv
/types/ng-command/ @stephenlautier
/types/ng-cordova/ @ksachdeva
/types/ng-dialog/ @stephenlautier
@@ -3001,30 +3202,33 @@
/types/ngtoaster/ @btesser
/types/ngwysiwyg/ @patrick-mackay
/types/nightmare/ @horiuchi @samyang-au @Bleser92
-/types/nightwatch/ @rkavalap @schlesiger
+/types/nightwatch/ @rkavalap @schlesiger @ClaytonAstrom
+/types/nise/ @a-tarasyuk
/types/nivo-slider/ @AndersonFriaca
/types/noble/ @swook @shantanubhadoria @lukel99 @bioball @keton @thegecko
/types/nock/ @bonnici @horiuchi @afharo @mastermatt @damour @paambaati
/types/nodal/ @charrondev
-/types/node/v4/ @eps1lon @Archcry
-/types/node/v6/ @WilcoBakker @inlined @eps1lon @Alorel @KSXGitHub @Archcry
-/types/node/v7/ @parambirs @tellnes @WilcoBakker @eps1lon @KSXGitHub @Archcry
-/types/node/v8/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e @brunoscheufler @KSXGitHub @islishude @r3nya
-/types/node/v9/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya @eyqs
-/types/node/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya @ZaneHannanAU @ThomasdenH @eyqs @matthieusieben
+/types/node/v0/ @Microsoft @DefinitelyTyped
+/types/node/v4/ @Microsoft @DefinitelyTyped @eps1lon @Archcry
+/types/node/v6/ @Microsoft @DefinitelyTyped @WilcoBakker @inlined @eps1lon @Alorel @KSXGitHub @Archcry
+/types/node/v7/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @eps1lon @KSXGitHub @Archcry
+/types/node/v8/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e @brunoscheufler @KSXGitHub @islishude @r3nya
+/types/node/v9/ @Microsoft @DefinitelyTyped @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude @r3nya @eyqs
+/types/node/ @Microsoft @DefinitelyTyped @jkomyno @a-tarasyuk @alvis @r3nya @brunoscheufler @smac89 @tellnes @DeividasBakanas @eyqs @Flarna @Hannes-Magnusson-CK @KSXGitHub @hoo29 @kjin @ajafff @islishude @mwiktorczyk @matthieusieben @mohsen1 @n-e @octo-sniffle @parambirs @eps1lon @SimonSchick @ThomasdenH @WilcoBakker @wwwy3y3 @ZaneHannanAU @jeremiergz @samuela
/types/node-7z/ @erkie
/types/node-array-ext/ @Beng89
/types/node-cache/ @chrootsu @dthunell @useltmann
/types/node-calendar/ @luzianz
/types/node-cleanup/ @agadar
-/types/node-cron/ @maximelkin
+/types/node-crate/ @gjednaszewski
+/types/node-cron/ @maximelkin @burtek
/types/node-dijkstra/ @nokutu
/types/node-dir/ @panuhorsmalahti
/types/node-dogstatsd/ @chrisbobo
/types/node-emoji/ @jonestristand @styu
/types/node-fetch/ @torstenwerner @nikcorg
/types/node-fibers/ @caryhaynie
-/types/node-forge/ @westy92 @flynetworks @a-k-g @rafal2228 @beenotung
+/types/node-forge/ @westy92 @flynetworks @a-k-g @rafal2228 @beenotung @joeflateau @Apologiz @timhwang21
/types/node-gcm/ @horiuchi
/types/node-geocoder/ @rosek86
/types/node-getopt/ @kcauchy
@@ -3044,6 +3248,7 @@
/types/node-pushnotifications/ @menushka
/types/node-ral/ @ssddi456
/types/node-red/ @andersea @tbowmo
+/types/node-redis-pubsub/ @renekeijzer
/types/node-resque/ @gordey4doronin
/types/node-rsa/ @alitaheri @xm
/types/node-schedule/ @cyrilschumacher @flowpl
@@ -3078,9 +3283,10 @@
/types/nodeunit/ @jedigo
/types/noisejs/ @izmhr
/types/nomnom/ @panopticoncentral
+/types/nookies/ @andreasbergqvist
/types/nopt/ @jbondc
/types/normalize-package-data/ @jdxcode
-/types/normalize-url/ @odin3 @BendingBender
+/types/normalize-url/ @odin3 @BendingBender @mathieumg
/types/notie/ @mateusdemboski
/types/notify/ @hellochar
/types/notifyjs/ @soundTricker @NateScarlet
@@ -3091,13 +3297,13 @@
/types/nouislider/ @bleuarg @lagaffe
/types/novnc-core/ @smithkl42 @BendingBender
/types/npm/ @SomaticIT
-/types/npm-package-arg/ @mgroenhoff
+/types/npm-package-arg/ @mgroenhoff @OiYouYeahYou
/types/npm-packlist/ @ajafff
/types/npmlog/ @DanielMSchmidt @littlepiggy03
/types/ns-api/ @Archcry
/types/nslog/ @unindented
/types/nsqjs/ @cezaryrk
-/types/nuka-carousel/ @Romic
+/types/nuka-carousel/ @Romic @altaudio @matt-sungwook
/types/number-is-nan/ @mhegazy
/types/number-to-words/ @frederickfogerty
/types/numeral/ @vbortone @BehindTheMath @klujanrosas
@@ -3108,13 +3314,16 @@
/types/nvd3/ @PjMitchell
/types/nw.gui/ @xperiments
/types/nw.js/ @alirdn
+/types/nwmatcher/ @woutervh-
/types/o.js/ @IceOnFire @bradzacher @janhommes @jcchalte
-/types/oauth/ @nonAlgebraic
+/types/oauth/ @nonAlgebraic @EduardoAC
+/types/oauth-shim/ @BendingBender
/types/oauth.js/ @nobuoka
-/types/oauth2-server/ @vangorra @cirick @d-fischer
+/types/oauth2-server/ @vangorra @cirick @d-fischer @rvitorsantos
/types/oauth2orize/ @wokim @heycalmdown @stevehipwell
/types/obelisk.js/ @bdrupieski
/types/obj-file-parser/ @benc-uk
+/types/obj-str/ @saenglert
/types/object-assign/ @chbrown
/types/object-diff/ @rogierschouten
/types/object-hash/ @misak113
@@ -3131,8 +3340,10 @@
/types/observe-js/ @herrmanno
/types/oclazyload/ @rolandzwaga
/types/odata/ @janhommes @jcchalte
+/types/oembed-parser/ @BendingBender
/types/ofe/ @Morfent
/types/office-js/ @OfficeDev @LanceEA @Zlatkovsky @kbrandl @Rick-Kirkham @AlexJerabek @ElizabethSamuel-MSFT
+/types/office-runtime/ @Zlatkovsky @mscharlock
/types/offline-js/ @cgwrench
/types/oibackoff/ @geoffreak
/types/oidc-token-manager/ @rosieks
@@ -3142,31 +3353,35 @@
/types/omggif/ @ffflorian
/types/on-finished/ @czechboy0 @BendingBender
/types/on-headers/ @jjeffery @BendingBender
+/types/on-wake-up/ @ajafff
/types/once/ @denis-sokolov @BendingBender
/types/onesignal-cordova-plugin/ @broder
/types/onetime/ @BendingBender
/types/oniguruma/ @smhxx
-/types/onoff/ @marcel-ernst
+/types/onoff/ @marcel-ernst @Kallu609
/types/ontime/ @Hirse
/types/open/ @Bartvds
/types/opener/ @tikurahul
/types/openfin/v17/ @chrisbarker
/types/openfin/v29/ @chrisbarker @rdepena
-/types/openfin/ @chrisbarker @rdepena @whyn07m3
+/types/openfin/v34/ @chrisbarker @rdepena @whyn07m3
+/types/openfin/ @chrisbarker @rdepena @whyn07m3 @licui3936
/types/openjscad/ @danmarshall
/types/openlayers/v2/ @bolhovsky
/types/openlayers/v3/ @osechet @matthiasdailey-ccri
/types/openlayers/ @osechet @wb14123 @ailrun @mylen @iamthechad @danmana @yairtawil @pierremarc @hauke96 @gberaudo
-/types/openpgp/ @errietta
+/types/openpgp/ @errietta @damonpam @po5i
/types/openstack-wrapper/ @sanjaymadane
/types/opentok/ @westy92 @CatGuardian
/types/opentype.js/ @danmarshall @edzis
/types/opn/ @shinnn @SomaticIT @tlent
+/types/opossum/ @quinnlangille @merufm @lance
/types/optics-agent/ @crevil
/types/optimist/ @soywiz @chbrown
/types/optimize-css-assets-webpack-plugin/ @odnamrataizem
/types/ora/v0/ @basarat @screendriver
/types/ora/ @basarat @screendriver @BendingBender @azasypkin
+/types/oracle__oraclejet/ @nolakara @jingxwu
/types/oracledb/ @Bigous
/types/orchestrator/ @tkQubo @TeamworkGuy2
/types/orderedmap/ @bradleyayers
@@ -3189,7 +3404,7 @@
/types/p-cancelable/ @BendingBender
/types/p-catch-if/ @LinusU
/types/p-debounce/ @BendingBender
-/types/p-defer/ @SamVerschueren
+/types/p-defer/ @SamVerschueren @BendingBender
/types/p-do-whilst/ @BendingBender
/types/p-each-series/ @BendingBender
/types/p-event/ @BendingBender
@@ -3205,6 +3420,7 @@
/types/p-one/ @BendingBender
/types/p-progress/ @icopp
/types/p-props/ @BendingBender
+/types/p-queue/v2/ @BendingBender @evanshortiss
/types/p-queue/ @BendingBender @evanshortiss
/types/p-reduce/ @BendingBender
/types/p-reflect/ @BendingBender
@@ -3216,9 +3432,11 @@
/types/p-throttle/ @BendingBender
/types/p-timeout/ @BendingBender
/types/p-try/ @BendingBender @LinusU
+/types/p-wait-for/v1/ @BendingBender
/types/p-wait-for/ @BendingBender
/types/p-whilst/ @BendingBender
/types/p2/ @clark-stevenson
+/types/p5/ @p5-types
/types/package-json/ @jinwoo
/types/packery/ @piraveen @hanssens
/types/pad/ @mhegazy
@@ -3226,16 +3444,18 @@
/types/paho-mqtt/ @amikhalev
/types/pako/ @cappellin @calebegg
/types/pangu/ @plantain-00
-/types/papaparse/ @torpedro @rainshen49 @jfloff @johnnyreilly @albertorestifo @BehindTheMath @3af
+/types/papaparse/ @torpedro @rainshen49 @jfloff @johnnyreilly @albertorestifo @BehindTheMath @3af @jliuhtonen
/types/paper/ @clark-stevenson @Xakaloz @sebaswebdev @rfried
/types/parallel-transform/ @djcsdy
/types/paralleljs/ @jbaldwin
+/types/parcel-bundler/ @pinage404
/types/parcel-env/ @fathyb
/types/parent-package-json/ @sgmccli
/types/parity-pmd/ @leovujanic @jewbre
/types/parity-pmr/ @leovujanic
/types/parity-poe/ @leovujanic
-/types/parse/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas
+/types/parse/v1/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas
+/types/parse/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas @agoldis
/types/parse-git-config/ @leonard-thieu @deltaidea
/types/parse-github-url/ @ajafff
/types/parse-glob/ @glen-84
@@ -3259,7 +3479,10 @@
/types/parsimmon/ @Bartvds @mizunashi-mana @bcherny @bvanreeven @leonard-thieu @MrJohz
/types/passport/ @horiuchi @enaeseth @theigor @tlaziuk @danielpa9708
/types/passport-anonymous/ @0x6368656174
+/types/passport-auth0/ @johnbendi @iamvishnusankar @duncanhall
+/types/passport-azure-ad/ @ShekharNain
/types/passport-beam/ @AtlasDev
+/types/passport-bnet/ @ivan94
/types/passport-cognito/ @mbutsykin
/types/passport-discord/ @kzay
/types/passport-facebook/ @staticfunction @lucasmacosta
@@ -3275,14 +3498,16 @@
/types/passport-local/ @SomaticIT
/types/passport-local-mongoose/ @linusbrolin
/types/passport-naver/ @Park9eon @zerocho
-/types/passport-oauth2/ @pasieronen @WangZishi
+/types/passport-oauth2/ @pasieronen @WangZishi @EduardoAC
/types/passport-oauth2-client-password/ @akaNightmare
/types/passport-remember-me-extended/ @AylaJK
-/types/passport-saml/ @cjbarth @dassennato
+/types/passport-saml/ @cjbarth @dassennato @ksamborski
/types/passport-steam/ @kzay
/types/passport-strategy/ @liorm
/types/passport-twitter/ @staticfunction
/types/passport-unique-token/ @briman0094 @SomaticIT
+/types/passport-vkontakte/ @soulthreads
+/types/passport-windowsauth/ @forivall
/types/password-hash/ @mugeso
/types/password-hash-and-salt/ @alitaheri
/types/path-exists/v1/ @shiwano
@@ -3298,9 +3523,10 @@
/types/paypal-rest-sdk/ @trainerbill
/types/pbf/ @cschwarz
/types/pbkdf2/ @timonegk
+/types/pdf2image/ @taoqf
/types/pdfjs-dist/ @jbaldwin
/types/pdfkit/ @erichillah
-/types/pdfmake/ @m1llen1um @radziksh
+/types/pdfmake/ @m1llen1um @radziksh @evolkmann
/types/pdfobject/ @nielsboogaard
/types/pebblekitjs/ @makotokw
/types/peer-dial/ @RealTYPICAL
@@ -3308,6 +3534,7 @@
/types/pegjs/ @vvakame @SrTobi @siegebell
/types/pem/ @tony19 @DethAriel
/types/pem-jwk/ @alessiopcc
+/types/permit/ @jannikkeye
/types/persona/ @Nycto
/types/pet-finder-api/ @me
/types/pg/v6/ @pspeter3
@@ -3339,12 +3566,14 @@
/types/picturefill/ @alaz
/types/pidusage/ @cyrilschumacher @mx601595686
/types/pify/ @samverschueren @mad-mike @c7hm4r
-/types/pigpio/ @manerfan
-/types/pikaday/ @MidnightDesign @wake42
+/types/pigpio/ @manerfan @erikma
+/types/pigpio-dht/ @erikma
+/types/pikaday/ @MidnightDesign @wake42 @mezoistvan
/types/pikaday-time/ @Sayan751
/types/pinkyswear/ @chances
/types/pino/v3/ @psnider
-/types/pino/ @psnider @BendingBender @screendriver @paambaati
+/types/pino/ @psnider @BendingBender @screendriver @paambaati @alferpal @mortiy
+/types/pino-http/ @screendriver
/types/pino-multi-stream/ @JakeGinnivan
/types/pinterest-sdk/ @adamburmister
/types/pinyin/ @wanganjun
@@ -3353,12 +3582,14 @@
/types/pixi.js/ @clark-stevenson
/types/pkg-conf/ @jorgegonzalez
/types/pkg-dir/ @NK-WEB-Git
+/types/pkg-up/ @forivall
/types/pkijs/ @microshine
/types/platform/ @JakeH
/types/playcanvas/ @Neoflash1979
/types/playerframework/ @ricardosabino
/types/playmusic/ @nickp10
/types/pleasejs/ @nakakura
+/types/plist/ @higuri
/types/plotly.js/ @chrisgervang @martinduparc @frederikaalund @taoqf @Dadstart @szechyjs @MercifulCode @soorajpudiyadath @jonfreedman @meganrm
/types/plugapi/ @BNedry
/types/plugin-error/ @rogierschouten
@@ -3372,6 +3603,12 @@
/types/podcast/ @nikeee
/types/podium/ @AJamesPhillips
/types/point-in-polygon/ @dyst5422 @kogai
+/types/pollyjs__adapter/ @feinoujc
+/types/pollyjs__adapter-fetch/ @feinoujc
+/types/pollyjs__core/ @feinoujc
+/types/pollyjs__persister/ @feinoujc
+/types/pollyjs__persister-fs/ @feinoujc
+/types/pollyjs__utils/ @feinoujc
/types/polyfill-service/ @Alorel
/types/polylabel/ @DenisCarriere
/types/polyline/ @Kern0
@@ -3380,6 +3617,13 @@
/types/popcorn/ @grapswiz
/types/portscanner/ @douglasduteil
/types/postal/ @lokeshpeta @myitcv
+/types/postcss-calc/ @huan086
+/types/postcss-icss-values/ @huan086
+/types/postcss-modules-extract-imports/ @huan086
+/types/postcss-modules-local-by-default/ @huan086
+/types/postcss-modules-resolve-imports/ @huan086
+/types/postcss-modules-scope/ @huan086
+/types/postcss-url/ @lenovouser
/types/postman-collection/ @kbuzby
/types/postmark/ @benbayard @jineshshah36
/types/pouch-redux-middleware/ @charrondev
@@ -3393,7 +3637,7 @@
/types/pouchdb-adapter-node-websql/ @spaulg @geppy @fredgalvao
/types/pouchdb-adapter-websql/ @spaulg @geppy @fredgalvao
/types/pouchdb-browser/ @spaulg @geppy @fredgalvao
-/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales @tiangolo
+/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales @tiangolo @kmoe
/types/pouchdb-find/ @trubit @tiangolo
/types/pouchdb-http/ @spaulg @geppy @fredgalvao
/types/pouchdb-mapreduce/ @spaulg @geppy @fredgalvao
@@ -3429,20 +3673,23 @@
/types/promise-ftp/ @coolreader18
/types/promise-ftp-common/ @coolreader18
/types/promise-map-limit/ @kohlmannj
+/types/promise-memoize/ @forivall
/types/promise-pg/ @coldacid
-/types/promise-polyfill/ @skysteve
+/types/promise-polyfill/ @skysteve @djcsdy
/types/promise-pool/ @vilic
/types/promise-queue/ @LachlanStuart
/types/promise-retry/ @shirakaba
/types/promise-sftp/ @coolreader18
/types/promise-timeout/ @Aankhen
/types/promise.prototype.finally/ @slavik57 @BendingBender
+/types/promised-ldap/ @pluma
/types/promised-temp/ @rokadias
/types/promisify-node/ @borekb
/types/promisify-supertest/ @aleung
/types/prompt-sync/ @MugeSo
/types/prompt-sync-history/ @MugeSo
/types/promptly/ @danrspencer
+/types/prompts/ @Berkays @danielpa9708
/types/prop-types/ @DovydasNavickas @ferdaber
/types/proper-lockfile/ @qlonik
/types/properties-reader/ @Goldsmith42
@@ -3462,7 +3709,7 @@
/types/prosemirror-tables/ @superchu @eshvedai @patsimm
/types/prosemirror-transform/ @bradleyayers @davidka @timjb @patsimm
/types/prosemirror-view/ @bradleyayers @davidka @timjb @patsimm
-/types/proton-native/ @khanhas
+/types/proton-native/ @khanhas @ltetzlaff
/types/protractor-browser-logs/ @rokadias
/types/protractor-helpers/ @johncant
/types/protractor-http-mock/ @Crevil
@@ -3475,15 +3722,17 @@
/types/ptomasroos__react-native-multi-slider/ @Slessi
/types/pty.js/ @enlight
/types/public-ip/ @BendingBender
-/types/pubnub/ @bitbankinc @rollymaduk @vitosamson
+/types/pubnub/ @bitbankinc @rollymaduk @vitosamson @FlorianDr
/types/pubsub-js/ @borisyankov
/types/pug/ @TonyPythoneer @19majkel94
/types/pulltorefreshjs/ @DanielRosenwasser @humpedli
/types/pump/ @tlaziuk
/types/pumpify/ @JustinBeckwith @aoberoi
+/types/punycode/ @yavanosta
/types/pupa/ @nju33
/types/puppeteer/v0/ @marvinhagemeister @cdeutsch
-/types/puppeteer/ @marvinhagemeister @cdeutsch @ksm2
+/types/puppeteer/ @marvinhagemeister @cdeutsch @ksm2 @SimonSchick
+/types/puppeteer-core/ @mtsmfm
/types/pure-render-decorator/ @seansfkelley
/types/purl/ @danfma
/types/pusher-js/ @tkqubo @cainlevy
@@ -3496,7 +3745,7 @@
/types/qhistory/ @Kovensky
/types/qiniu-js/ @taoqf
/types/qlik/ @RubenSlabbert @AginicX
-/types/qlik-engineapi/ @konne
+/types/qlik-engineapi/ @konne @richardison
/types/qlik-visualizationextensions/ @konne
/types/qr-image/ @taoqf
/types/qrcode/ @plantain-00
@@ -3515,13 +3764,22 @@
/types/qwest/ @lindsayevans
/types/r-script/ @NaridaL
/types/rabbit.js/ @wokim
+/types/rabbitmq-schema/ @rulezzz1987
/types/radium/ @alexgorbatchev @nupplaphil @asvetliakov
/types/radius/ @codeanimal
-/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
+/types/radix64/ @huan086
+/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
+/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/randombytes/ @BendingBender
/types/randomcolor/ @feitzi @BradyLiles
/types/range-parser/ @tlaziuk
/types/rangyinputs/ @ersimont
@@ -3541,23 +3799,28 @@
/types/raty/ @terrawheat
/types/raven/ @scttcper @1999 @shreyjain1994
/types/raven-for-redux/ @chiubaka
-/types/raygun4js/ @xt0rted @BenjaminHarding
+/types/raygun/ @UberMouse
+/types/raygun4js/ @xt0rted @BenjaminHarding @UberMouse
/types/rbac-a/ @tlaziuk
/types/rc/ @DanielRosenwasser
+/types/rc-progress/ @jussikinnula
/types/rc-select/ @DenisTirilis
/types/rc-slider/ @mantasmarcinkus @mattoni @paustint @j-fro @Deanna2
+/types/rc-time-picker/ @Hoff97
+/types/rc-tooltip/ @rhysd @ahstro @vsaarinen
/types/rc-tree/ @johnnyreilly @Methuselah96
/types/rcloader/ @panuhorsmalahti
/types/rdf-data-model/ @rubensworks
-/types/rdf-js/ @rubensworks
+/types/rdf-js/ @rubensworks @LaurensRietveld
/types/rdflib/ @cenotelie
/types/re-base/ @jordandrako
/types/reach__router/ @kingdaro
-/types/react/v15/ @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz
-/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @ferdaber @jrakotoharisoa @pascaloliv @hotell @franklixuefei
+/types/react/v15/ @bbenezech @pzavolinsky @digiguru @ericanderson @tkrotoff @DovydasNavickas @onigoetz
+/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @ferdaber @jrakotoharisoa @pascaloliv @hotell @franklixuefei @Kovensky
/types/react-adal/ @dkorolev1
-/types/react-albus/ @sseppola
-/types/react-alert/ @ssyrell
+/types/react-albus/ @sseppola @conradreuter @kuirak
+/types/react-alert/v2/ @ssyrell
+/types/react-alert/ @g1eny0ung
/types/react-alice-carousel/ @endigo
/types/react-amplitude/ @rayzor65
/types/react-animate-on-scroll/ @ralbuque
@@ -3568,7 +3831,9 @@
/types/react-autosuggest/ @nicolas-schmitt @pjo256 @robessog @tbayne @cdeutsch @rosskevin
/types/react-avatar-editor/ @diogocorrea @gabsprates
/types/react-beautiful-dnd/ @varHarrie @bradleyayers @paustint @marknelissen
-/types/react-big-calendar/ @piotrwitek @paustint @pikpok @eps1lon @strongpauly
+/types/react-better-password/ @mhuynh1
+/types/react-big-calendar/ @piotrwitek @paustint @pikpok @eps1lon @strongpauly @janb87
+/types/react-blessed/ @me
/types/react-body-classname/ @mhegazy
/types/react-bootstrap/ @walkerburgin @vsiao @danilojrr @Batbold-Gansukh @octatone @chengsieuly @mretolaza @katbusch @vitosamson @LKay @aaronbeall @jrakotoharisoa @r3nya @t49tran
/types/react-bootstrap-date-picker/ @LKay @ssi-hu-antal-bodnar
@@ -3576,15 +3841,17 @@
/types/react-bootstrap-table/v2/ @flaub @alelode @UJosue10
/types/react-bootstrap-table/ @flaub @alelode @UJosue10 @dawnmist @Ogglas
/types/react-bootstrap-typeahead/ @Guymestef @radziksh @PaitoAnderson
-/types/react-breadcrumbs/ @KostyaEsmukov
+/types/react-breadcrumbs/ @guoyunhe
/types/react-breadcrumbs-dynamic/ @mitsuruog
/types/react-broadcast/ @kandros
/types/react-burger-menu/ @radziksh
+/types/react-cache/ @skovy
/types/react-calendar-heatmap/ @9renpoto
/types/react-calendar-timeline/ @radziksh @acemac
/types/react-cartographer/ @trevonmckay
/types/react-circular-progressbar/ @lstanden
/types/react-click-outside/ @screendriver
+/types/react-close-on-escape/ @JamesAlias
/types/react-codemirror/ @velveret @rudi-c
/types/react-coinhive/ @sktbcbbs
/types/react-collapse/ @Kimahriman
@@ -3594,8 +3861,10 @@
/types/react-content-loader/ @alaatm @samwalshnz
/types/react-copy-to-clipboard/ @mabels @BernabeFelix
/types/react-copy-write/ @samhh @davej
+/types/react-countup/ @danielbrodin
/types/react-credit-cards/ @vstrimaitis @olefrank
/types/react-cropper/ @stepancar
+/types/react-css-collapse/ @dford07
/types/react-css-modules/ @KostyaEsmukov @skirsdeda
/types/react-css-transition-replace/ @LKay
/types/react-currency-formatter/ @pastushenkoy @Jeka-Vasiliev
@@ -3606,16 +3875,18 @@
/types/react-data-grid/ @SupernaviX @KieranPeat @martinnov92 @baso53
/types/react-datagrid/ @stephenjelfs
/types/react-date-range/ @Junbong
-/types/react-datepicker/ @radziksh @andrewBalekha @smrq @Rogach @royxue @KoalaHuman @seansfkelley
-/types/react-daterange-picker/ @uncovertruth @MartynasZilinskas @donaldtf
+/types/react-datepicker/ @radziksh @andrewBalekha @smrq @Rogach @royxue @KoalaHuman @seansfkelley @justingrant @jakeboone02
+/types/react-daterange-picker/ @uncovertruth @MartynasZilinskas @donaldtf @vladflorescu94
/types/react-dates/ @ArturAmpilogov @NathanNZ
/types/react-daum-postcode/ @Sa-ryong
/types/react-dnd-multi-backend/ @dawnmist @beeequeue
/types/react-dnd-touch-backend/ @mleko @dawnmist @beeequeue
+/types/react-document-meta/ @ulrichb
/types/react-document-title/ @cleverguy25
/types/react-dom/v15/ @MartynasZilinskas
/types/react-dom/ @MartynasZilinskas @theruther4d
/types/react-dom-factories/ @jgoz
+/types/react-draft-wysiwyg/ @imechZhangLY
/types/react-dragtastic/ @nscarcella
/types/react-dropzone/v2/ @matdube @LynxEyes @goblindegook @benbayard
/types/react-dropzone/v3/ @matdube @LynxEyes @goblindegook @benbayard @LKay
@@ -3625,12 +3896,13 @@
/types/react-event-listener/ @asvetliakov
/types/react-fa/ @flaub @patsissons @LKay
/types/react-facebook-login/ @apare @jankarres
+/types/react-facebook-login-component/ @koss-lebedev
/types/react-faux-dom/ @alitaheri @cleverguy25 @deviousm @hanai
/types/react-file-input/ @dmitryrogozhny
/types/react-file-reader-input/ @dmitryrogozhny @alitaheri
/types/react-flag-icon-css/ @jonfreedman
/types/react-flags-select/ @senukartur
-/types/react-flatpickr/ @begincalendar
+/types/react-flatpickr/ @begincalendar @snaveevans
/types/react-flex/ @pushplay
/types/react-flexr/ @pushplay
/types/react-fontawesome/ @timurrustamov @dublicator @vincaslt @gavingregory
@@ -3640,6 +3912,7 @@
/types/react-gateway/ @jsonunger
/types/react-geosuggest/ @brmenchl
/types/react-global-configuration/ @ryokik
+/types/react-google-login-component/ @koss-lebedev
/types/react-google-maps-loader/ @vasilysn
/types/react-google-places-suggest/ @vasilysn
/types/react-google-recaptcha/ @KoalaHuman
@@ -3652,79 +3925,90 @@
/types/react-helmet/ @evanbb @isman-usoh @lith-light-g @sammkj @yuit
/types/react-helmet-async/ @forabi
/types/react-highlight/ @joshuakgoldberg
-/types/react-highlight-words/ @mhegazy @diogodca
+/types/react-highlight-words/ @mhegazy @diogodca @kellyrmilligan
/types/react-highlighter/ @oizie
/types/react-holder/ @isman-usoh
/types/react-hot-loader/ @jacekjagiello @MartynasZilinskas @DovydasNavickas
/types/react-hyperscript/ @tock203
-/types/react-i18next/v1/ @KostyaEsmukov
-/types/react-i18next/v4/ @GiedriusGrabauskas @netanelgilad
-/types/react-i18next/ @GiedriusGrabauskas @chnoch @beheh @whtsky
/types/react-icon-base/ @apare @LKay
/types/react-icons/ @apare @johnnyreilly @LKay
/types/react-image-crop/ @danielasy
+/types/react-image-fallback/ @8enSmith
/types/react-image-gallery/ @adamwpc
/types/react-imageloader/ @stephenjelfs
+/types/react-images/ @KonstantinLukaschenko
+/types/react-imgpro/ @echoulen
/types/react-infinite/ @rhysd
/types/react-infinite-calendar/ @christianchown
-/types/react-infinite-scroll-component/ @sroy3 @burtek @davidkevork
-/types/react-infinite-scroller/ @Lapanti @psrebniak
+/types/react-infinite-scroll-component/ @sroy3 @burtek @davidkevork @JoshuaScript
+/types/react-infinite-scroller/ @Lapanti @psrebniak @WrathZA @daggerjames
/types/react-input-autosize/ @jsonunger @franklixuefei
/types/react-input-calendar/ @stepancar
/types/react-input-mask/v1/ @apare
/types/react-input-mask/ @apare @dima7a14
+/types/react-instantsearch/ @gburgett @jpowell
+/types/react-instantsearch-core/ @gburgett @jpowell @davidfurlong
+/types/react-instantsearch-dom/ @gburgett @jpowell
+/types/react-instantsearch-native/ @gburgett @jpowell
/types/react-intl/v1/ @bgrieder
-/types/react-intl/ @bgrieder @cdroulers @gyzerok @tillwolff @LKay @bhouser @kristerkari @formatlos @lukyth
+/types/react-intl/ @bgrieder @cdroulers @gyzerok @tillwolff @LKay @bhouser @kristerkari @formatlos @lukyth @obedm503
/types/react-intl-redux/ @LKay
-/types/react-is/ @AviVahl
+/types/react-is/ @AviVahl @christianchown
/types/react-is-deprecated/ @seansfkelley
-/types/react-joyride/ @kdy1
+/types/react-joyride/ @kdy1 @kamranayub
/types/react-js-pagination/ @netoisc
/types/react-json/ @spielc
/types/react-json-pretty/ @LKay
/types/react-json-tree/ @gnestor
-/types/react-jsonschema-form/ @iamdanfox @iplus26 @KurtPreston @phbou72 @LucianBuzzo
+/types/react-jsonschema-form/ @iamdanfox @iplus26 @phbou72 @LucianBuzzo @sthenault @sbusch
+/types/react-jss/ @eps1lon
/types/react-lazyload/ @m0a
/types/react-lazylog/ @benjaminRomano
/types/react-leaflet/ @danzel @davschne @yuit
+/types/react-leaflet-markercluster/ @Kimahriman
/types/react-lifecycle-component/ @pixelshaded
/types/react-list/ @buptyyf @tomshen
/types/react-loadable/ @Kovensky @odensc @ianks @tlaziuk @iMobs
/types/react-loader/ @artfuldev
+/types/react-lottie/ @Kana00 @Ricki-BumbleDev
/types/react-mailchimp-subscribe/ @osdiab
/types/react-map-gl/ @rimig @fnberta
/types/react-maskedinput/ @LKay @lavoaster @CarlosBonetti
/types/react-mce/ @morphologue
/types/react-mdl/ @bradzacher
/types/react-measure/ @asvetliakov @marcfallows
+/types/react-mentions/ @activescott
/types/react-mixin/ @tkqubo
-/types/react-modal/ @radziksh @drewnoakes @homburg @ttamminen @hallowatcher @peterblazejewicz
+/types/react-modal/ @radziksh @drewnoakes @homburg @ttamminen @hallowatcher @peterblazejewicz @jpowell
/types/react-motion/ @stepancar @asvetliakov @dimitarnestorov
/types/react-motion-slider/ @asvetliakov
/types/react-motion-ui-pack/ @jsonunger
-/types/react-native/ @alloy @huhuanming @iRoachie @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk @mvdam
+/types/react-native/ @alloy @huhuanming @iRoachie @skn0tt @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff @a-tarasyuk @mvdam @esemesek @mrnickel
/types/react-native-android-taskdescription/ @christianchown
/types/react-native-auth0/ @ascariandrea
/types/react-native-autocomplete-input/ @ifiokjr
/types/react-native-background-timer/ @chillkroeteTTS
/types/react-native-bluetooth-serial/ @RodrigoAWeber
-/types/react-native-calendars/ @Tyler-Zhang @DavidNorena
+/types/react-native-calendars/ @Tyler-Zhang @DavidNorena @FabianMeul
/types/react-native-communications/ @huhuanming @PaitoAnderson
/types/react-native-custom-tabs/ @philnova
/types/react-native-datepicker/ @jacobbaskin
-/types/react-native-dialog/ @MrLuje
+/types/react-native-dialog/ @MrLuje @stackbuilders @ibarrae
/types/react-native-dialogflow/ @jasonmerino
/types/react-native-doc-viewer/ @iRoachie
/types/react-native-document-picker/ @plantain-00
+/types/react-native-draggable-flatlist/ @stackbuilders @ibarrae
/types/react-native-drawer/ @jnbt @suniahk
/types/react-native-drawer-layout/ @jmfirth
/types/react-native-elevated-view/ @fhelwanger
/types/react-native-fabric/ @josephroque
/types/react-native-fbsdk/ @ifiokjr
/types/react-native-fetch-blob/ @MNBuyskih
+/types/react-native-flip-card/ @imjakechapman
/types/react-native-fs/ @pocesar @josephroque
-/types/react-native-google-signin/ @j-fro
+/types/react-native-google-signin/ @j-fro @bm-software @christianchown @echentw
/types/react-native-htmlview/ @ifiokjr
+/types/react-native-huawei-protected-apps/ @christianchown
/types/react-native-i18n/ @VincentLanglet
/types/react-native-indicators/ @ifiokjr
/types/react-native-keep-awake/ @huhuanming
@@ -3746,7 +4030,11 @@
/types/react-native-popup-dialog/ @PaitoAnderson @connectdotz @bm-software
/types/react-native-push-notification/ @PaitoAnderson @tomSawkins
/types/react-native-qrcode/ @plantain-00
+/types/react-native-referrer/ @christianchown
+/types/react-native-restart/ @christianchown
/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-sensor-manager/ @SahinVardar
/types/react-native-settings-list/ @MrLuje
@@ -3756,6 +4044,7 @@
/types/react-native-sortable-list/ @sivolobov @RookY2K
/types/react-native-sqlite-storage/ @dryganets @cavarzan
/types/react-native-star-rating/ @iRoachie
+/types/react-native-status-bar-height/ @fiznool
/types/react-native-svg-charts/ @krzysztof-miemiec
/types/react-native-svg-uri/ @iRoachie
/types/react-native-swiper/ @CaiHuan @huhuanming @mhcgrq
@@ -3764,11 +4053,12 @@
/types/react-native-text-input-mask/ @RodrigoAWeber
/types/react-native-toast-native/ @bm-software
/types/react-native-touch-id/ @huhuanming @gazaret @jinshin1013
+/types/react-native-uuid-generator/ @burtek
/types/react-native-vector-icons/ @iRoachie @timwangdev
/types/react-native-version-number/ @VincentLanglet
/types/react-native-video/ @huhuanming
/types/react-navigation/v1/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi
-/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi @magrinj @TizioFittizio @stigi @LinusU @jshosomichi @jakebooyah @brunoro @DenisFrezzato @mickaelw
+/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
/types/react-navigation-material-bottom-tabs/ @iRoachie
/types/react-no-ssr/ @rafalfilipek
/types/react-notification-system/ @GiedriusGrabauskas @DeividasBakanas @LKay @sztobar
@@ -3776,12 +4066,14 @@
/types/react-notify-toast/ @klaascuvelier
/types/react-numeric-input/ @heatherbooker @akx
/types/react-onclickoutside/v5/ @LKay
-/types/react-onclickoutside/ @LKay
-/types/react-onsenui/ @salim7 @jemmyw
+/types/react-onclickoutside/ @LKay @surgeboris
+/types/react-onsenui/ @salim7 @jemmyw @lirbank
+/types/react-outside-click-handler/ @zubivan
/types/react-overlays/ @aaronbeall @vitosamson
/types/react-owl-carousel/ @tbounsiar @igorissen @KennethanCeyer
/types/react-paginate/v4/ @deevus @wouterhardeman @pegel03 @archy-bold
-/types/react-paginate/ @deevus @wouterhardeman @pegel03 @archy-bold @yasupeke
+/types/react-paginate/v5/ @deevus @wouterhardeman @pegel03 @archy-bold @yasupeke
+/types/react-paginate/ @deevus @wouterhardeman @pegel03 @archy-bold @yasupeke @sugarshin
/types/react-places-autocomplete/ @guilhermehubner @r3nya
/types/react-plotly.js/ @jonfreedman
/types/react-pointable/ @istefo @mdibyo
@@ -3793,8 +4085,9 @@
/types/react-qr-reader/ @davidkevork
/types/react-radio-group/ @jsonunger
/types/react-recaptcha/ @mhegazy @zzanol
+/types/react-reconciler/ @Methuselah96
/types/react-redux/v5/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva
-/types/react-redux/ @tkqubo @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva @kallikrein @val1984 @jrakotoharisoa @apapirovski
+/types/react-redux/ @tkqubo @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva @kallikrein @val1984 @jrakotoharisoa @apapirovski @surgeboris
/types/react-redux-epic/ @forabi
/types/react-redux-i18n/ @clementdevos
/types/react-redux-toastr/ @Smiche @artyomsv @kulmajaba
@@ -3806,10 +4099,10 @@
/types/react-responsive/ @asvetliakov @alechill @xaviergonz
/types/react-rnd/ @Ragg- @fsubal @zyh825
/types/react-router/v2/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov
-/types/react-router/v3/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @ssorallen @gillchristian
-/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina @pret-a-porter @t49tran
+/types/react-router/v3/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @ssorallen @gillchristian @nulladdict
+/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina @pret-a-porter @t49tran @8enSmith
/types/react-router-bootstrap/ @vlesierse @LKay @olmobrutall
-/types/react-router-config/ @lith-light-g @johnnyreilly
+/types/react-router-config/ @lith-light-g @johnnyreilly @NullMDR
/types/react-router-dom/ @tkrotoff @huy-nguyen @p-jackson @johnnyreilly
/types/react-router-hash-link/ @zoompie
/types/react-router-native/ @ezintz @fhelwanger
@@ -3828,7 +4121,7 @@
/types/react-show-more/ @naortor
/types/react-side-effect/ @remojansen @0xcaff
/types/react-sidebar/ @jeroenvervaeke
-/types/react-sketchapp/ @ricokahler @DomiR
+/types/react-sketchapp/ @ricokahler @DomiR @saschazar21
/types/react-slick/ @andrewBalekha @GiedriusGrabauskas @r3nya
/types/react-slider/ @jsonunger
/types/react-smooth-scrollbar/ @asvetliakov
@@ -3839,20 +4132,24 @@
/types/react-sparklines/ @henrinormak
/types/react-spinkit/v1/ @tkqubo @mleko @pelotom
/types/react-spinkit/ @tkqubo @mleko @pelotom @zzanol
+/types/react-splitter-layout/ @snaptags
+/types/react-star-rating-component/ @marpstar
/types/react-sticky/ @curtisw0 @ajhyndman
+/types/react-sticky-box/ @koss-lebedev
/types/react-sticky-el/ @jbraithwaite
/types/react-stickynode/ @tstirrat
-/types/react-stripe-elements/ @dan-j @santiagodoldan @sonnysangha @9y5 @thchia
+/types/react-stripe-elements/ @dan-j @santiagodoldan @sonnysangha @9y5 @thchia @yhnavein
/types/react-svg-inline/ @kiyopikko
/types/react-svg-pan-zoom/ @huy-nguyen
/types/react-swf/ @stepancar
/types/react-swipe/ @DeividasBakanas
/types/react-swipeable/ @GiedriusGrabauskas @mctep @horiuchi
/types/react-swipeable-views/ @mxl @DeividasBakanas
-/types/react-syntax-highlighter/ @NoHomey
-/types/react-table/ @royxue @psakalo @Havret
+/types/react-syntax-highlighter/ @NoHomey @ajgamble-milner
+/types/react-table/ @royxue @psakalo @Havret @andys8 @Gelio
/types/react-table-filter/ @gjsln
-/types/react-tabs/ @danez
+/types/react-tabs/ @danez @Equationist
+/types/react-tag-autocomplete/ @jlismore
/types/react-tag-input/ @Ogglas @jankarres @matthewberryman
/types/react-tagcloud/ @wassname
/types/react-tagsinput/ @mykter
@@ -3862,6 +4159,7 @@
/types/react-tether/ @ryprice
/types/react-text-mask/ @guilhermehubner @cavarzan @needpower
/types/react-textarea-autosize/ @asvetliakov @zry656565
+/types/react-timeago/ @koss-lebedev
/types/react-timeout/ @kerwynrg
/types/react-toastify/ @icopp
/types/react-toastr/ @shssoichiro @DanRegazzi
@@ -3878,19 +4176,21 @@
/types/react-user-tour/ @ccancellieri
/types/react-vertical-timeline-component/ @stephane-monnot
/types/react-virtual-keyboard/ @bsurai
-/types/react-virtualized/ @kaoDev @guntherjh @wasd171 @szabolcsx @kraenhansen @Stevearzh @mgoszcz2 @brandonhall
+/types/react-virtualized/ @kaoDev @guntherjh @wasd171 @szabolcsx @kraenhansen @Stevearzh @mgoszcz2 @brandonhall @sbusch
/types/react-virtualized-select/ @seansfkelley
+/types/react-visibility-sensor/ @JRasmusBm @gcangussu
/types/react-webcam/ @squat
/types/react-weui/ @tairan
-/types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya @MBillemaz
+/types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya @MBillemaz @georg94
/types/react-widgets-moment/ @dawnmist
/types/react-window/ @martynaskadisa
+/types/react-window-size/ @jakejrichards
/types/react-youtube/ @kgtkr
/types/react-youtube-embed/ @charles-salmon
/types/reactable/ @spielc
/types/reactcss/ @chrisgervang @LKay
/types/reactstrap/v4/ @alihammad @mfal @danilobjr @fabiopaiva
-/types/reactstrap/ @alihammad @mfal @danilobjr @FaithForHumans @KurtPreston @timc13 @patrickrgaffney @prabodht
+/types/reactstrap/ @alihammad @mfal @danilobjr @FaithForHumans @timc13 @patrickrgaffney @prabodht
/types/read/ @timjk
/types/read-chunk/ @crispybee
/types/read-package-tree/ @mgroenhoff
@@ -3901,19 +4201,24 @@
/types/readline-sync/ @jonestristand
/types/readline-transform/ @dex4er
/types/reapop/ @Barrokgl
+/types/rebass/ @ryee-dev @jamesmckenzie
+/types/rebass__grid/ @antonvasin @vittorio @lhache @lavoaster
/types/recaptcha2/ @l-jonas
/types/recase/ @18steps
-/types/recharts/ @mthmulders @rapmue @royxue @ZheyangSong @richbai90 @caspeco-dan @pkeuter @jrsaunde @paulmelnikow @crusectrl @apalugniok
+/types/recharts/ @mthmulders @rapmue @royxue @ZheyangSong @richbai90 @caspeco-dan @pkeuter @jrsaunde @paulmelnikow @crusectrl @apalugniok @RobertStigsson
+/types/recharts-scale/ @johnnyreilly
+/types/rechoir/ @BendingBender
/types/recluster/ @dex4er
-/types/recompose/ @iskandersierra @mrapogee @clayne11 @Pajn @lucasterra
+/types/recompose/ @iskandersierra @clayne11 @Pajn @lucasterra @brian-lives-outdoors @TiuSh
/types/reconnect-core/ @thw0rted
/types/reconnectingwebsocket/ @nguarracino
+/types/recorder-js/ @higuri
/types/recursive-readdir/v1/ @elisee
/types/recursive-readdir/ @elisee @MicahZoltu
-/types/redis/ @soywiz @CodeAnimal @MugeSo @UppaJung @Rokt33r @43081j @barnski
+/types/redis/ @soywiz @CodeAnimal @MugeSo @UppaJung @Rokt33r @43081j @barnski @1pete
/types/redis-errors/ @43081j
/types/redis-mock/ @BendingBender
-/types/redis-rate-limiter/ @westy92
+/types/redis-rate-limiter/ @westy92 @nodify-at
/types/redis-scripto/ @westy92
/types/redlock/v2/ @chrootsu
/types/redlock/ @chrootsu @BendingBender
@@ -3921,7 +4226,7 @@
/types/reduce-reducers/ @huy-nguyen
/types/redux-action/ @newraina
/types/redux-action-utils/ @tkqubo
-/types/redux-actions/ @jaysoo @alexgorbatchev @alechill @alexey-pelykh
+/types/redux-actions/ @jaysoo @alexgorbatchev @alechill @alexey-pelykh @7hi4g0
/types/redux-async-queue/ @andreiho
/types/redux-auth-wrapper/v1/ @LKay
/types/redux-auth-wrapper/ @LKay
@@ -3931,15 +4236,16 @@
/types/redux-devtools-dock-monitor/ @mc-petry
/types/redux-devtools-log-monitor/ @mc-petry
/types/redux-doghouse/ @BendingBender
-/types/redux-first-router/ @Valbrand @viggyfresh @janb87 @corydeppen @jscinoz
+/types/redux-first-router/ @Valbrand @viggyfresh @janb87 @corydeppen @jscinoz @surgeboris @geirsagberg
/types/redux-first-router-link/ @janb87
/types/redux-first-router-restore-scroll/ @icopp
/types/redux-first-routing/ @tlaziuk
/types/redux-form/v4/ @aikoven
/types/redux-form/v6/ @carsonf @aikoven @LKay @bancek
-/types/redux-form/ @carsonf @aikoven @LKay @bancek @alsiola @tehbi4 @huwmartin @ethanresnick @reggino @maddijoyce
-/types/redux-immutable/ @oizie @sebald @gavingregory
-/types/redux-immutable-state-invariant/ @remojansen @highflying
+/types/redux-form/ @carsonf @aikoven @LKay @bancek @alsiola @tehbi4 @huwmartin @ethanresnick @reggino @maddijoyce @smifun
+/types/redux-immutable/v3/ @oizie @sebald @gavingregory
+/types/redux-immutable/ @oizie @sebald @gavingregory @lukyth
+/types/redux-immutable-state-invariant/ @remojansen @highflying @mihai-dinculescu
/types/redux-infinite-scroll/ @silkyfray
/types/redux-injectable-store/ @unindented
/types/redux-localstorage/ @LKay
@@ -3957,7 +4263,8 @@
/types/redux-promise-middleware/ @ianks
/types/redux-recycle/ @LKay
/types/redux-router/ @stepancar
-/types/redux-saga-tester/ @BenLorantfy
+/types/redux-saga-tester/ @BenLorantfy @lawsumisu
+/types/redux-sentry-middleware/ @dolezel
/types/redux-shortcuts/ @tstirrat
/types/redux-socket.io/ @snakeego
/types/redux-storage/ @asvetliakov
@@ -3980,13 +4287,15 @@
/types/relateurl/ @tkrotoff
/types/relaxed-json/ @18steps
/types/relay-runtime/ @voxmatt @alloy
+/types/rellax/ @shermendev
/types/remarkable/ @makepost
/types/remote-redux-devtools/ @ColinEberhardt @unindented @mamodom @colindekker
/types/remove-markdown/ @RagibHasin
/types/rename/ @Aankhen
/types/replace-ext/ @DeividasBakanas
+/types/replacestream/ @dex4er
/types/req-cwd/ @Alorel
-/types/request/ @soywiz @bonnici @Bartvds @joeskeen @ccurrens @lookfirst @mastermatt @josecolella
+/types/request/ @soywiz @bonnici @Bartvds @joeskeen @ccurrens @lookfirst @mastermatt @josecolella @murbanowicz
/types/request-as-curl/ @atd-schubert
/types/request-ip/ @mrhen
/types/request-promise/ @cglantschnig @joeskeen @AyaMorisawa @mastermatt
@@ -4005,7 +4314,7 @@
/types/resolve/ @marionebl @ajafff
/types/resolve-from/ @unional
/types/resourcejs/ @shaunluttin
-/types/response-time/ @urossmolnik @TonyPythoneer
+/types/response-time/ @urossmolnik @TonyPythoneer @danmana
/types/rest/ @Nemo157
/types/restangular/ @borisyankov
/types/restful.js/ @tkqubo
@@ -4038,22 +4347,26 @@
/types/riot-route/ @karak
/types/riotcontrol/ @chrootsu
/types/riotjs/ @vvakame
+/types/ripemd160/ @BendingBender
/types/rison/ @impworks
/types/rivets/ @TrevorDev @matjanos
+/types/rmc-drawer/ @Hoff97
/types/rmfr/ @pluma
/types/roads/ @dancespiele
/types/roads-server/ @dancespiele
+/types/rocksdb/ @MeirionHughes @danwbyrne
/types/roll/ @icopp
/types/rolling-rate-limiter/ @l-jonas
/types/rollup-plugin-json/ @asmockler @hotell
+/types/roman-numerals/ @pluma
/types/ronomon__crypto-async/ @BendingBender
-/types/rosie/ @abner @subvertallchris @abukurov
+/types/rosie/ @abner @subvertallchris @abukurov @adam187
/types/roslib/ @Pro @skycoop @dgorobopec
/types/rot-js/ @atiaxi
/types/round-to/ @seangenabe
/types/route-parser/ @ianks @bobbuehler
/types/routie/ @Adilson
-/types/royalslider/ @csrakowski
+/types/royalslider/ @csrakowski @sKopheK
/types/rpio/ @DominikPalo @Pencl
/types/rrc/ @DeividasBakanas
/types/rsmq/ @MugeSo
@@ -4103,17 +4416,26 @@
/types/sanitize-filename/ @Nemo157
/types/sanitize-html/ @rogierschouten @afshin @BehindTheMath @biermeester @WillGibson @sirMerr
/types/sap__xsenv/ @mad-mike
+/types/sasl-anonymous/ @BendingBender
+/types/saslmechanisms/ @BendingBender
+/types/sass/ @lenovouser
/types/sass-graph/ @marvinhagemeister
/types/sass-webpack-plugin/ @AepKill
/types/sat/ @omni360
/types/satnav/ @DotNetNerd
/types/saywhen/ @SeanSobey
+/types/sc-auth/ @DanielRose
+/types/sc-broker/ @DanielRose
+/types/sc-broker-cluster/ @DanielRose
+/types/sc-channel/ @DanielRose
/types/scalike/ @ryoppy
+/types/schedule/ @Methuselah96
+/types/scheduler/ @Methuselah96
/types/schema-registry/ @bonzzy
/types/schwifty/ @ozum
/types/scoped-http-client/ @mattvperry @rianadon
/types/screenfull/ @icholy @lionelb @joelshepherd
-/types/screeps/ @MarkoSulamagi @NhanHo @bryanbecker @resir014 @Arcath @apemanzilla
+/types/screeps/ @MarkoSulamagi @NhanHo @bryanbecker @resir014 @Arcath @dmarcuse
/types/screeps-profiler/ @ramblurr
/types/scriptjs/ @ssttevee
/types/scroll-into-view/ @zivni
@@ -4126,7 +4448,8 @@
/types/scryptsy/ @micksatana
/types/sdp-transform/ @loc
/types/seamless/ @danmana
-/types/seamless-immutable/ @alex3165 @xsburg @geirsagberg
+/types/seamless-immutable/ @alex3165 @xsburg @geirsagberg @RMHonor
+/types/season/ @dex4er
/types/secp256k1/ @anler
/types/seed-random/ @l-jonas
/types/seededshuffle/ @urish
@@ -4169,33 +4492,38 @@
/types/send/ @MikeJerred
/types/seneca/ @psnider @kevynb
/types/sequelize/v3/ @samuelneff @codeanimal @drinchev @morpheusxaut @torhal
-/types/sequelize/ @samuelneff @codeanimal @drinchev @babolivier @kukoo1 @oktapodia @morpheusxaut @TitaneBoy @zjy01 @nidzov @Raigen @todd @nrschultz @thomas-b
+/types/sequelize/ @samuelneff @codeanimal @drinchev @babolivier @kukoo1 @oktapodia @morpheusxaut @TitaneBoy @zjy01 @nidzov @Raigen @todd @nrschultz @thomas-b @Antoine38660
/types/sequelize-cursor-pagination/ @pilagod
/types/sequelize-fixtures/ @cschwarz
/types/sequencify/ @npenin
/types/sequester/ @Strate
/types/serialize-error/ @thomasthiebaud
-/types/serialize-javascript/ @lith-light-g
+/types/serialize-javascript/ @lith-light-g @Pochodaydayup
/types/serialport/v4/ @codefoster
+/types/serialport/v6/ @codefoster @apearson
/types/serialport/ @codefoster @apearson
/types/serve-favicon/ @urossmolnik
/types/serve-index/ @tkrotoff
/types/serve-static/ @urossmolnik @LinusU
/types/server/ @sant123 @iddan
/types/server-destroy/ @gyszalai
+/types/serverless/ @hassankhan
/types/servicenow/ @bryceg
/types/session-file-store/ @blendsdk @rokt33r
/types/set-cookie-parser/ @nickp10
/types/set-value/ @DanielRosenwasser
+/types/setasap/ @djcsdy
/types/settings/ @shreyjain1994
+/types/sha.js/ @BendingBender
/types/sha1/ @arcdev1
+/types/sha256/ @nhardy
/types/shallow-equals/ @rsolomon
/types/shallowequal/ @seansfkelley
/types/shapefile/ @DenisCarriere @Thw0rted
/types/sharedb/ @soney
/types/sharedworker/ @nakakura
/types/sharepoint/ @gandjustas @andrei-markeev @baywet @teroarvola @dennispg
-/types/sharp/ @lith-light-g @wooseopkim
+/types/sharp/ @lith-light-g @wooseopkim @BTOdell
/types/sheetify/ @toddself
/types/shell-escape/ @nenadalm
/types/shell-quote/ @jason0x43
@@ -4206,10 +4534,13 @@
/types/shipit-utils/ @cyrilschumacher
/types/shopify-buy/ @openminder @straiforos @totemika
/types/shortid/ @stpettersens @despairblue
-/types/shot/ @AJamesPhillips
+/types/shot/v3/ @AJamesPhillips @SimonSchick
+/types/shot/ @AJamesPhillips @SimonSchick
/types/should-sinon/ @Arylo
/types/showdown/ @cbowdon @tan9 @arielsaldana
+/types/shpjs/ @littlebtc
/types/shrink-ray/ @forabi
+/types/shuffle-seed/ @LeartS
/types/siema/ @Irmiz @0x6368656174 @samnau
/types/siesta/ @bquarmby
/types/sigmajs/ @qinfchen
@@ -4224,7 +4555,7 @@
/types/simple-lru/ @NN---
/types/simple-mock/ @leonyu
/types/simple-oauth2/v1/ @mad-mike @troy-lamerton @netux
-/types/simple-oauth2/ @mad-mike @troy-lamerton @netux
+/types/simple-oauth2/ @mad-mike @troy-lamerton @netux @LinusU
/types/simple-peer/ @tlaziuk
/types/simple-url-cache/ @a-lucas
/types/simple-websocket/ @dex4er
@@ -4234,9 +4565,10 @@
/types/simplemde/ @Scalesoft
/types/simplesmtp/ @rogierschouten
/types/simplestorage.js/ @axelcostaspena @mxl
+/types/sindresorhus__df/ @whatknight
/types/single-line-log/ @ffflorian
/types/single-spa-react/ @Garrett-Smith-iq
-/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j @joshuakgoldberg
+/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j @joshuakgoldberg @gjednaszewski @johnjesse
/types/sinon-as-promised/ @igrayson
/types/sinon-chai/v2/ @kazimanzurrashid @jedmao
/types/sinon-chai/ @kazimanzurrashid @jedmao @elpdpt
@@ -4253,41 +4585,49 @@
/types/sjcl/ @Evgenus
/types/skatejs/ @Hotell
/types/ski/ @AyaMorisawa
-/types/skyway/ @nakakura
+/types/skyway/ @nakakura @izmhr
/types/slack-mock/ @kkalavantavanich
/types/slack-node/ @geoffreak
/types/slack-winston/ @BlueHatbRit
/types/slackdown/ @nju33
/types/slackify-html/ @hypexr
-/types/slate/ @andykent @majelbstoat @JanLoebel @YangusKhan @kalley @Kornil @isubasti
+/types/slate/ @andykent @majelbstoat @JanLoebel @YangusKhan @kalley @Kornil @isubasti @sgreav
/types/slate-base64-serializer/ @YangusKhan
/types/slate-html-serializer/ @YangusKhan
/types/slate-irc/ @elisee
-/types/slate-plain-serializer/ @YangusKhan
-/types/slate-react/ @andykent @majelbstoat @JanLoebel @PatrickSachs @YangusKhan @isubasti
+/types/slate-plain-serializer/ @YangusKhan @mkiefel
+/types/slate-react/ @andykent @majelbstoat @JanLoebel @PatrickSachs @YangusKhan @isubasti @sgreav @Kornil
/types/sleep/ @rajarz
+/types/slice-ansi/ @dwieeb
/types/slickgrid/ @jbaldwin
/types/slideout/ @ToastHawaii
/types/slimerjs/ @alexwall
/types/slocket/ @BendingBender
/types/slug/ @mhegazy
/types/smart-fox-server/ @ChanceM
+/types/smooth-scroll/ @andreiho
/types/smoothscroll-polyfill/ @kryops
/types/smtp-server/v1/ @markisme @Taisiias
/types/smtp-server/ @markisme @Taisiias @dex4er
/types/smtpapi/ @a-morales
+/types/snakecase-keys/ @BendingBender
/types/snappy/ @reconbot
/types/snapsvg/ @lhk @mattanja @kant2002
/types/snazzy-info-window/ @milosd92
/types/snekfetch/ @ANekoIsFineToo @ShayBox @Dev-Yukine
/types/snoowrap/ @vitosamson @TheAppleFreak
+/types/snowball-stemmers/ @ryanvolum
/types/snowboy/ @dolanmiu
+/types/socket.io/v1/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi @BrainMaestro
/types/socket.io/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi @BrainMaestro
/types/socket.io-client/ @progre @divillysausages @florentpoujol
/types/socket.io-p2p/ @saenglert
/types/socket.io-parser/ @plantain-00
/types/socket.io-redis/ @nupplaphil @seeLuck
/types/socket.io.users/ @kataras
+/types/socketcluster/ @DanielRose
+/types/socketcluster-client/ @DanielRose
+/types/socketcluster-server/ @DanielRose
/types/socketio-jwt/ @ehallander9591
/types/socketio-jwt-auth/ @codeanimal
/types/socketio-wildcard/ @BendingBender
@@ -4297,8 +4637,10 @@
/types/solidity-parser-antlr/ @LogvinovLeon @albrow
/types/solr-client/ @liul85
/types/solution-center-communicator/ @dami-gg
+/types/sonic-boom/ @alferpal
/types/sort-array/ @mrmlnc
-/types/sortablejs/ @Maw-Fox
+/types/sort-object-keys/ @forivall
+/types/sortablejs/ @Maw-Fox @maartenstaa
/types/soundmanager2/ @elton2048
/types/soupbintcp/ @jewbre
/types/source-list-map/ @e-cloud
@@ -4315,7 +4657,7 @@
/types/spdy/ @tony19
/types/speakeasy/ @legendecas @mrOlorin @xeoneux
/types/speakingurl/ @Goldsmith42
-/types/spectacle/ @zmaybury
+/types/spectacle/ @zmaybury @kale-stew
/types/spectrum/ @M-Zuber @Ailrun
/types/split/ @marcinporebski
/types/split.js/ @icholy
@@ -4325,8 +4667,9 @@
/types/spotify-api/ @skovmand
/types/spotify-web-playback-sdk/ @Festify @mraerino @NeoLegends
/types/sprintf/ @soywiz @BendingBender
-/types/sprintf-js/ @jasonswearingen @BendingBender
+/types/sprintf-js/ @jasonswearingen @BendingBender @cdagli
/types/sql-bricks/ @adn05 @paleo
+/types/sql-template/ @q42jaap
/types/sql.js/ @Hozuki
/types/sqlanywhere/ @pkeuter
/types/sqlite3/ @nmalaguti @dpyro @BehindTheMath
@@ -4334,8 +4677,8 @@
/types/squirejs/ @bradleyayers
/types/srp/ @Patman64
/types/ssh-key-decrypt/ @BendingBender
-/types/ssh2/ @tkQubo @rbuckton
-/types/ssh2-sftp-client/ @igrayson @ascariandrea @kartik2406
+/types/ssh2/ @tkQubo @rbuckton @wrboyce @lucasmotta
+/types/ssh2-sftp-client/ @igrayson @ascariandrea @kartik2406 @viamuli
/types/ssh2-streams/ @rbuckton
/types/sshpk/ @mabels
/types/stack-mapper/ @rogierschouten
@@ -4346,6 +4689,8 @@
/types/stampit/v2/ @koresar
/types/stampit/ @koresar @lummish
/types/stamplay-js-sdk/ @ridermansb
+/types/standard-error/ @roblabat
+/types/standard-http-error/ @roblabat
/types/starwars-names/ @claasahl
/types/stat-mode/ @BendingBender
/types/stats.js/ @gregolai @hberntsen @danvk
@@ -4358,13 +4703,16 @@
/types/steam-totp/ @phenomax
/types/steamid/ @Slessi
/types/steed/ @Paul-Isache
-/types/stellar-sdk/ @carl-foster @tristonj @pselden @maxbause
+/types/stellar-sdk/ @carl-foster @tristonj @pselden @maxbause @charlie-wasp
/types/stemmer/ @will-ockmore
/types/sticky-cluster/ @paustint
+/types/stompit/ @DanielRose
/types/stompjs/ @jimic @Dr4k4n
-/types/stoppable/ @EricByers
-/types/store/ @vbortone @harry0000 @Ky6uk
+/types/stoppable/ @EricByers @jplusje
+/types/storage-helper/ @ajafff
+/types/store/ @vbortone @harry0000 @Ky6uk @igl00
/types/storybook-addon-jsx/ @jameslnewell
+/types/storybook-readme/ @lonyele
/types/storybook__addon-a11y/ @hyunseob
/types/storybook__addon-actions/ @joscha @jicjjang
/types/storybook__addon-backgrounds/ @hyunseob
@@ -4374,11 +4722,12 @@
/types/storybook__addon-knobs/ @joscha @martynaskadisa @amacleay
/types/storybook__addon-links/ @joscha @jessepinho
/types/storybook__addon-notes/ @joscha @amacleay
-/types/storybook__addon-options/ @joscha @simonhn @amacleay
+/types/storybook__addon-options/ @joscha @simonhn @amacleay @gaetanmaisse @adam187
/types/storybook__addon-storyshots/ @bradleyayers
-/types/storybook__react/ @joscha @wapgear
-/types/storybook__react-native/ @joscha @wapgear @alechill @iRoachie
+/types/storybook__react/ @joscha @wapgear @dandean
+/types/storybook__react-native/ @joscha @wapgear @alechill @iRoachie @ceyhuno
/types/storybook__vue/ @pntgupta
+/types/stream-array/ @Tyler-Murphy
/types/stream-buffers/ @Jason3S
/types/stream-chain/ @uhop
/types/stream-csv-as-json/ @uhop
@@ -4391,14 +4740,17 @@
/types/stream-to-array/v0/ @Bartvds
/types/stream-to-array/ @Bartvds @BendingBender
/types/stream-to-promise/ @Alorel
+/types/stream-to-string/ @BendingBender
/types/streaming-json-stringify/ @BendingBender
/types/streamjs/ @erosb
/types/streamtest/ @lummish
/types/strftime/ @cyrilschumacher
/types/strict-uri-encode/ @hoishin
/types/string/ @basp
+/types/string-argv/ @vladimir-tikhonov
/types/string-format/ @lal12
/types/string-hash/ @ethanrubio
+/types/string-replace-webpack-plugin/ @pd4d10
/types/string-similarity/ @ragtime
/types/string-template/ @TonyPythoneer
/types/string-width/ @jacobbubu
@@ -4407,25 +4759,31 @@
/types/strip-ansi/ @mhegazy
/types/strip-bom/ @mhegazy
/types/strip-json-comments/ @dmoonfire
-/types/stripe/ @wjohnsto @codeanimal @sampsonjoliver @LinusU @brannon @kkamperschroer @starhoshi @bruun @galtalmor @htunnicliff @squirly @tzarger
+/types/stripe/ @wjohnsto @codeanimal @sampsonjoliver @LinusU @brannon @kkamperschroer @starhoshi @bruun @galtalmor @htunnicliff @squirly @tzarger @ifiokjr
/types/stripe-checkout/ @cgwrench
/types/stripe-v2/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
/types/stripe-v3/ @ejsmith @amritk @adamcmiel @jleider @galuszkak
-/types/stripejs/ @RobinvanTienhoven
+/types/stripejs/ @RobinvanTienhoven @mattferderer
/types/strong-cluster-control/ @shuntksh
/types/strong-error-handler/ @blankstar85
/types/strong-log-transformer/ @azasypkin
/types/strophe/ @DavidKDeutsch
+/types/strophe.js/ @DavidKDeutsch
/types/structured-source/ @azu
-/types/styled-components/ @Igorbek @Igmat
+/types/styled-components/v3/ @Igorbek @Igmat
+/types/styled-components/ @Igorbek @Igmat @lavoaster @Kovensky
/types/styled-jsx/ @R1ZZU
-/types/styled-system/ @maxdeviant @phobon @zephraph @damassi @alloy @maoueh @lavoaster
+/types/styled-react-modal/ @Lavoaster
+/types/styled-system/ @maxdeviant @phobon @zephraph @damassi @alloy @maoueh @lavoaster @jschuler
+/types/styled-theming/ @ArjanJ
/types/stylelint/v7/ @alan-agius4
-/types/stylelint/ @alan-agius4
+/types/stylelint/ @alan-agius4 @filipsalpe
/types/stylelint-webpack-plugin/ @bahlo
+/types/stylenames/ @bengry
/types/stylus/ @SomaticIT
/types/subscribe-ui-event/ @wangcheng678
/types/subsume/ @BendingBender
+/types/subtitle/ @jenglamlow
/types/succinct/ @EnableSoftware
/types/sudo-block/ @BendingBender
/types/suitescript/ @darrenhillconsulting
@@ -4433,7 +4791,7 @@
/types/sumo-logger/ @forabi @clementallen
/types/suncalc/ @horiuchi
/types/superagent/v2/ @varju @NicoZelaya @mxl
-/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 @zopf @beeequeue
+/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 @zopf @beeequeue @lukaselmer
/types/superagent-bunyan/ @bricka
/types/superagent-no-cache/ @mxl
/types/superagent-prefix/ @mxl
@@ -4457,7 +4815,7 @@
/types/sw-precache/ @JounQin
/types/sw-precache-webpack-plugin/ @JounQin
/types/swag/ @shiwano
-/types/swagger-express-middleware/ @alexandreroba
+/types/swagger-express-middleware/ @alexandreroba @tromgy
/types/swagger-express-mw/ @micmro
/types/swagger-express-validator/ @pinguet62
/types/swagger-hapi/ @micmro
@@ -4466,7 +4824,7 @@
/types/swagger-parser/ @Tobias4872 @EricHenry
/types/swagger-restify-mw/ @micmro
/types/swagger-sails-hook/ @micmro
-/types/swagger-schema-official/ @mohsen1 @bsouthga @nimerritt
+/types/swagger-schema-official/ @mohsen1 @bsouthga @nimerritt @mauriedo
/types/swagger-tools/ @bricka
/types/swagger-ui-dist/ @haowen737
/types/swagger-ui-express/ @dmitryrogozhny
@@ -4478,7 +4836,7 @@
/types/swig-email-templates/ @mrhen @micksatana
/types/swipe/ @kant2002
/types/swiper/v3/ @sgaliano @lucax88x
-/types/swiper/ @sgaliano @lucax88x @ematseruk @odahcam
+/types/swiper/ @sgaliano @lucax88x @ematseruk @odahcam @jmca
/types/swipeview/ @borisyankov
/types/switchery/ @bgrieder @claylaut
/types/swiz/ @jedigo
@@ -4486,10 +4844,12 @@
/types/synaptic/ @ToastHawaii @austincummings
/types/systeminformation/ @PixelcrabAT
/types/systemjs/ @ludohenin @NathanWalker @GiedriusGrabauskas @aluanhaddad
+/types/tabbable/ @mokkan
/types/table/ @evanshortiss @mrmlnc
/types/tableau/ @protip
+/types/tableify/ @forivall
/types/tabris-plugin-firebase/ @eclipsesource
-/types/tabtab/ @vojtechhabarta
+/types/tabtab/ @vojtechhabarta @kamontat
/types/tabulator/ @euginio
/types/tail/ @spacejack
/types/tapable/v0/ @e-cloud
@@ -4500,6 +4860,7 @@
/types/tar-stream/ @glicht
/types/task-graph-runner/ @mgroenhoff
/types/tcp-ping/ @stegano
+/types/tcp-port-used/ @gautejohan
/types/teddy/ @lannonbr
/types/tedious/ @rogierschouten @cjthompson @v-suhame
/types/tedious-connection-pool/ @sandorfr
@@ -4507,24 +4868,30 @@
/types/temp/ @DanielRosenwasser
/types/temp-write/ @BendingBender
/types/tempfile/ @SamVerschueren @BendingBender
-/types/tempy/ @douglasduteil
+/types/tempy/ @douglasduteil @maistho
/types/terminal-menu/ @aravindarun
+/types/tern/ @nkappler
+/types/terser/ @JordiAnderl
+/types/test-console/ @roberto @guidoux @gbmoretti
/types/test-listen/ @stephenmathieson
/types/testingbot-api/ @timbru31
/types/tether/ @adidahiya
/types/tether-drop/ @adidahiya
/types/tether-shepherd/ @mtgibbs
/types/text-buffer/ @GlenCFL
-/types/text-encoding/ @pine613 @mohsen1
+/types/text-encoding/ @pine @mohsen1 @nwmqpa
/types/text-encoding-utf-8/ @trxcllnt
/types/text-table/ @saadq
/types/textarea-caret/ @shiftkey
/types/textract/ @lal12
/types/textversionjs/ @aaronosher
+/types/texzilla/ @m93a
/types/tgfancy/ @Dabolus
/types/theming/ @eps1lon
+/types/theo/ @petekp
/types/thepiratebay/ @jsorrell
-/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas @NotWoods @sethk @elk941 @Methuselah96 @Dukuo
+/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas @NotWoods @sethk @elk941 @Methuselah96 @Dukuo @JulianSSS @devilsparta @KonstantinLukaschenko
+/types/three-tds-loader/ @KonstantinLukaschenko @sschoensee
/types/thrift/ @kamek-pf @kevin-greene-ck @jessezhang91
/types/throng/ @cyrilschumacher @tatethurston
/types/throttle/ @BendingBender
@@ -4534,6 +4901,7 @@
/types/through2/ @Bartvds @jedmao @valotas @TeamworkGuy2 @Alorel
/types/through2-concurrent/ @Alorel
/types/through2-map/ @LucasHill
+/types/tildify/ @BendingBender
/types/tile-reduce/ @DenisCarriere
/types/tilebelt/ @DenisCarriere
/types/time-span/ @BendingBender @mdvorscak
@@ -4541,10 +4909,13 @@
/types/timelinejs3/ @MikeMatusz
/types/timer-machine/ @dolanmiu
/types/timezone-js/ @bonnici
+/types/timing-safe-equal/ @BendingBender
+/types/timsort/ @Vunovati
/types/tinajs__tina/ @Jimexist
/types/tinajs__tina-redux/ @Jimexist
/types/tinder/ @pingec
/types/tingle.js/ @ajafff
+/types/tiny-async-pool/ @krlwlfrt
/types/tiny-secp256k1/ @eduhenke
/types/tiny-slider-react/ @screendriver
/types/tinycolor2/ @M-Zuber @geertjansen @nvh @Ailrun
@@ -4564,20 +4935,21 @@
/types/toastr/ @borisyankov
/types/tocktimer/ @evanshortiss
/types/tokgen/ @l-jonas
-/types/toobusy-js/ @atd-schubert
+/types/toobusy-js/ @atd-schubert @BendingBender
/types/tooltipster/ @stephenlautier @pjmagee @VorobeY1326 @leonard-thieu @janhi @joeskeen
/types/topojson/ @ricardo-mello @chenzhutian @denisname
/types/topojson-client/ @denisname @ricardo-mello
/types/topojson-simplify/ @denisname @ricardo-mello
/types/topojson-specification/ @denisname
/types/toposort/ @danwbyrne
+/types/torrent-search-api/ @ngirardin
/types/torrent-stream/ @xstoudi
/types/touch/ @mizunashi-mana @BendingBender
/types/touch-events/ @kevinb7
/types/tough-cookie/ @leonard-thieu @LiJinyao @no2chem
/types/tough-cookie-filestore/ @friedow
/types/traceback/ @misak113
-/types/tracking/ @pimterry
+/types/tracking/ @pimterry @bratter
/types/transducers-js/ @colinkahn @dphilipson @NaridaL
/types/transducers.js/ @dphilipson
/types/transliteration/ @tony19
@@ -4587,6 +4959,7 @@
/types/travis-fold/ @andy-ms
/types/trayballoon/ @korve
/types/tress/ @sindilevich
+/types/trianglify/ @unindented
/types/trim/ @skysteve
/types/triple-beam/ @danwbyrne
/types/triplesec/ @threesquared
@@ -4595,13 +4968,14 @@
/types/tspromise/ @soywiz
/types/ttf2woff2/ @ThomasdenH
/types/tunnel/ @BendingBender
-/types/tus-js-client/ @kevhiggins
+/types/tus-js-client/ @kevhiggins @Acconut
/types/tv4/ @Bartvds @psnider
/types/tween.js/ @Amos47 @sunetos @jzarnikov @alexburner
/types/tweenjs/ @evilangelist @jcyuan
/types/tweezer.js/ @praxxis
/types/twig/ @soywiz @enko
/types/twilio/ @nickiannone @ashleybrener
+/types/twilio-common/ @gatimus
/types/twilio-video/ @minddocdev @darioblanco
/types/twit/ @Volox @sapphiredev @abraham @siwalikm @plhery
/types/twitch-ext/ @beheh
@@ -4646,7 +5020,9 @@
/types/uniqid/ @idchlife
/types/unique-hash-stream/ @BendingBender
/types/unique-random/ @Kuniwak
-/types/unist/ @bizen241
+/types/unique-random-array/ @BendingBender
+/types/unist/ @bizen241 @lujun2 @hrajchert @wooorm @rokt33r
+/types/unist-util-is/ @rokt33r
/types/unity-webapi/ @jmvrbanac
/types/universal-analytics/ @Bartvds @DarkerTV
/types/universal-cookie/ @tomi
@@ -4657,9 +5033,9 @@
/types/unzip/ @coding2012
/types/unzipper/ @s73obrien @natemara @bartje321
/types/update-notifier/v1/ @vvakame @nchen63
-/types/update-notifier/ @vvakame @nchen63 @bitjson
+/types/update-notifier/ @vvakame @nchen63 @bitjson @grinich
/types/uploadcare/ @jineshshah36
-/types/upng-js/ @plantain-00
+/types/upng-js/ @plantain-00 @pineapplemachine
/types/uppercamelcase/ @plantain-00
/types/urbanairship-cordova/ @Justin-Credible
/types/uri-templates/ @Bartvds @barnski
@@ -4693,6 +5069,8 @@
/types/uuid-parse/ @screendriver
/types/uuid-validate/ @HiromiShikata
/types/uws/ @plantain-00 @orblazer
+/types/v-chart-plugin/ @natemara
+/types/v8flags/ @BendingBender
/types/valdr/ @ilbertz
/types/valdr-message/ @ilbertz
/types/valerie/ @conficient
@@ -4708,7 +5086,6 @@
/types/vast-client/ @jgainfort
/types/vec3/ @xstoudi
/types/vectorious/ @erikgerrits
-/types/vega/ @pelotom
/types/velocity-animate/ @smrq
/types/verror/ @svi3c @max4t
/types/vertx3-eventbus-client/ @oddeirik
@@ -4716,7 +5093,8 @@
/types/vexdb/ @MayorMonty
/types/vexflow/ @rquiring @sebastianhaas @bohoffi @sschmidTU
/types/vfile/ @bizen241 @rokt33r
-/types/vfile-location/ @ikatyang
+/types/vfile-location/ @ikatyang @rokt33r
+/types/vfile-message/ @rokt33r
/types/victory/ @asvetliakov @snerks @Havret @alredyExist
/types/video.js/ @vbortone @scleriot @SWBennett06 @IgelCampus @giofreitas @gjanblaszczyk @sroucheray @AkxeOne @meikidd
/types/viewability-helper/ @lironzluf
@@ -4732,7 +5110,7 @@
/types/vinyl-paths/ @tkQubo
/types/virtual-dom/ @chbrown
/types/virtual-keyboard/ @bsurai
-/types/vis/ @MichaelBitard @macleodbroad-wf @adripanico @seveves @kaktus40 @mmaitre314 @supercargo @takato1314 @alex-kachura @dcop @avrahamcool
+/types/vis/ @MichaelBitard @macleodbroad-wf @adripanico @seveves @kaktus40 @mmaitre314 @supercargo @takato1314 @alex-kachura @dcop @avrahamcool @divideby
/types/vision/v4/ @jasonswearingen @AJamesPhillips
/types/vision/ @jasonswearingen @AJamesPhillips @lenovouser
/types/vitalsigns/ @cyrilschumacher
@@ -4751,7 +5129,8 @@
/types/vue-scrollto/ @vincekovacs
/types/vue-select/ @silh
/types/vue2-datepicker/ @ChristianStornowski
-/types/vuex-i18n/ @jaeggerr @noamkfir
+/types/vuelidate/ @janesser
+/types/vuex-i18n/ @jaeggerr @noamkfir @barahliush
/types/w2ui/ @Ptival
/types/w3c-generic-sensor/ @kenchris
/types/w3c-image-capture/ @cosium
@@ -4760,6 +5139,7 @@
/types/w3c-web-usb/ @larsgk
/types/waitme/ @totpero
/types/wake_on_lan/ @SrTobi
+/types/walk/ @poppa
/types/wallabyjs/ @andrewconnell
/types/wallpaper/ @BendingBender
/types/wampy/ @KSDaemon
@@ -4769,30 +5149,33 @@
/types/watchpack/ @e-cloud
/types/waterline/ @arvitaly
/types/watson-developer-cloud/ @waldo000000 @Naktibalda
+/types/wavesurfer.js/ @higuri
/types/waypoints/ @dominikbulaj @Koloto @evil-shrike
+/types/wcag-contrast/ @plantain-00
/types/wcwidth/ @rokt33r
/types/weak/ @int0h
/types/weapp-api/ @vargeek
/types/web-animations-js/ @kritollm
/types/web-bluetooth/ @urish
/types/web-push/ @paullessing
-/types/web3/ @simon-jentzsch @nitzantomer @zurbo @yxliang01 @phra @naddison36 @icaroharry @linusnorton @jpeletier @anneau @matrushka @andrevmatos @levino @zlumer @archangel-irk
+/types/web-resource-inliner/ @BendingBender
+/types/web3/ @simon-jentzsch @nitzantomer @zurbo @yxliang01 @phra @naddison36 @icaroharry @linusnorton @jpeletier @anneau @matrushka @andrevmatos @levino @zlumer @archangel-irk @sogasg @donamk @dkent600 @nerddan
/types/web3-eth-abi/ @LogvinovLeon
/types/web3-provider-engine/ @LogvinovLeon
/types/webappsec-credential-management/ @iainmcgin
-/types/webassembly-js-api/ @periklis
+/types/webassembly-js-api/ @periklis @chicoxyzzy
/types/webassembly-web-api/ @jhenninger
/types/webcl/ @NCARalph
/types/webcomponents.js/ @adidahiya
/types/webcrypto/ @iislucas
-/types/webdriverio/ @nmalaguti @timbru31 @fsmedberg-tc @tanvirislam06 @phil-lgr
+/types/webdriverio/ @nmalaguti @timbru31 @fsmedberg-tc @tanvirislam06 @daveparslow @phil-lgr
/types/webfontloader/ @doskallemaskin
/types/webgl-ext/ @zenmumbler
/types/webgl2/ @nkemnitz @karhu
/types/webidl2/ @saschanaz
/types/webmidi/ @lostfictions
-/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @christophehurpeau
-/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @dennispg @christophehurpeau @ZSkycat @johnnyreilly
+/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @christophehurpeau @rwaskiewicz @kuehlein
+/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @alan-agius4 @elliottsj @jason0x43 @dennispg @christophehurpeau @ZSkycat @johnnyreilly @rwaskiewicz @kuehlein
/types/webpack-assets-manifest/ @FranklinWhale
/types/webpack-bundle-analyzer/ @kryops
/types/webpack-chain/ @eirikurn @psachs21
@@ -4816,9 +5199,11 @@
/types/webpack-serve/ @rynclark @Jokcy @ZSkycat
/types/webpack-sources/ @e-cloud @chriseppstein
/types/webpack-stream/ @iclanton @bumbleblym
+/types/webpack-subresource-integrity/ @huan086
/types/webpack-validator/ @deevus
/types/webpackbar/ @rynclark
/types/webpagetest/ @ksm2
+/types/webprogbase-console-view/ @veetaha
/types/webrtc/ @nakakura
/types/webscopeio__react-textarea-autocomplete/ @michauzo
/types/websequencediagrams/ @ffflorian
@@ -4845,6 +5230,7 @@
/types/wicg-mediasession/ @jucrouzet
/types/wif/ @danwbyrne
/types/wiiu/ @mzsm
+/types/wikidata-sdk/ @kamontat
/types/window-or-global/ @vvakame
/types/window-size/ @pmkary
/types/windows-1251/ @RomanGolovanov
@@ -4864,6 +5250,7 @@
/types/wnumb/ @acoreyj
/types/wonder.js/ @yyc-git
/types/word-list-json/ @dovidm
+/types/word2vector/ @renekeijzer
/types/wordcloud/ @joeskeen
/types/words-to-numbers/ @James-Frowen
/types/workbox-sw/ @wessberg
@@ -4896,7 +5283,8 @@
/types/xmldom/ @tkqubo
/types/xmlpoke/ @garthk
/types/xmltojson/ @traviscrowe
-/types/xmpp__jid/ @PJakcson
+/types/xmpp__jid/ @PJakcson @BendingBender
+/types/xmpp__xml/ @BendingBender
/types/xregexp/ @Bartvds @jfahrenkrug @sigo
/types/xrm/v7/ @daryllabar
/types/xrm/v8/ @6ix4our @mattngan @markusmauch @daryllabar @clownwilleatme @mariusagur
@@ -4905,20 +5293,23 @@
/types/xsockets/ @pushplay
/types/xxhashjs/ @mDibyo
/types/yallist/ @BendingBender
+/types/yaml/ @ikatyang @ColinBradley
/types/yandex-maps/ @Delagen
/types/yandex-money-sdk/ @chrootsu
/types/yar/ @SimonSchick
/types/yargs/v8/ @poelstra @mizunashi-mana @pushplay @jeffkenney
/types/yargs/v10/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
/types/yargs/v11/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
-/types/yargs/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC
+/types/yargs/ @poelstra @mizunashi-mana @pushplay @jeffkenney @JimiC @tkazec
/types/yargs-interactive/ @szeck87
+/types/yargs-parser/ @milesj
/types/yauzl/ @ffflorian
/types/yauzl-promise/ @dlee-nvisia
/types/yayson/ @Codesleuth
-/types/yazl/ @taoqf
+/types/yazl/ @taoqf @seangenabe
/types/ydn-db/ @yathit @gabrielmaldi
-/types/yeoman-generator/ @armorik83 @janslow @ikatyang
+/types/yeoman-assert/ @Toilal
+/types/yeoman-generator/ @armorik83 @janslow @ikatyang @tasadar2
/types/yeoman-test/ @ikatyang
/types/yesql/ @Sumolari
/types/yoctodelay/ @seangenabe
@@ -4927,10 +5318,10 @@
/types/yog2-kernel/ @ssddi456
/types/yoga-layout/ @tnobody
/types/yosay/ @armorik83
-/types/youtube/ @DazWilkin @JoshuaKGoldberg @eliotfallon213 @terrymun
+/types/youtube/ @DazWilkin @JoshuaKGoldberg @eliotfallon213 @terrymun @paulhobbel
/types/youtube-dl/ @bsurai
/types/yui/ @giabao
-/types/yup/ @dhardtke @vtserman @MoretonBayRC @sseppola
+/types/yup/ @dhardtke @vtserman @MoretonBayRC @sseppola @YashdalfTheGray @vincentjames501
/types/z-schema/ @pgonzal
/types/zapier-platform-core/ @bradleyayers
/types/zeit__next-typescript/ @icopp
@@ -4943,6 +5334,7 @@
/types/zeromq/ @davemckeown @erikma @TitaneBoy
/types/zip-webpack-plugin/ @blaise-io
/types/zip.js/ @lgrignon
+/types/zipcelx/ @aleburato
/types/zipcodes/ @headdetect @dobesv
/types/zipkin-context-cls/ @plantain-00
/types/zipkin-instrumentation-express/ @plantain-00
@@ -4952,5 +5344,6 @@
/types/zmq/ @davemckeown
/types/zookeeper/ @xialeistudio
/types/zopflipng-bin/ @hikoma
+/types/zrender/ @iRON5
/types/zui/ @yuanxu
/types/zxcvbn/ @mtraynham
diff --git a/.gitignore b/.gitignore
index ac63b6f6b5..079ad27699 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,6 +46,7 @@ npm-debug.log
.settings/launch.json
.vs
.vscode
+.history
# yarn
yarn.lock
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..9cf9495031
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+package-lock=false
\ No newline at end of file
diff --git a/README.es.md b/README.es.md
index c3cff967db..df675cbe41 100644
--- a/README.es.md
+++ b/README.es.md
@@ -22,15 +22,15 @@ Este es el método preferido. Solo está disponible para usuarios TypeScript 2.0
npm install --save-dev @types/node
```
-Los types deberían ser incluidos automaticamente por el compilador.
+Los types deberían ser incluidos automáticamente por el compilador.
Vea más en el [manual](http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html).
-Para un paquete NPM "foo", Estos `typings` estarán en "@types/foo".
+Para un paquete NPM "foo", estos `typings` estarán en "@types/foo".
Si no puedes encontrar tu paquete, búscalo en [TypeSearch](https://microsoft.github.io/TypeSearch/).
Si aún no puedes encontrarlo, comprueba si el paquete ya [incluye](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) los typings.
Esto es provisto usualmente en el campo `"types"` o `"typings"` en el `package.json`,
-o solo busca por cualquier archivo ".d.ts" en el paquete e incluyelo manualmente con un `/// `.
+o solo busca por cualquier archivo ".d.ts" en el paquete e inclúyelo manualmente con un `/// `.
### Otros métodos
@@ -39,7 +39,7 @@ Estos pueden ser utilizados por TypeScript 1.0.
* [Typings](https://github.com/typings/typings)
* ~~[NuGet](http://nuget.org/packages?q=DefinitelyTyped)~~ (use las alternativas preferidas, la publicación DT type de nuget ha sido desactivada)
-* Descarguelo manualmente desde la `master` branch de este repositorio
+* Descárguelo manualmente desde la `master` branch de este repositorio
Tal vez debas añadir manualmente las [referencias](http://www.typescriptlang.org/docs/handbook/triple-slash-directives.html).
@@ -88,7 +88,7 @@ Primero, haz un [fork](https://guides.github.com/activities/forking/) en este re
* `cd types/my-package-to-edit`
* Haz cambios. Recuerda editar las pruebas.
Si realiza cambios importantes, no olvide [actualizar una versión principal](#quiero-actualizar-un-paquete-a-una-nueva-versión-principal).
-* También puede que quieras añadirte la sección "Definitions by" en el encabezado del paquete.
+* También puede que quieras añadirle la sección "Definitions by" en el encabezado del paquete.
- Esto hará que seas notificado (a través de tu nombre de usuario en GitHub) cada vez que alguien haga un pull request o issue sobre el paquete.
- Haz esto añadiendo tu nombre al final de la línea, así como en `// Definitions by: Alice , Bob `.
- O si hay más personas, puede ser multiline
@@ -109,7 +109,7 @@ Si no lo hace, puedes hacerlo en el comentario asociado con el PR.
Si eres el autor de la librería, o puedes hacer un pull request a la biblioteca, [bundle types](http://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) en vez de publicarlo en DefinitelyTyped.
Si estás agregando typings para un paquete NPM, crea un directorio con el mismo nombre.
-Si el paquete al que le estás agregando typings no es para NPM, asegurate de que el nombre que escojas no genere problemas con el nombre del paquete en NPM.
+Si el paquete al que le estás agregando typings no es para NPM, asegúrate de que el nombre que escojas no genere problemas con el nombre del paquete en NPM.
(Puedes usar `npm info foo` para verificar la existencia del paquete `foo`.)
Tu paquete debería tener esta estructura:
@@ -126,7 +126,7 @@ Ve todas las opciones en [dts-gen](https://github.com/Microsoft/dts-gen).
También puedes configurar el `tsconfig.json` para añadir nuevos archivos, para agregar un `"target": "es6"` (necesitado por las funciones asíncronas), para agregar a la `"lib"`, o para agregar la opción de compilación `"jsx"`.
-Los miembros de DefinitelyTyped frecuentemente monitorean nuevos PRs, pero ten en mente que la cantidad de PRs podrian ralentizar el proceso.
+Los miembros de DefinitelyTyped frecuentemente monitorean nuevos PRs, pero ten en mente que la cantidad de PRs podrían ralentizar el proceso.
Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/base64-js).
@@ -135,7 +135,7 @@ Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTy
* Primero, sigue el consejo del [manual](http://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html).
* Formatear: Ya sea utilizar todo en tabs, o siempre utiliza 4 espacios.
-* `function sum(nums: number[]): number`: Utiliza `ReadonlyArray` si una funcion no escribe a sus parámetros.
+* `function sum(nums: number[]): number`: Utiliza `ReadonlyArray` si una función no escribe a sus parámetros.
* `interface Foo { new(): Foo; }`:
Este define el tipo de objeto que esten nuevos. Probablemente quieras `declare class Foo { constructor(); }`.
* `const Class: { new(): IClass; }`:
@@ -146,7 +146,7 @@ Para un buen paquete de ejemplo, vea [base64-js](https://github.com/DefinitelyTy
Un ejemplo donde un tipo de parámetro es aceptable: `function id(value: T): T;`.
Un ejemplo donde no es aceptable: `function parseJson(json: string): T;`.
Una excepción: `new Map()` está bien.
-* Utilizando los tipos `Function` y `Object` casi nunca es una buena idea. En 99% de los casos es posible especificar un tipo más especifico. Los ejemplos son `(x: number) => number` para [funciones](http://www.typescriptlang.org/docs/handbook/functions.html#function-types) y `{ x: number, y: number }` para objetos. Si no hay certeza en lo absoluto del tipo, [`any`](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) es la opción correcta, no `Object`. Si el único hecho conocido sobre el tipo es que es un objecto, usa el tipo [`object`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#object-type), no `Object` o `{ [key: string]: any }`.
+* Utilizando los tipos `Function` y `Object` casi nunca es una buena idea. En 99% de los casos es posible especificar un tipo más específico. Los ejemplos son `(x: number) => number` para [funciones](http://www.typescriptlang.org/docs/handbook/functions.html#function-types) y `{ x: number, y: number }` para objetos. Si no hay certeza en lo absoluto del tipo, [`any`](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) es la opción correcta, no `Object`. Si el único hecho conocido sobre el tipo es que es un objecto, usa el tipo [`object`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#object-type), no `Object` o `{ [key: string]: any }`.
* `var foo: string | any`:
Cuando es usado `any` en un tipo de unión, el tipo resultante todavía es `any`. Así que mientras la porción `string` de este tipo de anotación puede _verse_ útil, de hecho, no ofrece ningún typechecking adicional más que un simple `any`.
Dependiendo de la intención, una alternativa aceptable puede ser `any`, `string`, o `string | object`.
@@ -204,11 +204,11 @@ Este script utiliza [dtslint](https://github.com/Microsoft/dtslint).
#### ¿Cuál es exactamente la relación entre este repositorio y los paquetes de `@types` en NPM?
-La `master` branch es automaticamente publicada en el alcance de los `@types` en NPM gracias a los [types-publisher](https://github.com/Microsoft/types-publisher).
+La `master` branch es automáticamente publicada en el alcance de los `@types` en NPM gracias a los [types-publisher](https://github.com/Microsoft/types-publisher).
#### He enviado un pull request. ¿Cuánto tardará en ser merged?
-Esto depende, pero la mayoría de los pull requests serán merged en alrededor de una semana. PRs que hayan sido aprovados por un autor listado en el encabezado de las definiciones usualmente son merged más rápidamente; PRs para nuevas definiciones tomarán más tiempo ya que requieren más revisiones de los mantenedores. Cada PR es revisado por un miembro de TypeScript o DefinitelyTyped antes de ser merged, por favor se paciente debido a que factores humanos pueden causar retrasos. Revisa el [PR Burndown Board](https://github.com/DefinitelyTyped/DefinitelyTyped/projects/3?card_filter_query=is%3Aopen) para ver el progreso mientras los mantenedores trabajan on los PRs abiertos.
+Esto depende, pero la mayoría de los pull requests serán merged en alrededor de una semana. PRs que hayan sido aprobados por un autor listado en el encabezado de las definiciones usualmente son merged más rápidamente; PRs para nuevas definiciones tomarán más tiempo ya que requieren más revisiones de los mantenedores. Cada PR es revisado por un miembro de TypeScript o DefinitelyTyped antes de ser merged, por favor sé paciente debido a que factores humanos pueden causar retrasos. Revisa el [PR Burndown Board](https://github.com/DefinitelyTyped/DefinitelyTyped/projects/3?card_filter_query=is%3Aopen) para ver el progreso mientras los mantenedores trabajan en los PRs abiertos.
#### Mi PR ha sido merged; ¿cuándo será actualizado el paquete de `@types` NPM?
@@ -216,12 +216,12 @@ Los paquetes NPM deberán ser actualizados en unas cuantas horas. Si ha pasado m
#### Estoy escribiendo una definición que depende de otra definición. Debería utilizar `` o una import?
-Si el modulo al cual te estás refiriendo es un módulo externo (utiliza `export`), utilice una import.
+Si el módulo al cual te estás refiriendo es un módulo externo (utiliza `export`), utilice una import.
Si el módulo al cual te refieres es un módulo ambiente (utiliza `declare module`, o simplemente declara las globales), utilice ``.
#### He notado que algunos paquetes aquí tienen `package.json`.
-Normalmente no lo necesitaras. Cuando publicas un paquete normalmente nosotros automáticamente crearemos un `package.json` para eso.
+Normalmente no lo necesitarás. Cuando publicas un paquete normalmente nosotros automáticamente crearemos un `package.json` para eso.
Un `package.json` puede ser incluido por el bien de especificar dependencias. Aquí tienen un [ejemplo](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/pikaday/package.json).
No aceptamos otros campos, tales como `"description"`, para que sean definidos manualmente.
Además, si necesitas referencia a una versión anterior de typings, debes hacerlo añadiendo `"dependencies": { "@types/foo": "x.y.z" }` al package.json.
@@ -260,7 +260,7 @@ Cuando ya no sea un borrador, lo podremos eliminar desde DefinitelyType y hacer
Si planeas continuar actualizando la versión anterior del paquete, puedes crear una subcarpeta con la versión actual p.ej. `v2`, y copia los archivos existentes. Si es así, necesitarás:
1. Actualiza las rutas relativas en `tsconfig.json` al igual que `tslint.json`.
-2. Añadir reglas de mapeo de rutas para asegurart de que la prueba se está ejecutando contra la versión prevista.
+2. Añadir reglas de mapeo de rutas para asegurarte de que la prueba se está ejecutando contra la versión prevista.
Por ejemplo [history v2 `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/history/v2/tsconfig.json) se ve así:
@@ -280,24 +280,24 @@ Por ejemplo [history v2 `tsconfig.json`](https://github.com/DefinitelyTyped/Defi
}
```
-Si hay otros paquetes en DefinitelyTyped que son incompatibles con la nueva versión, necesitaras mapear las rutas a la versión anterior. También deberá hacer esto para los paquetes que dependen de paquetes que dependen de una version anterior.
+Si hay otros paquetes en DefinitelyTyped que son incompatibles con la nueva versión, necesitarás mapear las rutas a la versión anterior. También deberá hacer esto para los paquetes que dependen de paquetes que dependen de una version anterior.
Por ejemplo, `react-router` depende de `history@2`, así que [react-router `tsconfig.json`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router/tsconfig.json) tiene una ruta mapeada a "history": `[ "history/v2" ]`;
transitivo así mismo, `react-router-bootstrap` (que depende de `react-router`) también añade una ruta mapeada en su [tsconfig.json](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router-bootstrap/tsconfig.json).
-Además, `/// ` no trabajara con rutas mapeadas, así que las dependencias deberán utilizar `import`.
+Además, `/// ` no trabajará con rutas mapeadas, así que las dependencias deberán utilizar `import`.
#### ¿Cómo escribo definitions para paquetes que pueden ser usados globalmente y como un módulo?
-El manual de TypeScript contiene excelente [información general para escribir definiciones](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html), ademas [este archivo de definiciones de ejemplo](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html) el cual muestra como crear una definición utilizando la sintaxis de módulo en ES6, asi como también especificando objetos que son disponibles en el alcance global. Esta técnica es demostrada practicamente en la [definición para big.js](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/big.js/index.d.ts), el cual es una librería que puede ser cargada globalmente a travéz de una etiqueta script en una página web, o importada via require o imports estilo ES6.
+El manual de TypeScript contiene excelente [información general para escribir definiciones](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html), además [este archivo de definiciones de ejemplo](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html) el cual muestra como crear una definición utilizando la sintaxis de módulo en ES6, asi como también especificando objetos que son disponibles en el alcance global. Esta técnica es demostrada prácticamente en la [definición para big.js](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/big.js/index.d.ts), el cual es una librería que puede ser cargada globalmente a través de una etiqueta script en una página web, o importada vía require o imports estilo ES6.
-Para probar como puede ser usada tu definición cuando se refieren globalmente o como un módulo importado, crea una carpeta `test`, y coloca dos archivos de prueba en él. nombra uno `YourLibraryName-global.test.ts` y el otro `YourLibraryName-module.test.ts`. El archivo de prueba _global_ debe ejercer la definición de acuerdo como va a ser usado en un script cargado en una página web donde la librería estará disponible en el alcance global - en este escenario no debes de especificar la sentencia de import. El archivo _módulo_ de prueba debe de ejercer la definición de acuerdo a como va a ser utilizado cuando sea importado (incluyendo las sentencias `import`). Si especificas un propiedad `files` en tu archivo tsconfig.json, asegurate de incluir ambos archivos de prueba. Un [ejemplo práctico de esto](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/big.js/test) es también disponible en la definición de big.js.
+Para probar como puede ser usada tu definición cuando se refieren globalmente o como un módulo importado, crea una carpeta `test`, y coloca dos archivos de prueba en él. nombra uno `YourLibraryName-global.test.ts` y el otro `YourLibraryName-module.test.ts`. El archivo de prueba _global_ debe ejercer la definición de acuerdo como va a ser usado en un script cargado en una página web donde la librería estará disponible en el alcance global - en este escenario no debes de especificar la sentencia de import. El archivo _módulo_ de prueba debe de ejercer la definición de acuerdo a como va a ser utilizado cuando sea importado (incluyendo las sentencias `import`). Si especificas una propiedad `files` en tu archivo tsconfig.json, asegurate de incluir ambos archivos de prueba. Un [ejemplo práctico de esto](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/big.js/test) es también disponible en la definición de big.js.
Por favor tenga en cuenta que no es necesario para ejercer plenamente la definición en cada archivo de prueba - Es suficiente con probar solo los elementos globalmente accesibles en la prueba de archivos globales y ejercer la definición en el módulo del archivo de prueba, o viceversa.
#### ¿Qué pasa con paquetes scoped?
-Types para un paquete scoped `@foo/bar` deberán ir en `types/foo__bar`. tenga en cuenta el doble guion bajo.
+Types para un paquete scoped `@foo/bar` deberán ir en `types/foo__bar`. tenga en cuenta el doble guión bajo.
Cuando `dts-gen` es utilizado como scaffold en un paquete scoped, las propiedades `paths` deberán ser adaptadas manualmente en el paquete generado
`tsconfig.json` para referenciar correctamente el paquete scoped:
diff --git a/README.md b/README.md
index 9a31d73da1..eba170c493 100644
--- a/README.md
+++ b/README.md
@@ -336,3 +336,6 @@ This project is licensed under the MIT license.
Copyrights on the definition files are respective of each contributor listed at the beginning of each definition file.
[](https://github.com/igrigorik/ga-beacon)
+
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=13) Are packages being published to npm in less than 10,000 seconds on average?
+[](https://typescript.visualstudio.com/TypeScript/_build/latest?definitionId=14) Has typescript-bot been active on DefinitelyTyped in the last two hours?
diff --git a/notNeededPackages.json b/notNeededPackages.json
index 968192123b..c64738aa8d 100644
--- a/notNeededPackages.json
+++ b/notNeededPackages.json
@@ -144,6 +144,12 @@
"sourceRepoURL": "https://github.com/Azure/azure-mobile-apps-node/",
"asOfVersion": "3.0.0"
},
+ {
+ "libraryName": "@babel/parser",
+ "typingsPackageName": "babel__parser",
+ "sourceRepoURL": "https://github.com/babel/babel",
+ "asOfVersion": "7.1.0"
+ },
{
"libraryName": "BabylonJS",
"typingsPackageName": "babylonjs",
@@ -396,6 +402,12 @@
"sourceRepoURL": "https://github.com/MikeMcl/decimal.js",
"asOfVersion": "7.4.0"
},
+ {
+ "libraryName": "deepmerge",
+ "typingsPackageName": "deepmerge",
+ "sourceRepoURL": "git@github.com:KyleAMathews/deepmerge.git",
+ "asOfVersion": "2.2.0"
+ },
{
"libraryName": "delay",
"typingsPackageName": "delay",
@@ -534,6 +546,12 @@
"sourceRepoURL": "https://github.com/code-chris/extended-listbox",
"asOfVersion": "4.0.1"
},
+ {
+ "libraryName": "fast-diff",
+ "typingsPackageName": "fast-diff",
+ "sourceRepoURL": "https://github.com/jhchen/fast-diff",
+ "asOfVersion": "1.2.0"
+ },
{
"libraryName": "JSON-Patch",
"typingsPackageName": "fast-json-patch",
@@ -618,6 +636,18 @@
"sourceRepoURL": "https://github.com/mikedeboer/node-github",
"asOfVersion": "7.1.0"
},
+ {
+ "libraryName": "gitlab",
+ "typingsPackageName": "gitlab",
+ "sourceRepoURL": "https://github.com/jdalrymple/node-gitlab",
+ "asOfVersion": "2.0.0"
+ },
+ {
+ "libraryName": "Google Cloud Storage",
+ "typingsPackageName": "google-cloud__storage",
+ "sourceRepoURL": "https://github.com/googleapis/nodejs-storage",
+ "asOfVersion": "2.3.0"
+ },
{
"libraryName": "graphene-pk11",
"typingsPackageName": "graphene-pk11",
@@ -924,12 +954,24 @@
"sourceRepoURL": "https://github.com/blakeembrey/lower-case-first",
"asOfVersion": "1.0.1"
},
+ {
+ "libraryName": "mali",
+ "typingsPackageName": "mali",
+ "sourceRepoURL": "https://github.com/malijs/mali",
+ "asOfVersion": "0.9.2"
+ },
{
"libraryName": "maquette",
"typingsPackageName": "maquette",
"sourceRepoURL": "http://maquettejs.org/",
"asOfVersion": "2.1.6"
},
+ {
+ "libraryName": "maxmind",
+ "typingsPackageName": "maxmind",
+ "sourceRepoURL": "https://github.com/runk/node-maxmind",
+ "asOfVersion": "2.0.5"
+ },
{
"libraryName": "mendixmodelsdk",
"typingsPackageName": "mendixmodelsdk",
@@ -966,6 +1008,12 @@
"sourceRepoURL": "https://github.com/mweststrate/mobservable-react",
"asOfVersion": "1.0.0"
},
+ {
+ "libraryName": "Mobx Cookie",
+ "typingsPackageName": "mobx-cookie",
+ "sourceRepoURL": "https://github.com/will-stone/mobx-cookie",
+ "asOfVersion": "1.1.1"
+ },
{
"libraryName": "Moment",
"typingsPackageName": "moment",
@@ -1194,6 +1242,12 @@
"sourceRepoURL": "https://github.com/react-ga/react-ga",
"asOfVersion": "2.3.0"
},
+ {
+ "libraryName": "react-i18next",
+ "typingsPackageName": "react-i18next",
+ "sourceRepoURL": "https://github.com/i18next/react-i18next",
+ "asOfVersion": "8.1.0"
+ },
{
"libraryName": "react-monaco-editor",
"typingsPackageName": "react-monaco-editor",
@@ -1608,6 +1662,12 @@
"sourceRepoURL": "https://github.com/ansman/validate.js",
"asOfVersion": "0.11.0"
},
+ {
+ "libraryName": "vega",
+ "typingsPackageName": "vega",
+ "sourceRepoURL": "https://github.com/vega/vega",
+ "asOfVersion": "3.2.0"
+ },
{
"libraryName": "vso-node-api",
"typingsPackageName": "vso-node-api",
diff --git a/package.json b/package.json
index 09fe064d48..caf101cbc6 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,6 @@
},
"devDependencies": {
"dtslint": "github:Microsoft/dtslint#production",
- "types-publisher": "Microsoft/types-publisher#production"
+ "types-publisher": "github:Microsoft/types-publisher#production"
}
}
diff --git a/types/a11y-dialog/a11y-dialog-tests.ts b/types/a11y-dialog/a11y-dialog-tests.ts
new file mode 100644
index 0000000000..3df694fcdd
--- /dev/null
+++ b/types/a11y-dialog/a11y-dialog-tests.ts
@@ -0,0 +1,30 @@
+import A11yDialog = require('a11y-dialog');
+
+const dialogEl = new A11yDialog(document.getElementById("test"));
+const dialogElTwo = new A11yDialog(document.getElementById("test"), document.getElementById("testContainer"));
+const dialogElThree = new A11yDialog(document.getElementById("test"), "dummy-element");
+
+dialogEl.show();
+dialogEl.hide();
+dialogElTwo.destroy();
+dialogElThree.create();
+
+// Test out interfaces that extends Element.
+dialogEl.on("show", (el: HTMLElement) => {
+ el.textContent;
+});
+
+// Test out element and event.
+dialogEl.on("create", (el: HTMLElement, evt) => {
+ el.textContent;
+
+ evt.target;
+});
+
+dialogEl.on('hide', () => {
+ const t = 5;
+});
+
+dialogEl.off("show", (el: HTMLElement) => {
+ el.textContent;
+});
diff --git a/types/a11y-dialog/index.d.ts b/types/a11y-dialog/index.d.ts
new file mode 100644
index 0000000000..105aaa70e7
--- /dev/null
+++ b/types/a11y-dialog/index.d.ts
@@ -0,0 +1,31 @@
+// Type definitions for a11y-dialog 5.2
+// Project: https://github.com/edenspiekermann/a11y-dialog
+// Definitions by: Yuto
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.8
+
+type DialogEvents = "show" | "hide" | "destroy" | "create";
+declare class A11yDialog {
+ constructor(el: Element | null, containers?: NodeList | Element | string | null);
+ /**
+ * Shows the dialog.
+ */
+ show(): void;
+ /**
+ * Hides the dialog.
+ */
+ hide(): void;
+ /**
+ * Unbind click listeners from dialog openers and closers and remove all bound custom event listeners registered with `.on()`
+ */
+ destroy(): void;
+ /**
+ * Bind click listeners to dialog openers and closers.
+ */
+ create(el?: Element | null, containers?: NodeList | Element | string | null): void;
+
+ on(evt: DialogEvents, callback: (dialogElement: any, event: Event) => void): void;
+ off(evt: DialogEvents, callback: (dialogElement: any, event: Event) => void): void;
+}
+
+export = A11yDialog;
diff --git a/types/a11y-dialog/tsconfig.json b/types/a11y-dialog/tsconfig.json
new file mode 100644
index 0000000000..a27d99d6bf
--- /dev/null
+++ b/types/a11y-dialog/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [
+ "es6",
+ "dom"
+ ],
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "baseUrl": "../",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true,
+ "jsx": "react"
+ },
+ "files": [
+ "index.d.ts",
+ "a11y-dialog-tests.ts"
+ ]
+}
\ No newline at end of file
diff --git a/types/a11y-dialog/tslint.json b/types/a11y-dialog/tslint.json
new file mode 100644
index 0000000000..e60c15844f
--- /dev/null
+++ b/types/a11y-dialog/tslint.json
@@ -0,0 +1,3 @@
+{
+ "extends": "dtslint/dt.json"
+}
\ No newline at end of file
diff --git a/types/accept/accept-tests.ts b/types/accept/accept-tests.ts
new file mode 100644
index 0000000000..011216ede4
--- /dev/null
+++ b/types/accept/accept-tests.ts
@@ -0,0 +1,29 @@
+import * as accept from 'accept';
+
+accept.charsets("iso-8859-5, unicode-1-1;q=0.8"); // charset === "iso-8859-5"
+accept.charset("iso-8859-5, unicode-1-1;q=0.8", ["unicode-1-1"]); // charset === "unicode-1-1"
+
+accept.encoding("gzip, deflate, sdch"); // encoding === "gzip"
+accept.encoding("gzip, deflate, sdch", ["deflate", "identity"]);
+
+const encodings = accept.encodings("compress;q=0.5, gzip;q=1.0"); // encodings === ["gzip", "compress", "identity"]
+encodings.lastIndexOf('');
+
+accept.language("en;q=0.7, en-GB;q=0.8");
+accept.language("en;q=0.7, en-GB;q=0.8", ["en-gb"]); // language === "en-GB"
+const languages = accept.languages("da, en;q=0.7, en-GB;q=0.8"); // languages === ["da", "en-GB", "en"]
+languages.lastIndexOf('');
+
+const mediaTypes = accept.mediaTypes("text/plain, application/json;q=0.5, text/html, */*;q=0.1");
+// mediaTypes === ["text/plain", "text/html", "application/json", "*/*"]
+mediaTypes.lastIndexOf('');
+const headers = {
+ accept: 'text/plain, application/json;q=0.5, text/html, */*;q=0.1',
+ 'accept-language': 'da, en;q=0.7, en-GB;q=0.8'
+};
+
+const all = accept.parseAll(headers);
+all.charsets.length;
+all.encodings.length;
+all.languages.length;
+all.mediaTypes.length;
diff --git a/types/accept/index.d.ts b/types/accept/index.d.ts
new file mode 100644
index 0000000000..b067ea4306
--- /dev/null
+++ b/types/accept/index.d.ts
@@ -0,0 +1,21 @@
+// Type definitions for accept 3.1
+// Project: https://github.com/hapijs/accept#readme
+// Definitions by: feinoujc
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.1
+
+export function charset(charsetHeader?: string, preferences?: string[]): string;
+export function charsets(charsetHeader?: string): string[];
+export function encoding(encodingHeader?: string, preferences?: string[]): string;
+export function encodings(encodingHeader?: string): string[];
+export function language(languageHeader?: string, preferences?: string[]): string;
+export function languages(languageHeader?: string): string[];
+export function mediaTypes(mediaTypeHeader?: string): string[];
+export function parseAll(
+ headers: Record
+): {
+ charsets: string[];
+ encodings: string[];
+ languages: string[];
+ mediaTypes: string[];
+};
diff --git a/types/gitlab/tsconfig.json b/types/accept/tsconfig.json
similarity index 94%
rename from types/gitlab/tsconfig.json
rename to types/accept/tsconfig.json
index f1297faf67..cb192697d5 100644
--- a/types/gitlab/tsconfig.json
+++ b/types/accept/tsconfig.json
@@ -18,6 +18,6 @@
},
"files": [
"index.d.ts",
- "gitlab-tests.ts"
+ "accept-tests.ts"
]
}
diff --git a/types/babel__parser/tslint.json b/types/accept/tslint.json
similarity index 100%
rename from types/babel__parser/tslint.json
rename to types/accept/tslint.json
diff --git a/types/aframe/test/aframe-io-tests.ts b/types/aframe/test/aframe-io-tests.ts
index 77fe716390..1120b50be8 100644
--- a/types/aframe/test/aframe-io-tests.ts
+++ b/types/aframe/test/aframe-io-tests.ts
@@ -533,9 +533,10 @@ AFRAME.registerComponent('audioanalyser-waveform', {
rings.forEach(function transformRing(ring: THREE.Line, index: number) {
var normLevel;
normLevel = levels[RINGCOUNT - index - 1] + 0.01; // Avoid scaling by 0.
- (ring.material as THREE.LineBasicMaterial).color.setHSL(colors[index], 1, normLevel);
- ring.material.linewidth = normLevel * 3;
- ring.material.opacity = normLevel;
+ const lineMaterial = ring.material as THREE.LineBasicMaterial;
+ lineMaterial.color.setHSL(colors[index], 1, normLevel);
+ lineMaterial.linewidth = normLevel * 3;
+ lineMaterial.opacity = normLevel;
ring.scale.z = normLevel;
});
},
diff --git a/types/agenda/index.d.ts b/types/agenda/index.d.ts
index 75246ecda3..37b9ce6b2c 100644
--- a/types/agenda/index.d.ts
+++ b/types/agenda/index.d.ts
@@ -64,7 +64,7 @@ declare class Agenda extends EventEmitter {
defaultConcurrency(value: number): this;
/**
- * Takes a number shich specifies the max number jobs that can be locked at any given moment. By default it is
+ * Takes a number which specifies the max number jobs that can be locked at any given moment. By default it is
* 0 for no max.
* @param value The value to set.
*/
@@ -189,7 +189,7 @@ declare namespace Agenda {
defaultLockLimit?: number;
/**
- * Takes a number shich specifies the max number jobs that can be locked at any given moment. By default it is
+ * Takes a number which specifies the max number jobs that can be locked at any given moment. By default it is
* 0 for no max.
*/
lockLimit?: number;
diff --git a/types/ajv-errors/index.d.ts b/types/ajv-errors/index.d.ts
index fed9e4585f..3b5c2d2322 100644
--- a/types/ajv-errors/index.d.ts
+++ b/types/ajv-errors/index.d.ts
@@ -2,6 +2,7 @@
// Project: https://github.com/epoberezkin/ajv-errors
// Definitions by: Afshawn Lotfi
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.2
import { Ajv } from "ajv";
diff --git a/types/ale-url-parser/ale-url-parser-tests.ts b/types/ale-url-parser/ale-url-parser-tests.ts
new file mode 100644
index 0000000000..2a5d9fe632
--- /dev/null
+++ b/types/ale-url-parser/ale-url-parser-tests.ts
@@ -0,0 +1,22 @@
+import { parse, stringify } from 'ale-url-parser';
+
+let url;
+let urlObject;
+
+url = stringify({});
+console.log(url);
+
+url = stringify({
+ protocol: 'protocol',
+ host: 'host',
+ path: ['foo', 'bar', 'baz'],
+ hash: 'hash',
+ query: {
+ foo: 1,
+ bar: [2, '3']
+ }
+});
+console.log(url);
+
+urlObject = parse('//any.dom.ain.co.m/foo/bar?test=1&test=2#hash');
+console.log(urlObject);
diff --git a/types/ale-url-parser/index.d.ts b/types/ale-url-parser/index.d.ts
new file mode 100644
index 0000000000..31b2d2fd03
--- /dev/null
+++ b/types/ale-url-parser/index.d.ts
@@ -0,0 +1,29 @@
+// Type definitions for ale-url-parser 0.10
+// Project: https://github.com/msn0/ale-url-parser#readme
+// Definitions by: Michał Jezierski
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.1
+
+export interface QueryParams {
+ [key: string]: any;
+}
+
+export interface UrlObject {
+ protocol?: string;
+ host?: string;
+ path?: string[];
+ query?: QueryParams;
+ hash?: string;
+}
+
+/**
+ * Parse url string into url object.
+ * @return UrlObject
+ */
+export function parse(url: string): UrlObject;
+
+/**
+ * Stringify url object into url string.
+ * @return string
+ */
+export function stringify(urlObject: UrlObject): string;
diff --git a/types/ale-url-parser/tsconfig.json b/types/ale-url-parser/tsconfig.json
new file mode 100644
index 0000000000..2d18200901
--- /dev/null
+++ b/types/ale-url-parser/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [
+ "es6",
+ "dom"
+ ],
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "baseUrl": "../",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true
+ },
+ "files": [
+ "index.d.ts",
+ "ale-url-parser-tests.ts"
+ ]
+}
diff --git a/types/deepmerge/tslint.json b/types/ale-url-parser/tslint.json
similarity index 100%
rename from types/deepmerge/tslint.json
rename to types/ale-url-parser/tslint.json
diff --git a/types/algoliasearch/algoliasearch-tests.ts b/types/algoliasearch/algoliasearch-tests.ts
index b148e84599..cbd98d253a 100644
--- a/types/algoliasearch/algoliasearch-tests.ts
+++ b/types/algoliasearch/algoliasearch-tests.ts
@@ -21,6 +21,7 @@ let _algoliaResponse: Response = {
processingTimeMS: 32,
query: '',
params: '',
+ index: '',
};
let _clientOptions: ClientOptions = {
@@ -103,7 +104,7 @@ let _algoliaQueryParameters: QueryParameters = {
filters: '',
attributesToRetrieve: [''],
restrictSearchableAttributes: [''],
- facets: '',
+ facets: [''],
facetingAfterDistinct: true,
maxValuesPerFacet: 2,
attributesToHighlight: [''],
@@ -121,28 +122,29 @@ let _algoliaQueryParameters: QueryParameters = {
typoTolerance: false,
allowTyposOnNumericTokens: false,
ignorePlurals: false,
- disableTypoToleranceOnAttributes: '',
+ disableTypoToleranceOnAttributes: [''],
aroundLatLng: '',
aroundLatLngViaIP: '',
aroundRadius: 0,
aroundPrecision: 0,
minimumAroundRadius: 0,
insideBoundingBox: [[0]],
- queryType: '',
+ queryType: 'prefixAll',
insidePolygon: [[0]],
- removeWordsIfNoResults: '',
+ removeWordsIfNoResults: 'firstWords',
advancedSyntax: false,
optionalWords: [''],
removeStopWords: [''],
disableExactOnAttributes: [''],
- exactOnSingleWordQuery: '',
- alternativesAsExact: true,
+ exactOnSingleWordQuery: 'attribute',
+ alternativesAsExact: ["ignorePlurals"],
distinct: 0,
getRankingInfo: false,
numericAttributesToIndex: [''],
+ numericAttributesForFiltering: [''],
numericFilters: [''],
- tagFilters: '',
- facetFilters: '',
+ tagFilters: [''],
+ facetFilters: [''],
analytics: false,
analyticsTags: [''],
synonyms: true,
@@ -172,8 +174,38 @@ index.partialUpdateObjects([{}], false).then(() => {});
let indexName : string = index.indexName;
// complete copy
-client.copyIndex('from', 'to').then(()=>{})
-client.copyIndex('from', 'to', ()=> {})
+client.copyIndex('from', 'to').then(()=>{});
+client.copyIndex('from', 'to', ()=> {});
// with scope
-client.copyIndex('from', 'to', ['settings']).then(()=>{})
-client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {})
+client.copyIndex('from', 'to', ['settings']).then(()=>{});
+client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {});
+
+// Browsing
+const browser = index.browseAll();
+index.browseAll('query');
+index.browseAll('', {
+ filters: 'dog',
+});
+
+let hits: Object[] = [];
+
+browser.on('result', function onResult(content) {
+ hits = hits.concat(content.hits);
+});
+
+browser.on('end', function onEnd() {
+ const _message = `We got ${hits.length} hits`
+});
+
+browser.on('error', function onError(err) {
+ throw err;
+});
+
+browser.stop();
+
+index.browse("", {
+ advancedSyntax: false,
+ attributesToRetrieve: ['dogs']
+});
+client.copyIndex('from', 'to', ['settings']).then(()=>{});
+client.copyIndex('from', 'to', ['synonyms', 'rules'], ()=> {});
diff --git a/types/algoliasearch/index.d.ts b/types/algoliasearch/index.d.ts
index a0bb0e0e45..04291996ba 100644
--- a/types/algoliasearch/index.d.ts
+++ b/types/algoliasearch/index.d.ts
@@ -1,11 +1,14 @@
-// Type definitions for algoliasearch-client-js 3.27.0
+// Type definitions for algoliasearch-client-js 3.30.0
// Project: https://github.com/algolia/algoliasearch-client-js
// Definitions by: Baptiste Coquelle
// Haroen Viaene
// Aurélien Hervé
// Samuel Vaillant
+// Kai Eichinger
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.2
+// TypeScript Version: 2.8
+
+type Omit = Pick>
declare namespace algoliasearch {
/**
@@ -611,6 +614,11 @@ declare namespace algoliasearch {
options: SearchForFacetValues.Parameters,
cb: (err: Error, res: SearchForFacetValues.Response) => void
): void;
+ /**
+ * Browse an index
+ * https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
+ */
+ browse(query: string, parameters: BrowseParameters, cb: (err: Error, res: BrowseResponse) => void): void;
/**
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -620,7 +628,7 @@ declare namespace algoliasearch {
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browse(query: string): Promise;
+ browse(query: string, parameters?: BrowseParameters): Promise;
/**
* Browse an index from a cursor
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -638,7 +646,7 @@ declare namespace algoliasearch {
* Browse an entire index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browseAll(): Promise;
+ browseAll(query?: string, parameters?: BrowseParameters): Browser;
/**
* Clear an index content
* https://github.com/algolia/algoliasearch-client-js#clear-index---clearindex
@@ -966,6 +974,22 @@ declare namespace algoliasearch {
query: string;
processingTimeMS: number;
}
+ type BrowseParameters = Omit<
+ QueryParameters,
+ | "typoTolerance"
+ | "distinct"
+ | "facets"
+ | "getRankingInfo"
+ | "attributesToHighlight"
+ | "attributesToSnippet"
+ >
+ interface Browser {
+ on(type: "error", cb: (err: Error) => void): void
+ on(type: "end", cb: () => void): void
+ on(type: "stop", cb: () => void): void
+ on(type: "result", cb: (content: BrowseResponse) => void): void
+ stop(): void
+ }
/**
* Describes a synonym object
*/
@@ -1099,120 +1123,121 @@ declare namespace algoliasearch {
userToken?: string;
}
interface QueryParameters {
+ /**
+ * Query string used to perform the search
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/query/
+ */
+ query?: string;
+ /**
+ * Filter the query with numeric, facet or/and tag filters
+ * default: ""
+ * https://www.algolia.com/doc/api-reference/api-parameters/filters/
+ */
+ filters?: string;
+ /**
+ * A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
+ * default: *
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToRetrieve/
+ */
+ attributesToRetrieve?: string[];
+ /**
+ * List of attributes you want to use for textual search
+ * default: attributeToIndex
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictSearchableAttributes/
+ */
+ restrictSearchableAttributes?: string[];
+ /**
+ * You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facets/
+ */
+ facets?: string[];
/**
- * Query string used to perform the search
- * default: ''
- * https://github.com/algolia/algoliasearch-client-js#query
- */
- query?: string;
- /**
- * Filter the query with numeric, facet or/and tag filters
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#filters
- */
- filters?: string;
- /**
- * A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
- * default: *
- * https://github.com/algolia/algoliasearch-client-js#attributestoretrieve
- */
- attributesToRetrieve?: string[];
- /**
- * List of attributes you want to use for textual search
- * default: attributeToIndex
- * https://github.com/algolia/algoliasearch-client-js#restrictsearchableattributes
- */
- restrictSearchableAttributes?: string[];
- /**
- * You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#facets
- */
- facets?: string | string[];
- /**
* Force faceting to be applied after de-duplication (via the Distinct setting).
- * When using the distinct setting in combination with faceting, facet counts may be higher than expected.
- * This is because the engine, by default, computes faceting before applying de-duplication (distinct).
+ * When using the distinct setting in combination with faceting, facet counts may be higher than expected.
+ * This is because the engine, by default, computes faceting before applying de-duplication (distinct).
* When facetingAfterDistinct is set to true, the engine calculates faceting after the de-duplication has been applied.
* default ""
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetingAfterDistinct/
*/
facetingAfterDistinct?: boolean;
/**
* Limit the number of facet values returned for each facet.
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#maxvaluesperfacet
+ * default: 100
+ * https://www.algolia.com/doc/api-reference/api-parameters/maxValuesPerFacet/
*/
maxValuesPerFacet?: number;
/**
* Default list of attributes to highlight. If set to null, all indexed attributes are highlighted.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestohighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/
*/
attributesToHighlight?: string[];
/**
* Default list of attributes to snippet alongside the number of words to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestosnippet
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/
*/
attributesToSnippet?: string[];
/**
* Specify the string that is inserted before the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightpretag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPreTag/
*/
highlightPreTag?: string;
/**
* Specify the string that is inserted after the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightposttag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPostTag/
*/
highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
* default: …
- * https://github.com/algolia/algoliasearch-client-js#snippetellipsistext
+ * https://www.algolia.com/doc/api-reference/api-parameters/snippetEllipsisText/
*/
snippetEllipsisText?: string;
/**
* If set to true, restrict arrays in highlights and snippets to items that matched the query at least partially else return all array items in highlights and snippets
* default: false
- * https://github.com/algolia/algoliasearch-client-js#restricthighlightandsnippetarrays
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictHighlightAndSnippetArrays/
*/
restrictHighlightAndSnippetArrays?: boolean;
/**
* Pagination parameter used to select the number of hits per page
* default: 20
- * https://github.com/algolia/algoliasearch-client-js#hitsperpage
+ * https://www.algolia.com/doc/api-reference/api-parameters/hitsPerPage/
*/
hitsPerPage?: number;
/**
* Pagination parameter used to select the page to retrieve.
* default: 0
- * https://github.com/algolia/algoliasearch-client-js#page
+ * https://www.algolia.com/doc/api-reference/api-parameters/page/
*/
page?: number;
/**
* Offset of the first hit to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#offset
+ * https://www.algolia.com/doc/api-reference/api-parameters/offset/
*/
offset?: number;
/**
* Number of hits to return.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#length
+ * https://www.algolia.com/doc/api-reference/api-parameters/length/
*/
length?: number;
/**
* The minimum number of characters needed to accept one typo.
* default: 4
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor1typo
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor1Typo/
*/
minWordSizefor1Typo?: number;
/**
* The minimum number of characters needed to accept two typo.
* fault: 8
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor2Typos/
*/
minWordSizefor2Typos?: number;
/**
@@ -1222,62 +1247,62 @@ declare namespace algoliasearch {
* 'false' The typo tolerance is disabled. All results with typos will be hidden.
* 'min' Only keep results with the minimum number of typos
* 'strict' Hits matching with 2 typos are not retrieved if there are some matching without typos.
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/typoTolerance/
*/
typoTolerance?: boolean;
/**
* If set to false, disables typo tolerance on numeric tokens (numbers).
* default:
- * https://github.com/algolia/algoliasearch-client-js#allowtyposonnumerictokens
+ * https://www.algolia.com/doc/api-reference/api-parameters/allowTyposOnNumericTokens/
*/
allowTyposOnNumericTokens?: boolean;
/**
* If set to true, plural won't be considered as a typo
* default: false
- * https://github.com/algolia/algoliasearch-client-js#ignoreplurals
+ * https://www.algolia.com/doc/api-reference/api-parameters/ignorePlurals/
*/
ignorePlurals?: boolean;
/**
* List of attributes on which you want to disable typo tolerance
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#disabletypotoleranceonattributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableTypoToleranceOnAttributes/
*/
- disableTypoToleranceOnAttributes?: string;
+ disableTypoToleranceOnAttributes?: string[];
/**
* Search for entries around a given location
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlng
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLng/
*/
aroundLatLng?: string;
/**
* Search for entries around a given latitude/longitude automatically computed from user IP address.
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlngviaip
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLngViaIP/
*/
aroundLatLngViaIP?: string;
/**
* Control the radius associated with a geo search. Defined in meters.
* default: null
* You can specify aroundRadius=all if you want to compute the geo distance without filtering in a geo area
- * https://github.com/algolia/algoliasearch-client-js#aroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundRadius/
*/
aroundRadius?: number | 'all';
/**
* Control the precision of a geo search
* default: null
- * https://github.com/algolia/algoliasearch-client-js#aroundprecision
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundPrecision/
*/
aroundPrecision?: number;
/**
* Define the minimum radius used for a geo search when aroundRadius is not set.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#minimumaroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/minimumAroundRadius/
*/
minimumAroundRadius?: number;
/**
* Search entries inside a given area defined by the two extreme points of a rectangle
* default: null
- * https://github.com/algolia/algoliasearch-client-js#insideboundingbox
+ * https://www.algolia.com/doc/api-reference/api-parameters/insideBoundingBox/
*/
insideBoundingBox?: number[][];
/**
@@ -1286,13 +1311,13 @@ declare namespace algoliasearch {
* 'prefixAll' All query words are interpreted as prefixes. This option is not recommended.
* 'prefixLast' Only the last word is interpreted as a prefix (default behavior).
* 'prefixNone' No query word is interpreted as a prefix. This option is not recommended.
- * https://github.com/algolia/algoliasearch-client-js#querytype
+ * https://www.algolia.com/doc/api-reference/api-parameters/queryType/
*/
- queryType?: any;
+ queryType?: "prefixAll"|"prefixLast"|"prefixNone";
/**
* Search entries inside a given area defined by a set of points
* defauly: ''
- * https://github.com/algolia/algoliasearch-client-js#insidepolygon
+ * https://www.algolia.com/doc/api-reference/api-parameters/insidePolygon/
*/
insidePolygon?: number[][];
/**
@@ -1302,19 +1327,19 @@ declare namespace algoliasearch {
* 'firstWords' When a query does not return any results, the first word will be added as optional
* 'allOptional' When a query does not return any results, a second trial will be made with all words as optional
* 'none' No specific processing is done when a query does not return any results
- * https://github.com/algolia/algoliasearch-client-js#removewordsifnoresults
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeWordsIfNoResults/
*/
- removeWordsIfNoResults?: string;
+ removeWordsIfNoResults?: "none"|"lastWords"|"firstWords"|"allOptional";
/**
* Enables the advanced query syntax
* default: false
- * https://github.com/algolia/algoliasearch-client-js#advancedsyntax
+ * https://www.algolia.com/doc/api-reference/api-parameters/advancedSyntax/
*/
advancedSyntax?: boolean;
/**
* A string that contains the comma separated list of words that should be considered as optional when found in the query
* default: []
- * https://github.com/algolia/algoliasearch-client-js#optionalwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/optionalWords/
*/
optionalWords?: string[];
/**
@@ -1322,13 +1347,13 @@ declare namespace algoliasearch {
* default: false
* true|false: enable or disable stop words for all 41 supported languages; or
* a list of language ISO codes (as a comma-separated string) for which stop words should be enable
- * https://github.com/algolia/algoliasearch-client-js#removestopwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeStopWords/
*/
- removeStopWords?: string[];
+ removeStopWords?: boolean|string[];
/**
* List of attributes on which you want to disable the computation of exact criteria
* default: []
- * https://github.com/algolia/algoliasearch-client-js#disableexactonattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableExactOnAttributes/
*/
disableExactOnAttributes?: string[];
/**
@@ -1337,81 +1362,90 @@ declare namespace algoliasearch {
* 'none': no exact on single word query
* 'word': exact set to 1 if the query word is found in the record
* 'attribute': exact set to 1 if there is an attribute containing a string equals to the query
- * https://github.com/algolia/algoliasearch-client-js#exactonsinglewordquery
+ * https://www.algolia.com/doc/api-reference/api-parameters/exactOnSingleWordQuery/
*/
- exactOnSingleWordQuery?: string;
+ exactOnSingleWordQuery?: "attribute"|"none"|"word";
/**
* Specify the list of approximation that should be considered as an exact match in the ranking formula
* default: ['ignorePlurals', 'singleWordSynonym']
* 'ignorePlurals': alternative words added by the ignorePlurals feature
* 'singleWordSynonym': single-word synonym (For example "NY" = "NYC")
* 'multiWordsSynonym': multiple-words synonym
- * https://github.com/algolia/algoliasearch-client-js#alternativesasexact
+ * https://www.algolia.com/doc/api-reference/api-parameters/alternativesAsExact/
*/
- alternativesAsExact?: any;
+ alternativesAsExact?: Array<"ignorePlurals"|"singleWordSynonym"|"multiWordsSynonym">;
/**
* If set to 1, enables the distinct feature, disabled by default, if the attributeForDistinct index setting is set.
- * https://github.com/algolia/algoliasearch-client-js#distinct
+ * https://www.algolia.com/doc/api-reference/api-parameters/distinct/
*/
- distinct?: any;
+ distinct?: number|boolean;
/**
* If set to true, the result hits will contain ranking information in the _rankingInfo attribute.
* default: false
- * https://github.com/algolia/algoliasearch-client-js#getrankinginfo
+ * https://www.algolia.com/doc/api-reference/api-parameters/getRankingInfo/
*/
getRankingInfo?: boolean;
/**
+ * @deprecated Use `numericAttributesForFiltering` instead
* All numerical attributes are automatically indexed as numerical filters
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#numericattributestoindex
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
*/
numericAttributesToIndex?: string[];
+ /**
+ * All numerical attributes are automatically indexed as numerical filters
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
+ */
+ numericAttributesForFiltering?: string[];
/**
* @deprecated please use filters instead
* A string that contains the comma separated list of numeric filters you want to apply.
- * https://github.com/algolia/algoliasearch-client-js#numericfilters-deprecated
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericFilters/
*/
numericFilters?: string[];
/**
* @deprecated
+ *
* Filter the query by a set of tags.
- * https://github.com/algolia/algoliasearch-client-js#tagfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/tagFilters/
*/
- tagFilters?: string;
+ tagFilters?: string[];
/**
- * @deprecated
* Filter the query by a set of facets.
- * https://github.com/algolia/algoliasearch-client-js#facetfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/
*/
- facetFilters?: string | string[]
+ facetFilters?: string[]|string[][];
/**
* If set to false, this query will not be taken into account in the analytics feature.
* default true
- * https://github.com/algolia/algoliasearch-client-js#analytics
+ * https://www.algolia.com/doc/api-reference/api-parameters/analytics/
*/
analytics?: boolean;
/**
* If set, tag your query with the specified identifiers
- * default: null
- * https://github.com/algolia/algoliasearch-client-js#analyticstags
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/
*/
analyticsTags?: string[];
/**
* If set to false, the search will not use the synonyms defined for the targeted index.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#synonyms
+ * https://www.algolia.com/doc/api-reference/api-parameters/synonyms/
*/
synonyms?: boolean;
/**
* If set to false, words matched via synonym expansion will not be replaced by the matched synonym in the highlighted result.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#replacesynonymsinhighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/replaceSynonymsInHighlight/
*/
replaceSynonymsInHighlight?: boolean;
/**
* Configure the precision of the proximity ranking criterion
* default: 1
- * https://github.com/algolia/algoliasearch-client-js#minproximity
+ * https://www.algolia.com/doc/api-reference/api-parameters/minProximity/
*/
minProximity?: number;
@@ -1464,7 +1498,7 @@ declare namespace algoliasearch {
interface Task {
taskID: number;
createdAt: string;
- objectID?: string;
+ objectID?: string;
}
interface TaskStatus {
@@ -1747,42 +1781,42 @@ declare namespace algoliasearch {
interface Response {
/**
* Contains all the hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hits: any[];
/**
* Current page
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
page: number;
/**
* Number of total hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbHits: number;
/**
* Number of pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbPages: number;
/**
* Number of hits per pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hitsPerPage: number;
/**
* Engine processing time (excluding network transfer)
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
processingTimeMS: number;
/**
* Query used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
query: string;
/**
* GET parameters used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
params: string;
facets?: {
@@ -1796,6 +1830,16 @@ declare namespace algoliasearch {
sum: number,
};
};
+ /**
+ * The index name is only set when searching multiple indices.
+ * https://www.algolia.com/doc/api-reference/api-methods/multiple-queries/?language=javascript#response
+ */
+ index?: string;
+ /**
+ * The cursor is only set when browsing the index.
+ * https://www.algolia.com/doc/api-reference/api-methods/browse/
+ */
+ cursor?: string;
}
interface MultiResponse {
diff --git a/types/algoliasearch/lite/index.d.ts b/types/algoliasearch/lite/index.d.ts
index 4f068d5647..ce58d6a428 100644
--- a/types/algoliasearch/lite/index.d.ts
+++ b/types/algoliasearch/lite/index.d.ts
@@ -1,12 +1,15 @@
-// Type definitions for algoliasearch-client-js 3.27.0
+// Type definitions for algoliasearch-client-js 3.30.0
// Project: https://github.com/algolia/algoliasearch-client-js
// Definitions by: Baptiste Coquelle
// Haroen Viaene
// Aurélien Hervé
// Samuel Vaillant
// Claas Brüggemann
+// Kai Eichinger
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.2
+// TypeScript Version: 2.8
+
+type Omit = Pick>
declare namespace algoliasearch {
/**
@@ -130,6 +133,11 @@ declare namespace algoliasearch {
options: SearchForFacetValues.Parameters,
cb: (err: Error, res: SearchForFacetValues.Response) => void
): void;
+ /**
+ * Browse an index
+ * https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
+ */
+ browse(query: string, parameters: BrowseParameters, cb: (err: Error, res: BrowseResponse) => void): void;
/**
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -139,7 +147,7 @@ declare namespace algoliasearch {
* Browse an index
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
*/
- browse(query: string): Promise;
+ browse(query: string, parameters?: BrowseParameters): Promise;
/**
* Browse an index from a cursor
* https://github.com/algolia/algoliasearch-client-js#backup--export-an-index---browse
@@ -194,114 +202,122 @@ declare namespace algoliasearch {
query: string;
processingTimeMS: number;
}
-
+ type BrowseParameters = Omit<
+ QueryParameters,
+ | "typoTolerance"
+ | "distinct"
+ | "facets"
+ | "getRankingInfo"
+ | "attributesToHighlight"
+ | "attributesToSnippet"
+ >
interface QueryParameters {
/**
* Query string used to perform the search
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#query
+ * https://www.algolia.com/doc/api-reference/api-parameters/query/
*/
query?: string;
/**
* Filter the query with numeric, facet or/and tag filters
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#filters
+ * https://www.algolia.com/doc/api-reference/api-parameters/filters/
*/
filters?: string;
/**
* A string that contains the list of attributes you want to retrieve in order to minimize the size of the JSON answer.
* default: *
- * https://github.com/algolia/algoliasearch-client-js#attributestoretrieve
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToRetrieve/
*/
attributesToRetrieve?: string[];
/**
* List of attributes you want to use for textual search
* default: attributeToIndex
- * https://github.com/algolia/algoliasearch-client-js#restrictsearchableattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictSearchableAttributes/
*/
restrictSearchableAttributes?: string[];
/**
* You can use facets to retrieve only a part of your attributes declared in attributesForFaceting attributes
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#facets
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facets/
*/
- facets?: string;
+ facets?: string[];
/**
* Limit the number of facet values returned for each facet.
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#maxvaluesperfacet
+ * default: 100
+ * https://www.algolia.com/doc/api-reference/api-parameters/maxValuesPerFacet/
*/
maxValuesPerFacet?: number;
/**
* Default list of attributes to highlight. If set to null, all indexed attributes are highlighted.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestohighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/
*/
attributesToHighlight?: string[];
/**
* Default list of attributes to snippet alongside the number of words to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#attributestosnippet
+ * https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/
*/
attributesToSnippet?: string[];
/**
* Specify the string that is inserted before the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightpretag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPreTag/
*/
highlightPreTag?: string;
/**
* Specify the string that is inserted after the highlighted parts in the query result
* default:
- * https://github.com/algolia/algoliasearch-client-js#highlightposttag
+ * https://www.algolia.com/doc/api-reference/api-parameters/highlightPostTag/
*/
highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
* default: …
- * https://github.com/algolia/algoliasearch-client-js#snippetellipsistext
+ * https://www.algolia.com/doc/api-reference/api-parameters/snippetEllipsisText/
*/
snippetEllipsisText?: string;
/**
* If set to true, restrict arrays in highlights and snippets to items that matched the query at least partially else return all array items in highlights and snippets
* default: false
- * https://github.com/algolia/algoliasearch-client-js#restricthighlightandsnippetarrays
+ * https://www.algolia.com/doc/api-reference/api-parameters/restrictHighlightAndSnippetArrays/
*/
restrictHighlightAndSnippetArrays?: boolean;
/**
* Pagination parameter used to select the number of hits per page
* default: 20
- * https://github.com/algolia/algoliasearch-client-js#hitsperpage
+ * https://www.algolia.com/doc/api-reference/api-parameters/hitsPerPage/
*/
hitsPerPage?: number;
/**
* Pagination parameter used to select the page to retrieve.
* default: 0
- * https://github.com/algolia/algoliasearch-client-js#page
+ * https://www.algolia.com/doc/api-reference/api-parameters/page/
*/
page?: number;
/**
* Offset of the first hit to return
* default: null
- * https://github.com/algolia/algoliasearch-client-js#offset
+ * https://www.algolia.com/doc/api-reference/api-parameters/offset/
*/
offset?: number;
/**
* Number of hits to return.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#length
+ * https://www.algolia.com/doc/api-reference/api-parameters/length/
*/
length?: number;
/**
* The minimum number of characters needed to accept one typo.
* default: 4
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor1typo
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor1Typo/
*/
minWordSizefor1Typo?: number;
/**
* The minimum number of characters needed to accept two typo.
* fault: 8
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/minWordSizefor2Typos/
*/
minWordSizefor2Typos?: number;
/**
@@ -311,62 +327,62 @@ declare namespace algoliasearch {
* 'false' The typo tolerance is disabled. All results with typos will be hidden.
* 'min' Only keep results with the minimum number of typos
* 'strict' Hits matching with 2 typos are not retrieved if there are some matching without typos.
- * https://github.com/algolia/algoliasearch-client-js#minwordsizefor2typos
+ * https://www.algolia.com/doc/api-reference/api-parameters/typoTolerance/
*/
typoTolerance?: boolean;
/**
* If set to false, disables typo tolerance on numeric tokens (numbers).
* default:
- * https://github.com/algolia/algoliasearch-client-js#allowtyposonnumerictokens
+ * https://www.algolia.com/doc/api-reference/api-parameters/allowTyposOnNumericTokens/
*/
allowTyposOnNumericTokens?: boolean;
/**
* If set to true, plural won't be considered as a typo
* default: false
- * https://github.com/algolia/algoliasearch-client-js#ignoreplurals
+ * https://www.algolia.com/doc/api-reference/api-parameters/ignorePlurals/
*/
ignorePlurals?: boolean;
/**
* List of attributes on which you want to disable typo tolerance
- * default: ""
- * https://github.com/algolia/algoliasearch-client-js#disabletypotoleranceonattributes
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableTypoToleranceOnAttributes/
*/
- disableTypoToleranceOnAttributes?: string;
+ disableTypoToleranceOnAttributes?: string[];
/**
* Search for entries around a given location
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlng
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLng/
*/
aroundLatLng?: string;
/**
* Search for entries around a given latitude/longitude automatically computed from user IP address.
* default: ""
- * https://github.com/algolia/algoliasearch-client-js#aroundlatlngviaip
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLngViaIP/
*/
aroundLatLngViaIP?: string;
/**
* Control the radius associated with a geo search. Defined in meters.
* default: null
* You can specify aroundRadius=all if you want to compute the geo distance without filtering in a geo area
- * https://github.com/algolia/algoliasearch-client-js#aroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundRadius/
*/
aroundRadius?: number | 'all';
/**
* Control the precision of a geo search
* default: null
- * https://github.com/algolia/algoliasearch-client-js#aroundprecision
+ * https://www.algolia.com/doc/api-reference/api-parameters/aroundPrecision/
*/
aroundPrecision?: number;
/**
* Define the minimum radius used for a geo search when aroundRadius is not set.
* default: null
- * https://github.com/algolia/algoliasearch-client-js#minimumaroundradius
+ * https://www.algolia.com/doc/api-reference/api-parameters/minimumAroundRadius/
*/
minimumAroundRadius?: number;
/**
* Search entries inside a given area defined by the two extreme points of a rectangle
* default: null
- * https://github.com/algolia/algoliasearch-client-js#insideboundingbox
+ * https://www.algolia.com/doc/api-reference/api-parameters/insideBoundingBox/
*/
insideBoundingBox?: number[][];
/**
@@ -375,13 +391,13 @@ declare namespace algoliasearch {
* 'prefixAll' All query words are interpreted as prefixes. This option is not recommended.
* 'prefixLast' Only the last word is interpreted as a prefix (default behavior).
* 'prefixNone' No query word is interpreted as a prefix. This option is not recommended.
- * https://github.com/algolia/algoliasearch-client-js#querytype
+ * https://www.algolia.com/doc/api-reference/api-parameters/queryType/
*/
- queryType?: any;
+ queryType?: "prefixAll"|"prefixLast"|"prefixNone";
/**
* Search entries inside a given area defined by a set of points
* defauly: ''
- * https://github.com/algolia/algoliasearch-client-js#insidepolygon
+ * https://www.algolia.com/doc/api-reference/api-parameters/insidePolygon/
*/
insidePolygon?: number[][];
/**
@@ -391,19 +407,19 @@ declare namespace algoliasearch {
* 'firstWords' When a query does not return any results, the first word will be added as optional
* 'allOptional' When a query does not return any results, a second trial will be made with all words as optional
* 'none' No specific processing is done when a query does not return any results
- * https://github.com/algolia/algoliasearch-client-js#removewordsifnoresults
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeWordsIfNoResults/
*/
- removeWordsIfNoResults?: string;
+ removeWordsIfNoResults?: "none"|"lastWords"|"firstWords"|"allOptional";
/**
* Enables the advanced query syntax
* default: false
- * https://github.com/algolia/algoliasearch-client-js#advancedsyntax
+ * https://www.algolia.com/doc/api-reference/api-parameters/advancedSyntax/
*/
advancedSyntax?: boolean;
/**
* A string that contains the comma separated list of words that should be considered as optional when found in the query
* default: []
- * https://github.com/algolia/algoliasearch-client-js#optionalwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/optionalWords/
*/
optionalWords?: string[];
/**
@@ -411,13 +427,13 @@ declare namespace algoliasearch {
* default: false
* true|false: enable or disable stop words for all 41 supported languages; or
* a list of language ISO codes (as a comma-separated string) for which stop words should be enable
- * https://github.com/algolia/algoliasearch-client-js#removestopwords
+ * https://www.algolia.com/doc/api-reference/api-parameters/removeStopWords/
*/
- removeStopWords?: string[];
+ removeStopWords?: boolean|string[];
/**
* List of attributes on which you want to disable the computation of exact criteria
* default: []
- * https://github.com/algolia/algoliasearch-client-js#disableexactonattributes
+ * https://www.algolia.com/doc/api-reference/api-parameters/disableExactOnAttributes/
*/
disableExactOnAttributes?: string[];
/**
@@ -426,81 +442,90 @@ declare namespace algoliasearch {
* 'none': no exact on single word query
* 'word': exact set to 1 if the query word is found in the record
* 'attribute': exact set to 1 if there is an attribute containing a string equals to the query
- * https://github.com/algolia/algoliasearch-client-js#exactonsinglewordquery
+ * https://www.algolia.com/doc/api-reference/api-parameters/exactOnSingleWordQuery/
*/
- exactOnSingleWordQuery?: string;
+ exactOnSingleWordQuery?: "attribute"|"none"|"word";
/**
* Specify the list of approximation that should be considered as an exact match in the ranking formula
* default: ['ignorePlurals', 'singleWordSynonym']
* 'ignorePlurals': alternative words added by the ignorePlurals feature
* 'singleWordSynonym': single-word synonym (For example "NY" = "NYC")
* 'multiWordsSynonym': multiple-words synonym
- * https://github.com/algolia/algoliasearch-client-js#alternativesasexact
+ * https://www.algolia.com/doc/api-reference/api-parameters/alternativesAsExact/
*/
- alternativesAsExact?: any;
+ alternativesAsExact?: Array<"ignorePlurals"|"singleWordSynonym"|"multiWordsSynonym">;
/**
* If set to 1, enables the distinct feature, disabled by default, if the attributeForDistinct index setting is set.
- * https://github.com/algolia/algoliasearch-client-js#distinct
+ * https://www.algolia.com/doc/api-reference/api-parameters/distinct/
*/
- distinct?: any;
+ distinct?: number|boolean;
/**
* If set to true, the result hits will contain ranking information in the _rankingInfo attribute.
* default: false
- * https://github.com/algolia/algoliasearch-client-js#getrankinginfo
+ * https://www.algolia.com/doc/api-reference/api-parameters/getRankingInfo/
*/
getRankingInfo?: boolean;
/**
+ * @deprecated Use `numericAttributesForFiltering` instead
* All numerical attributes are automatically indexed as numerical filters
* default: ''
- * https://github.com/algolia/algoliasearch-client-js#numericattributestoindex
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
*/
numericAttributesToIndex?: string[];
+ /**
+ * All numerical attributes are automatically indexed as numerical filters
+ * default: ''
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericAttributesForFiltering/
+ */
+ numericAttributesForFiltering?: string[];
/**
* @deprecated please use filters instead
* A string that contains the comma separated list of numeric filters you want to apply.
- * https://github.com/algolia/algoliasearch-client-js#numericfilters-deprecated
+ * https://www.algolia.com/doc/api-reference/api-parameters/numericFilters/
*/
numericFilters?: string[];
/**
* @deprecated
+ *
* Filter the query by a set of tags.
- * https://github.com/algolia/algoliasearch-client-js#tagfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/tagFilters/
*/
- tagFilters?: string;
+ tagFilters?: string[];
/**
- * @deprecated
* Filter the query by a set of facets.
- * https://github.com/algolia/algoliasearch-client-js#facetfilters-deprecated
+ * Default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/
*/
- facetFilters?: string;
+ facetFilters?: string[]|string[][];
/**
* If set to false, this query will not be taken into account in the analytics feature.
* default true
- * https://github.com/algolia/algoliasearch-client-js#analytics
+ * https://www.algolia.com/doc/api-reference/api-parameters/analytics/
*/
analytics?: boolean;
/**
* If set, tag your query with the specified identifiers
- * default: null
- * https://github.com/algolia/algoliasearch-client-js#analyticstags
+ * default: []
+ * https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/
*/
analyticsTags?: string[];
/**
* If set to false, the search will not use the synonyms defined for the targeted index.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#synonyms
+ * https://www.algolia.com/doc/api-reference/api-parameters/synonyms/
*/
synonyms?: boolean;
/**
* If set to false, words matched via synonym expansion will not be replaced by the matched synonym in the highlighted result.
* default: true
- * https://github.com/algolia/algoliasearch-client-js#replacesynonymsinhighlight
+ * https://www.algolia.com/doc/api-reference/api-parameters/replaceSynonymsInHighlight/
*/
replaceSynonymsInHighlight?: boolean;
/**
* Configure the precision of the proximity ranking criterion
* default: 1
- * https://github.com/algolia/algoliasearch-client-js#minproximity
+ * https://www.algolia.com/doc/api-reference/api-parameters/minProximity/
*/
minProximity?: number;
@@ -530,42 +555,42 @@ declare namespace algoliasearch {
interface Response {
/**
* Contains all the hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hits: any[];
/**
* Current page
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
page: number;
/**
* Number of total hits matching the query
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbHits: number;
/**
* Number of pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
nbPages: number;
/**
* Number of hits per pages
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
hitsPerPage: number;
/**
* Engine processing time (excluding network transfer)
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
processingTimeMS: number;
/**
* Query used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
query: string;
/**
* GET parameters used to perform the search
- * https://github.com/algolia/algoliasearch-client-js#response-format
+ * https://www.algolia.com/doc/api-reference/api-methods/search/?language=javascript#response
*/
params: string;
facets?: {
@@ -579,6 +604,16 @@ declare namespace algoliasearch {
sum: number,
};
};
+ /**
+ * The index name is only set when searching multiple indices.
+ * https://www.algolia.com/doc/api-reference/api-methods/multiple-queries/?language=javascript#response
+ */
+ index?: string;
+ /**
+ * The cursor is only set when browsing the index.
+ * https://www.algolia.com/doc/api-reference/api-methods/browse/
+ */
+ cursor?: string;
}
interface MultiResponse {
diff --git a/types/ali-app/ali-app-tests.ts b/types/ali-app/ali-app-tests.ts
new file mode 100644
index 0000000000..a42301aed1
--- /dev/null
+++ b/types/ali-app/ali-app-tests.ts
@@ -0,0 +1,2153 @@
+(() => {
+ // https://docs.alipay.com/mini/api/ui-navigate
+ my.navigateTo({
+ url: 'new_page?count=100'
+ });
+ // test.js
+ Page({
+ onLoad(query: any) {
+ my.alert({
+ content: JSON.stringify(query),
+ });
+ }
+ });
+ my.redirectTo({
+ url: 'new_page?count=100'
+ });
+ // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,
+ // 而 redirectTo 方法则不会。见下方示例代码
+
+ // 此处是one页面
+ my.navigateTo({
+ url: 'two?pageId=10000'
+ });
+
+ // 此处是two页面
+ my.navigateTo({
+ url: 'one?pageId=99999'
+ });
+
+ // 在three页面内 navigateBack,将返回one页面
+ my.navigateBack({
+ delta: 2
+ });
+ my.reLaunch({
+ url: '/page/index'
+ });
+ my.setNavigationBar({
+ title: '你好',
+ backgroundColor: '#108ee9',
+ success() {
+ my.alert({
+ content: '设置成功',
+ });
+ },
+ fail() {
+ my.alert({
+ content: '设置是失败',
+ });
+ },
+ });
+ my.showNavigationBarLoading();
+ my.hideNavigationBarLoading();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-tabbar
+ my.switchTab({
+ url: '/home'
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-feedback
+ my.alert({
+ title: '亲',
+ content: '您本月的账单已出',
+ buttonText: '我知道了',
+ success: () => {
+ my.alert({
+ title: '用户点击了「我知道了」',
+ });
+ },
+ });
+ my.confirm({
+ title: '温馨提示',
+ content: '您是否想查询快递单号:1234567890',
+ confirmButtonText: '马上查询',
+ cancelButtonText: '暂不需要',
+ success: (result) => {
+ my.alert({
+ title: `${result.confirm}`,
+ });
+ },
+ });
+ my.prompt({
+ title: '标题单行',
+ message: '说明当前状态、提示用户解决方案,最好不要超过两行。',
+ placeholder: '给朋友留言',
+ okButtonText: '确定',
+ cancelButtonText: '取消',
+ success: (result) => {
+ my.alert({
+ title: JSON.stringify(result),
+ });
+ },
+ });
+ my.showToast({
+ type: 'success',
+ content: '操作成功',
+ duration: 3000,
+ success: () => {
+ my.alert({
+ title: 'toast 消失了',
+ });
+ },
+ });
+ my.hideToast();
+ my.showLoading({
+ content: '加载中...',
+ delay: 1000,
+ });
+
+ my.hideLoading();
+
+ Page({
+ onLoad() {
+ my.showLoading();
+ const that = this;
+ setTimeout(() => {
+ my.hideLoading({
+ page: that, // 防止执行时已经切换到其它页面,page指向不准确
+ });
+ }, 4000);
+ }
+ });
+ my.showNavigationBarLoading();
+ my.hideNavigationBarLoading();
+ my.showActionSheet({
+ title: '支付宝-ActionSheet',
+ items: ['菜单一', '菜单二', '菜单三', '菜单四', '菜单五'],
+ badges: [
+ { index: 0, type: 'none' },
+ { index: 1, type: 'point' },
+ { index: 2, type: 'num', text: '99' },
+ { index: 3, type: 'text', text: '推荐' },
+ { index: 4, type: 'more' }],
+ cancelButtonText: '取消好了',
+ success: (res) => {
+ const btn = res.index === -1 ? '取消' : `第${res.index}个`;
+ my.alert({
+ title: `你点了${btn}按钮`
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-pulldown
+ Page({
+ onPullDownRefresh() {
+ my.stopPullDownRefresh();
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-contact
+ my.choosePhoneContact({
+ success: (res) => {
+ my.alert({
+ content: `姓名:${res.name}\n号码:${res.mobile}`
+ });
+ }
+ });
+ my.chooseAlipayContact({
+ count: 2,
+ success: (res) => {
+ my.alert({
+ content: 'chooseAlipayContact response: ' + JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: 'chooseAlipayContact response: ' + JSON.stringify(res)
+ });
+ }
+ });
+ my.chooseContact({
+ chooseType: 'multi', // 多选模式
+ includeMe: true, // 包含自己
+ includeMobileContactMode: 'known', // 仅包含双向手机通讯录联系人,也即双方手机通讯录都存有对方号码的联系人
+ multiChooseMax: 3, // 最多能选择三个联系人
+ multiChooseMaxTips: '超过选择的最大人数了',
+ success: (res) => {
+ my.alert({
+ content: 'chooseContact : ' + JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: 'chooseContact : ' + JSON.stringify(res)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-city
+ my.chooseCity({
+ cities: [
+ {
+ city: '朝阳区',
+ adCode: '110105',
+ spell: 'chaoyang'
+ },
+ {
+ city: '海淀区',
+ adCode: '110108',
+ spell: 'haidian'
+ },
+ {
+ city: '丰台区',
+ adCode: '110106',
+ spell: 'fengtai'
+ },
+ {
+ city: '东城区',
+ adCode: '110101',
+ spell: 'dongcheng'
+ },
+ {
+ city: '西城区',
+ adCode: '110102',
+ spell: 'xicheng'
+ },
+ {
+ city: '房山区',
+ adCode: '110111',
+ spell: 'fangshan'
+ }
+ ],
+ hotCities: [
+ {
+ city: '朝阳区',
+ adCode: '110105'
+ },
+ {
+ city: '海淀区',
+ adCode: '110108'
+ },
+ {
+ city: '丰台区',
+ adCode: '110106'
+ }
+ ],
+ success: (res) => {
+ my.alert({
+ content: `${res.city}:${res.adCode}`
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-date
+ my.datePicker({
+ format: 'yyyy-MM-dd',
+ currentDate: '2012-12-12',
+ startDate: '2012-12-10',
+ endDate: '2012-12-15',
+ success: (res) => {
+ my.alert({
+ content: res.date,
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-animation
+ const animation = my.createAnimation({
+ transformOrigin: "top right",
+ duration: 3000,
+ timeFunction: "ease-in-out",
+ delay: 100,
+ });
+ Page({
+ data: {
+ animationInfo: {}
+ },
+ onShow() {
+ const animation = my.createAnimation({
+ duration: 1000,
+ timeFunction: 'ease-in-out',
+ });
+
+ this.animation = animation;
+
+ animation.scale(3, 3).rotate(60).step();
+
+ this.setData({
+ animationInfo: animation.export()
+ });
+
+ setTimeout(() => {
+ animation.translate(35).step();
+ this.setData({
+ animationInfo: animation.export(),
+ });
+ }, 1500);
+ },
+ rotateAndScale(this: my.Page) {
+ // 旋转同时放大
+ this.animation.rotate(60).scale(3, 3).step();
+ this.setData({
+ animationInfo: this.animation.export(),
+ });
+ },
+ rotateThenScale(this: my.Page) {
+ // 先旋转后放大
+ this.animation.rotate(60).step();
+ this.animation.scale(3, 3).step();
+ this.setData({
+ animationInfo: this.animation.export(),
+ });
+ },
+ rotateAndScaleThenTranslate(this: my.Page) {
+ // 先旋转同时放大,然后平移
+ this.animation.rotate(60).scale(3, 3).step();
+ this.animation.translate(100, 100).step({ duration: 2000 });
+ this.setData({
+ animationInfo: this.animation.export()
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-canvas
+ const ctx = my.createCanvasContext('awesomeCanvas');
+ ctx.toTempFilePath({
+ success() { },
+ });
+
+ ctx.setTextAlign("left");
+ ctx.fillText("Hello world", 0, 100);
+
+ ctx.setTextBaseline("top");
+ ctx.fillText("Hello world", 0, 100);
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(50, 50, 100, 175);
+ ctx.draw();
+
+ ctx.setStrokeStyle('blue');
+ ctx.strokeRect(50, 50, 100, 175);
+ ctx.draw();
+
+ ctx.setFillStyle('red');
+ ctx.setShadow(15, 45, 45, 'yellow');
+ ctx.fillRect(20, 20, 100, 175);
+ ctx.draw();
+
+ const grd = ctx.createLinearGradient(10, 10, 150, 10);
+ grd.addColorStop(0, 'yellow');
+ grd.addColorStop(1, 'blue');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ grd.addColorStop(0, 'blue');
+ grd.addColorStop(1, 'red');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ grd.addColorStop(0.36, 'orange');
+ grd.addColorStop(0.56, 'cyan');
+ grd.addColorStop(0.63, 'yellow');
+ grd.addColorStop(0.76, 'blue');
+ grd.addColorStop(0.54, 'green');
+ grd.addColorStop(1, 'purple');
+ grd.addColorStop(0.4, 'red');
+
+ ctx.setFillStyle(grd);
+ ctx.fillRect(20, 20, 250, 180);
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(20, 20);
+ ctx.lineTo(250, 10);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(10);
+ ctx.moveTo(20, 35);
+ ctx.lineTo(250, 30);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(20);
+ ctx.moveTo(20, 50);
+ ctx.lineTo(250, 55);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(25);
+ ctx.moveTo(20, 80);
+ ctx.lineTo(250, 85);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(10, 10);
+ ctx.lineTo(150, 10);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('round');
+ ctx.setLineWidth(20);
+ ctx.moveTo(20, 70);
+ ctx.lineTo(250, 80);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('butt');
+ ctx.setLineWidth(10);
+ ctx.moveTo(25, 80);
+ ctx.lineTo(250, 30);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineCap('square');
+ ctx.setLineWidth(10);
+ ctx.moveTo(35, 47);
+ ctx.lineTo(230, 120);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.moveTo(20, 30);
+ ctx.lineTo(150, 70);
+ ctx.lineTo(20, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('round');
+ ctx.setLineWidth(20);
+ ctx.moveTo(100, 20);
+ ctx.lineTo(280, 80);
+ ctx.lineTo(100, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('bevel');
+ ctx.setLineWidth(20);
+ ctx.moveTo(60, 25);
+ ctx.lineTo(180, 80);
+ ctx.lineTo(90, 100);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineJoin('miter');
+ ctx.setLineWidth(15);
+ ctx.moveTo(130, 70);
+ ctx.lineTo(250, 50);
+ ctx.lineTo(230, 100);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(1);
+ ctx.moveTo(10, 10);
+ ctx.lineTo(100, 50);
+ ctx.lineTo(10, 90);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(2);
+ ctx.moveTo(50, 10);
+ ctx.lineTo(140, 50);
+ ctx.lineTo(50, 90);
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.setLineWidth(15);
+ ctx.setLineJoin('miter');
+ ctx.setMiterLimit(3);
+ ctx.moveTo(90, 10);
+ ctx.lineTo(180, 50);
+ ctx.lineTo(90, 90);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.rect(20, 20, 250, 80);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.fillRect(20, 20, 250, 80);
+ ctx.setFillStyle('blue');
+ ctx.draw();
+
+ ctx.setStrokeStyle('blue');
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.draw();
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(250, 10, 250, 200);
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(0, 0, 150, 200);
+ ctx.clearRect(10, 10, 150, 75);
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(200, 20);
+ ctx.lineTo(200, 200);
+ ctx.fill();
+ ctx.draw();
+
+ ctx.rect(20, 20, 110, 40);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.rect(20, 30, 150, 40);
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(20, 80, 150, 40);
+
+ ctx.rect(20, 150, 150, 40);
+
+ ctx.setFillStyle('red');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 10);
+ ctx.lineTo(150, 150);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(10, 10, 100, 30);
+ ctx.setStrokeStyle('blue');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 50);
+
+ ctx.setStrokeStyle('yellow');
+ ctx.strokeRect(15, 75, 200, 35);
+
+ ctx.rect(20, 200, 150, 30);
+
+ ctx.setStrokeStyle('red');
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(20, 20, 150, 50);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 40);
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(20, 170, 150, 40);
+
+ ctx.rect(10, 100, 100, 30);
+
+ ctx.setFillStyle('red');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 20);
+ ctx.lineTo(150, 150);
+ ctx.closePath();
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.rect(20, 20, 150, 50);
+ ctx.closePath();
+
+ ctx.beginPath();
+ ctx.rect(20, 50, 150, 40);
+
+ ctx.setFillStyle('red');
+ ctx.fillRect(20, 80, 120, 30);
+
+ ctx.rect(20, 150, 150, 40);
+
+ ctx.setFillStyle('blue');
+ ctx.fill();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.lineTo(150, 15);
+
+ ctx.moveTo(20, 55);
+ ctx.lineTo(120, 60);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.moveTo(20, 20);
+ ctx.rect(20, 20, 80, 30);
+ ctx.lineTo(120, 80);
+ ctx.stroke();
+ ctx.draw();
+
+ ctx.arc(200, 75, 50, 0, 2 * Math.PI);
+ ctx.setFillStyle('#CCCCCC');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.moveTo(50, 65);
+ ctx.lineTo(170, 80);
+ ctx.moveTo(200, 35);
+ ctx.lineTo(200, 235);
+ ctx.setStrokeStyle('#AAAAAA');
+ ctx.stroke();
+
+ ctx.setFontSize(12);
+ ctx.setFillStyle('yellow');
+ ctx.fillText('0', 165, 78);
+ ctx.fillText('0.6*PI', 96, 148);
+ ctx.fillText('1*PI', 15, 57);
+ ctx.fillText('1.7*PI', 94, 20);
+
+ ctx.beginPath();
+ ctx.arc(200, 85, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(200, 35, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(450, 60, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(150, 35, 50, 0, 1.8 * Math.PI);
+ ctx.setStrokeStyle('#666666');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.arc(30, 30, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(250, 25, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(20, 100, 2, 0, 2 * Math.PI);
+ ctx.arc(200, 100, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.setFillStyle('yellow');
+ ctx.setFontSize(14);
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.lineTo(30, 100);
+ ctx.lineTo(150, 75);
+
+ ctx.moveTo(250, 30);
+ ctx.lineTo(250, 80);
+ ctx.lineTo(70, 75);
+ ctx.setStrokeStyle('#EEEEEE');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.bezierCurveTo(30, 150, 250, 150, 180, 20);
+ ctx.setStrokeStyle('black');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.beginPath();
+ ctx.arc(30, 30, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('red');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(250, 20, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('blue');
+ ctx.fill();
+
+ ctx.beginPath();
+ ctx.arc(30, 200, 2, 0, 2 * Math.PI);
+ ctx.setFillStyle('green');
+ ctx.fill();
+
+ ctx.setFillStyle('black');
+ ctx.setFontSize(12);
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.lineTo(30, 150);
+ ctx.lineTo(250, 30);
+ ctx.setStrokeStyle('#AAAAAA');
+ ctx.stroke();
+
+ ctx.beginPath();
+ ctx.moveTo(30, 30);
+ ctx.quadraticCurveTo(30, 150, 250, 25);
+ ctx.setStrokeStyle('black');
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.strokeRect(15, 15, 30, 25);
+ ctx.scale(3, 3);
+ ctx.strokeRect(15, 15, 30, 25);
+ ctx.scale(3, 3);
+ ctx.strokeRect(15, 15, 30, 25);
+
+ ctx.draw();
+
+ ctx.strokeRect(200, 20, 180, 150);
+ ctx.rotate(30 * Math.PI / 180);
+ ctx.strokeRect(200, 20, 180, 150);
+ ctx.rotate(30 * Math.PI / 180);
+ ctx.strokeRect(200, 20, 180, 150);
+
+ ctx.draw();
+
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.translate(30, 30);
+ ctx.strokeRect(20, 20, 250, 80);
+ ctx.translate(30, 30);
+ ctx.strokeRect(20, 20, 250, 80);
+
+ ctx.draw();
+
+ ctx.setFontSize(14);
+ ctx.fillText('14', 20, 20);
+ ctx.setFontSize(22);
+ ctx.fillText('22', 40, 40);
+ ctx.setFontSize(30);
+ ctx.fillText('30', 60, 60);
+ ctx.setFontSize(38);
+ ctx.fillText('38', 90, 90);
+
+ ctx.draw();
+
+ ctx.setFontSize(42);
+ ctx.fillText('Hello', 30, 30);
+ ctx.fillText('alipay', 200, 200);
+
+ ctx.draw();
+
+ ctx.drawImage('https://img.alicdn.com/tfs/TB1GvVMj2BNTKJjy0FdXXcPpVXa-520-280.jpg', 2, 2, 250, 80);
+ ctx.draw();
+
+ ctx.setFillStyle('yellow');
+ ctx.fillRect(10, 10, 150, 100);
+ ctx.setGlobalAlpha(0.2);
+ ctx.setFillStyle('blue');
+ ctx.fillRect(50, 50, 150, 100);
+ ctx.setFillStyle('red');
+ ctx.fillRect(100, 100, 150, 100);
+
+ ctx.draw();
+
+ ctx.setLineDash([5, 15, 25]);
+ ctx.beginPath();
+ ctx.moveTo(0, 100);
+ ctx.lineTo(400, 100);
+ ctx.stroke();
+
+ ctx.draw();
+
+ ctx.rotate(45 * Math.PI / 180);
+ ctx.setFillStyle('red');
+ ctx.fillRect(70, 0, 100, 30);
+
+ ctx.transform(1, 1, 0, 1, 0, 0);
+ ctx.setFillStyle('#000');
+ ctx.fillRect(0, 0, 100, 100);
+
+ ctx.draw();
+
+ ctx.rotate(45 * Math.PI / 180);
+ ctx.setFillStyle('red');
+ ctx.fillRect(70, 0, 100, 30);
+
+ ctx.setTransform(1, 1, 0, 1, 0, 0);
+ ctx.setFillStyle('#000');
+ ctx.fillRect(0, 0, 100, 100);
+
+ ctx.draw();
+
+ ctx.save();
+ ctx.setFillStyle('red');
+ ctx.fillRect(20, 20, 250, 80);
+
+ ctx.restore();
+ ctx.fillRect(60, 60, 155, 130);
+
+ ctx.draw();
+
+ ctx.setFillStyle('blue');
+ ctx.fillRect(20, 20, 180, 80);
+ ctx.draw();
+ ctx.fillRect(60, 60, 250, 120);
+ ctx.draw(true);
+
+ ctx.font = 'italic bold 50px cursive';
+ const { width } = ctx.measureText('hello world');
+ console.log(width);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-map
+ Page({
+ onReady() {
+ // 使用 my.createMapContext 获取 map 上下文
+ this.mapCtx = my.createMapContext('userMap');
+ },
+ getCenterLocation(this: my.Page) {
+ (this.mapCtx as my.MapContext).getCenterLocation({
+ success(res) {
+ console.log(res.longitude);
+ console.log(res.latitude);
+ }
+ });
+ },
+ moveToLocation() {
+ this.mapCtx.moveToLocation();
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ui-hidekeyboard
+ my.hideKeyboard();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/scroll
+ my.pageScrollTo({
+ scrollTop: 100
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/selector-query
+ Page({
+ onReady() {
+ my.createSelectorQuery()
+ .select('#non-exists').boundingClientRect()
+ .select('#one').boundingClientRect()
+ .selectAll('.all').boundingClientRect()
+ .select('#scroll').scrollOffset()
+ .selectViewport().boundingClientRect()
+ .selectViewport().scrollOffset().exec((ret) => {
+ console.log(JSON.stringify(ret, null, 2));
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/ewdxl3
+ my.multiLevelSelect({
+ title: 'nihao', // 级联选择标题
+ list: [
+ {
+ name: "杭州市", // 条目名称
+ subList: [
+ {
+ name: "西湖区",
+ subList: [
+ {
+ name: "古翠街道"
+ },
+ {
+ name: "文新街道"
+ }
+ ]
+ },
+ {
+ name: "上城区",
+ subList: [
+ {
+ name: "延安街道"
+ },
+ {
+ name: "龙翔桥街道"
+ }
+ ]
+ }
+ ]// 级联子数据列表
+ }
+ ]// 级联数据列表
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/openapi-authorize
+ my.getAuthCode({
+ scopes: 'auth_user',
+ success: (res) => {
+ my.alert({
+ content: res.authCode,
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/userinfo
+ my.getAuthCode({
+ scopes: 'auth_user',
+ success: (res) => {
+ my.getAuthUserInfo({
+ success: (userInfo) => {
+ my.alert({
+ content: userInfo.nickName
+ });
+ my.alert({
+ content: userInfo.avatar
+ });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/openapi-pay
+ my.tradePay({
+ tradeNO: '201711152100110410533667792', // 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号trade_no
+ success: (res) => {
+ my.alert({
+ content: JSON.stringify(res),
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ content: JSON.stringify(res),
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/pay-sign
+ my.paySignCenter({
+ // tslint:disable-next-line:max-line-length
+ signStr: 'biz_content%3D%257B%2522access_params%2522%253A%257B%2522channel%2522%253A%2522ALIPAYAPP%2522%257D%252C%2522external_agreement_no%2522%253A%2522xidong___2317%2522%252C%2522external_logon_id%2522%253A%252213852852877%2522%252C%2522personal_product_code%2522%253A%2522GENERAL_WITHHOLDING_P%2522%252C%2522product_code%2522%253A%2522GENERAL_WITHHOLDING%2522%252C%2522sign_scene%2522%253A%2522INDUSTRY%257CCARRENTAL%2522%252C%2522third_party_type%2522%253A%2522PARTNER%2522%257D%26sign%3Df3pjBDTRftOwXWnCqAMAnkBfGTFlcMmZI8hEgmV6uREZRXVDuLsSjD8WO%252FeZ1fjDG8GqVO9t1AN7q6yCUHKX%252Bw%252FE7efXwpVDWldr4iVuXDtNd3UJDJUiRJhIm6b73czWacVzm1XIery%252F2DyKI2y08tBf5NNWuQCC3d%252FITxziTl8%253D%26timestamp%3D2017-06-27%2B14%253A44%253A00%26sign_type%3DRSA%26notify_url%3Dhttp%253A%252F%252Fapi.test.alipay.net%252Fatinterface%252Freceive_notify.htm%26charset%3DUTF-8%26app_id%3D2017060101317939%26method%3Dalipay.user.agreement.page.sign%26return_url%3Dhttp%253A%252F%252Fapi.test.alipay.net%252Fatinterface%252Freceive_notify.htm%26version%3D1.0',
+ success: (res) => {
+ my.alert({
+ title: 'success', // alert框的标题
+ content: JSON.stringify(res)
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ title: 'fail', // alert框的标题
+ content: JSON.stringify(res)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/card-voucher-ticket
+ my.openCardList();
+ my.openMerchantCardList({ partnerId: '2088xxxxx' });
+ // 传入passId来打开
+ my.openCardDetail({ passId: "11xxxxx" });
+ my.openVoucherList();
+ my.openMerchantVoucherList({ partnerId: '2088xxxx' });
+ // 传入passId来打开
+ my.openVoucherDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openVoucherDetail({
+ partnerId: "2018xxxx",
+ serialNumber: "20170921"
+ });
+ // 传入passId来打开
+ my.openKBVoucherDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openKBVoucherDetail({
+ partnerId: "2088xxxx",
+ serialNumber: "20170921"
+ });
+ my.openTicketList();
+ my.openMerchantTicketList({ partnerId: '2088xxxx' });
+ // 传入passId来打开
+ my.openTicketDetail({ passId: "20170921" });
+
+ // 传入partnerId 和 serialNumber来打开
+ my.openTicketDetail({
+ partnerId: "2088xxxx",
+ serialNumber: "20170921"
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/add-card-auth
+ my.addCardAuth({
+ url: '从 openapi 接口获取到的 url',
+ success: (res) => {
+ my.alert({ content: '授权成功' });
+ },
+ fail: (res) => {
+ my.alert({ content: '授权失败' });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/zm-service
+ my.startZMVerify({
+ bizNo: 'your-biz-no',
+ success: (res) => {
+ my.alert({ title: 'success:' + JSON.stringify(res) });
+ },
+ fail: (res) => {
+ my.alert({ title: 'fail: ' + JSON.stringify(res) });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/zmcreditborrow
+ my.zmCreditBorrow({
+ credit_biz: "",
+ out_order_no: "",
+ borrow_shop_name: "",
+ goods_name: "",
+ product_code: "w1010100000000002858",
+ rent_unit: "HOUR_YUAN",
+ rent_amount: "0.10",
+ deposit_amount: "0.50",
+ deposit_state: "Y",
+ invoke_return_url: "",
+ invoke_type: "TINYAPP",
+ borrow_time: "2017-04-27 10:01:01",
+ expiry_time: "2017-05-27 10:01:01",
+ rent_info: "2hour-free",
+ success: (res) => {
+ try {
+ const { resultStatus, result } = res;
+ switch (resultStatus) {
+ case '9000':
+ const callbackData = result.callbackData;
+ const decodedCallbackData = decodeURIComponent(callbackData);
+ const json = JSON.parse(decodedCallbackData.match(/{.*}/)!.toString());
+ const jsonStr = JSON.stringify(json, null, 4);
+ if (json.success === true || json.success === 'true') {
+ // 创建订单成功, 此时可以跳转到订单详情页面
+ my.alert({ content: '下单成功: ' + jsonStr });
+ } else {
+ // 创建订单失败, 请提示用户创建失败
+ my.alert({ content: '下单失败: ' + jsonStr });
+ }
+ // (this as any as my.Page).setData({
+ // callbackData,
+ // decodedCallbackData,
+ // parsedJSON: jsonStr,
+ // });
+ break;
+ case '6001':
+ // 用户点击返回, 取消此次服务, 此时可以给提示
+ my.alert({ content: '取消' });
+ break;
+ default:
+ break;
+ }
+ } catch (error) {
+ // 异常, 请在这里提示用户稍后重试
+ my.alert({
+ content: '异常' + JSON.stringify(error, null, 4)
+ });
+ }
+ },
+ fail: (error) => {
+ // 调用接口失败, 请在这里提示用户稍后重试
+ my.alert({
+ content: '调用失败' + JSON.stringify(error, null, 4)
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/templatemessage
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/text-identification
+ my.textRiskIdentification({
+ content: '加我支付宝',
+ type: ['keyword', '0', '1', '2', '3'],
+ success: (res) => {
+ my.alert({
+ title: 'ok', // alert 框的标题
+ content: JSON.stringify(res),
+ });
+ },
+ fail: (res) => {
+ my.alert({
+ title: 'fail', // alert 框的标题
+ content: JSON.stringify(res),
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/open-miniprogram
+ my.navigateToMiniProgram({
+ appId: 'xxxx',
+ extraData: {
+ data1: "test"
+ },
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.navigateBackMiniProgram({
+ extraData: {
+ data1: "test"
+ },
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/webview-context
+ Page({
+ onLoad() {
+ this.webViewContext = my.createWebViewContext('web-view-1');
+ },
+ // 接收来自H5的消息
+ onMessage(e: any) {
+ console.log(e); // {'sendToMiniProgram': '0'}
+ // 向H5发送消息
+ this.webViewContext.postMessage({ sendToWebView: '1' });
+ }
+ });
+ // H5的js代码中需要先定义my.onMessage 用于接收来自小程序的消息。
+ my.onMessage = (e) => {
+ console.log(e); // {'sendToWebView': '1'}
+ };
+ // H5想小程序发送消息
+ my.postMessage({ sendToMiniProgram: '0' });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/media-image
+ const img = null as any as HTMLImageElement;
+ my.chooseImage({
+ count: 2,
+ success: (res) => {
+ img.src = res.apFilePaths[0];
+ },
+ });
+ my.previewImage({
+ current: 2,
+ urls: [
+ 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
+ 'https://img.alicdn.com/tps/TB1pfG4IFXXXXc6XXXXXXXXXXXX.jpg',
+ 'https://img.alicdn.com/tps/TB1h9xxIFXXXXbKXXXXXXXXXXXX.jpg'
+ ],
+ });
+ my.saveImage({
+ url: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg'
+ });
+ my.compressImage({
+ apFilePaths: ['https://resource/apmlcc0ed184daffc5a0d8da86b2f518cf7b.image'],
+ // level: 1,
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ // 网络图片路径
+ my.getImageInfo({
+ src: 'https://img.alicdn.com/tps/TB1sXGYIFXXXXc5XpXXXXXXXXXX.jpg',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+
+ // apFilePath
+ my.chooseImage({
+ success: (res) => {
+ my.getImageInfo({
+ src: res.apFilePaths[0],
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ },
+ });
+
+ // 相对路径
+ my.getImageInfo({
+ src: 'image/api.png',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/storage
+ my.setStorage({
+ key: 'currentCity',
+ data: {
+ cityName: '杭州',
+ adCode: '330100',
+ spell: ' hangzhou',
+ },
+ success() {
+ my.alert({ content: '写入成功' });
+ }
+ });
+ my.setStorageSync({
+ key: 'currentCity',
+ data: {
+ cityName: '杭州',
+ adCode: '330100',
+ spell: ' hangzhou',
+ }
+ });
+ my.getStorage({
+ key: 'currentCity',
+ success(res) {
+ my.alert({ content: '获取成功:' + res.data.cityName });
+ },
+ fail(res) {
+ my.alert({ content: res.errorMessage });
+ }
+ });
+ const res = my.getStorageSync({ key: 'currentCity' });
+ my.alert({
+ content: JSON.stringify(res.data),
+ });
+ my.removeStorage({
+ key: 'currentCity',
+ success() {
+ my.alert({ content: '删除成功' });
+ }
+ });
+ my.removeStorageSync({
+ key: 'currentCity',
+ });
+ my.clearStorage();
+ my.clearStorageSync();
+ my.getStorageInfo({
+ success(res) {
+ console.log(res.keys);
+ console.log(res.currentSize);
+ console.log(res.limitSize);
+ }
+ });
+ const res1 = my.getStorageInfoSync();
+ console.log(res1.keys);
+ console.log(res1.currentSize);
+ console.log(res1.limitSize);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/file
+ my.chooseImage({
+ success: (res) => {
+ my.saveFile({
+ apFilePath: res.apFilePaths[0],
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ });
+ },
+ });
+ my.getFileInfo({
+ apFilePath: 'https://resource/apml953bb093ebd2834530196f50a4413a87.video',
+ digestAlgorithm: 'sha1',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileInfo({
+ apFilePath: 'https://resource/apml953bb093ebd2834530196f50a4413a87.video',
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileList({
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ }
+ });
+ my.getSavedFileList({
+ success: (res) => {
+ my.removeSavedFile({
+ apFilePath: res.fileList[0].apFilePath,
+ success: (res) => {
+ console.log('remove success');
+ }
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/location
+ my.getLocation({
+ success(res) {
+ my.hideLoading();
+ console.log(res);
+ /* that对象为Page可以设置数据刷新界面
+ that.setData({
+ hasLocation: true,
+ location: formatLocation(res.longitude, res.latitude)
+ })
+ */
+ },
+ fail() {
+ my.hideLoading();
+ my.alert({ title: '定位失败' });
+ },
+ });
+ my.openLocation({
+ longitude: '121.549697',
+ latitude: '31.227250',
+ name: '支付宝',
+ address: '杨高路地铁站',
+ });
+ my.chooseLocation({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/network
+ my.httpRequest({
+ url: 'http://httpbin.org/post',
+ method: 'POST',
+ data: {
+ from: '支付宝',
+ production: 'AlipayJSAPI',
+ },
+ dataType: 'json',
+ success(res) {
+ my.alert({ content: 'success' });
+ },
+ fail(res) {
+ my.alert({ content: 'fail' });
+ },
+ complete(res) {
+ my.hideLoading();
+ my.alert({ content: 'complete' });
+ }
+ });
+ my.uploadFile({
+ url: '请使用自己服务器地址',
+ fileType: 'image',
+ fileName: 'file',
+ filePath: '...',
+ success: (res) => {
+ my.alert({
+ content: '上传成功'
+ });
+ },
+ });
+ my.downloadFile({
+ url: 'http://img.alicdn.com/tfs/TB1x669SXXXXXbdaFXXXXXXXXXX-520-280.jpg',
+ success({ apFilePath }) {
+ my.previewImage({
+ urls: [apFilePath],
+ });
+ },
+ fail(res) {
+ my.alert({
+ content: res.errorMessage || res.error,
+ });
+ },
+ });
+ my.connectSocket({
+ url: 'test.php',
+ data: {},
+ header: {
+ 'content-type': 'application/json'
+ },
+ method: 'GET'
+ });
+ my.connectSocket({
+ url: 'test.php',
+ });
+
+ my.onSocketOpen(() => {
+ console.log('WebSocket 连接已打开!');
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onSocketOpen(this.callback);
+ },
+ onUnload() {
+ my.offSocketOpen(this.callback);
+ },
+ callback() {
+ },
+ });
+ my.connectSocket({
+ url: '开发者的服务器地址'
+ });
+
+ my.onSocketOpen(() => {
+ console.log('WebSocket 连接已打开!');
+ });
+
+ my.onSocketError(() => {
+ console.log('WebSocket 连接打开失败,请检查!');
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onSocketError(this.callback);
+ },
+ onUnload() {
+ my.offSocketError(this.callback);
+ },
+ callback() {
+ my.sendSocketMessage({
+ data: this.data.toSendMessage, // 需要发送的内容
+ success: (res) => {
+ my.alert({ content: '数据发送!' + this.data.toSendMessage });
+ },
+ });
+ },
+ });
+ my.connectSocket({
+ url: '服务器地址'
+ });
+
+ my.onSocketMessage((res) => {
+ console.log('收到服务器内容:' + res.data);
+ });
+ my.onSocketOpen(() => {
+ my.closeSocket();
+ });
+
+ my.onSocketClose(() => {
+ console.log('WebSocket 已关闭!');
+ });
+ Page({
+ // onLoad() {
+ onLaunch() {
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketClose(() => {
+ my.alert({ content: '连接已关闭!' });
+ this.setData({
+ sendMessageAbility: false,
+ closeLinkAbility: false,
+ });
+ });
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketOpen(() => {
+ my.alert({ content: '连接已打开!' });
+ this.setData({
+ sendMessageAbility: true,
+ closeLinkAbility: true,
+ });
+ });
+
+ my.onSocketError((res) => {
+ my.alert({ content: 'WebSocket 连接打开失败,请检查!' + res });
+ });
+
+ // 注意: 回调方法的注册在整个小程序启动阶段只要做一次,调多次会有多次回调
+ my.onSocketMessage((res) => {
+ my.alert({ content: '收到数据!' + JSON.stringify(res) });
+ });
+ },
+ connect_start() {
+ my.connectSocket({
+ url: '服务器地址', // 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名
+ success: (res) => {
+ my.showToast({
+ content: 'success', // 文字内容
+ });
+ },
+ fail: () => {
+ my.showToast({
+ content: 'fail', // 文字内容
+ });
+ }
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/can-i-use
+ my.canIUse('getFileInfo');
+ my.canIUse('closeSocket.object.code');
+ my.canIUse('getLocation.object.type');
+ my.canIUse('getSystemInfo.return.brand');
+ my.canIUse('lifestyle');
+ my.canIUse('button.open-type.share');
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/sdk-version
+ console.log(my.SDKVersion);
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/system-info
+ Page({
+ data: {
+ systemInfo: {}
+ },
+ getSystemInfoPage(this: my.Page) {
+ my.getSystemInfo({
+ success: (res) => {
+ this.setData({
+ systemInfo: res
+ });
+ }
+ });
+ },
+ });
+ Page({
+ data: {
+ systemInfo: {}
+ },
+ getSystemInfoSyncPage(this: my.Page) {
+ this.setData({
+ systemInfo: my.getSystemInfoSync()
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/network-status
+ Page({
+ data: {
+ hasNetworkType: false
+ },
+ getNetworkType(this: my.Page) {
+ my.getNetworkType({
+ success: (res) => {
+ this.setData({
+ hasNetworkType: true,
+ networkType: res.networkType
+ });
+ }
+ });
+ },
+ clear(this: my.Page) {
+ this.setData({
+ hasNetworkType: false,
+ networkType: ''
+ });
+ },
+ });
+ my.onNetworkStatusChange((res) => {
+ console.log(JSON.stringify(res));
+ });
+ my.offNetworkStatusChange();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/clipboard
+ Page({
+ data: {
+ text: '3.1415926',
+ copy: '',
+ },
+
+ handlePaste(this: my.Page) {
+ my.getClipboard({
+ success: ({ text }) => {
+ this.setData({ copy: text });
+ },
+ });
+ },
+ });
+ Page({
+ data: {
+ text: '3.1415926',
+ copy: '',
+ },
+
+ handleCopy() {
+ my.setClipboard({
+ text: this.data.text,
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/shake
+ Page({
+ watchShake() {
+ my.watchShake({
+ success() {
+ console.log('动起来了');
+ my.alert({ title: '动起来了 o.o' });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/vibrate
+ Page({
+ vibrate() {
+ my.vibrate({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+ Page({
+ vibrateLong() {
+ my.vibrateLong({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+ Page({
+ vibrateShort() {
+ my.vibrateShort({
+ success: () => {
+ my.alert({ title: '震动起来了' });
+ }
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/macke-call
+ Page({
+ makePhoneCall() {
+ my.makePhoneCall({ number: '95888' });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/get-server-time
+ // getServerTime(){
+ // my.getServerTime({
+ // success: (res) => {
+ // my.alert({
+ // title: res.time,
+ // });
+ // },
+ // });
+ // };
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/user-capture-screen
+ my.onUserCaptureScreen(() => {
+ my.alert({
+ content: '收到用户截屏事件'
+ });
+ });
+ my.offUserCaptureScreen();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/screen-brightness
+ my.setKeepScreenOn({
+ keepScreenOn: true,
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ });
+ my.getScreenBrightness({
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ },
+ });
+ my.setScreenBrightness({
+ brightness: 0.5,
+ success: (res) => {
+ console.log(JSON.stringify(res));
+ },
+ fail: (res) => {
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/show-auth-guide
+ my.showAuthGuide({
+ authType: 'LBSSERVICE'
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/scan
+ Page({
+ scan() {
+ my.scan({
+ type: 'qr',
+ success: (res) => {
+ my.alert({ title: res.code });
+ },
+ });
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/bluetooth-intro
+ // 初始化
+ my.openBluetoothAdapter({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+ // 注册发现事件
+ my.onBluetoothDeviceFound({
+ success: (res) => {
+ const device = res.devices[0];
+ // 连接发现的设备
+ my.connectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ // 停止搜索
+ my.stopBluetoothDevicesDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ }
+ });
+ const deviceId = 'test';
+ const serviceId = 'test';
+ const characteristicId = 'test';
+ // 注册连接事件
+ my.onBLEConnectionStateChanged({
+ success: (res) => {
+ console.log(res);
+ if (res.connected) {
+ // 开始读写notify等操作
+ my.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ }
+ }
+ });
+ // 注册接收read或notify的数据
+ my.onBLECharacteristicValueChange({
+ success: (res) => {
+ console.log(res);
+ }
+ });
+ // 开始搜索
+ my.startBluetoothDevicesDiscovery({
+ services: ['fff0'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ // 断开连接
+ my.disconnectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ // 注销事件
+ my.offBluetoothDeviceFound();
+ my.offBLEConnectionStateChanged();
+ my.offBLECharacteristicValueChange();
+
+ // 退出蓝牙模块
+ my.closeBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/bluetooth-api
+ my.openBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.closeBluetoothAdapter({
+ success: (res) => {
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBluetoothAdapterState({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.startBluetoothDevicesDiscovery({
+ services: ['fff0'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.stopBluetoothDevicesDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBluetoothDevices({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getConnectedBluetoothDevices({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ const deviceId = 'test';
+ const serviceId = 'test';
+ const characteristicId = 'test';
+ my.connectBLEDevice({
+ // 这里的 deviceId 需要在上面的 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.disconnectBLEDevice({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.writeBLECharacteristicValue({
+ deviceId,
+ serviceId,
+ characteristicId,
+ value: 'fffe',
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.readBLECharacteristicValue({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBLEDeviceServices({
+ deviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ my.getBLEDeviceCharacteristics({
+ deviceId,
+ serviceId,
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onBluetoothDeviceFound(this.callback);
+ },
+ onUnload() {
+ my.offBluetoothDeviceFound(this.callback);
+ },
+ callback(res: any) {
+ console.log(res);
+ },
+ });
+ my.offBluetoothDeviceFound();
+ Page({
+ onLoad() {
+ this.callback = this.callback.bind(this);
+ my.onBLECharacteristicValueChange(this.callback);
+ },
+ onUnload() {
+ my.offBLECharacteristicValueChange(this.callback);
+ },
+ callback(res: any) {
+ console.log(res);
+ },
+ });
+ my.offBLECharacteristicValueChange();
+ my.offBLEConnectionStateChanged();
+ my.offBluetoothAdapterStateChange();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/yqleyc
+ my.startBeaconDiscovery({
+ uuids: ['uuid1', 'uuid2'],
+ success: (res) => {
+ console.log(res);
+ },
+ fail: () => {
+ },
+ complete: () => {
+ }
+ });
+
+ my.stopBeaconDiscovery({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ my.getBeacons({
+ success: (res) => {
+ console.log(res);
+ },
+ fail: (res) => {
+ },
+ complete: (res) => {
+ }
+ });
+
+ my.onBeaconUpdate({
+ success: (res) => {
+ },
+ });
+
+ my.onBeaconServiceChange({
+ success: (res) => {
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/data-safe
+ Page({
+ data: {
+ inputValue: '',
+ outputValue: '',
+ },
+ onInput(this: my.Page, e: any) {
+ this.setData({ inputValue: e.detail.value });
+ },
+ onEncrypt(this: my.Page) {
+ my.rsa({
+ action: 'encrypt',
+ // 设置公钥
+ // tslint:disable-next-line:max-line-length
+ key: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKmi0dUSVQ04hL6GZGPMFK8+d6\nGzulagP27qSUBYxIJfE04KT+OHVeFFb6K+8nWDea5mkmZrIgp022zZVDgdWPNM62\n3ouBwHlsfm2ekey8PpQxfXaj8lhM9t8rJlC4FEc0s8Qp7Q5/uYrowQbT9m6t7BFK\n3egOO2xOKzLpYSqfbQIDAQAB',
+ text: this.data.inputValue,
+ success: (result) => {
+ this.setData({ outputValue: result.text });
+ },
+ fail(e) {
+ my.alert({
+ content: e.errorMessage || e.error,
+ });
+ },
+ });
+ },
+ onDecrypt(this: my.Page) {
+ my.rsa({
+ action: 'decrypt',
+ text: this.data.inputValue,
+ // 设置私钥
+ // tslint:disable-next-line:prefer-template
+ key: 'MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMqaLR1RJVDTiEvo\n' +
+ 'ZkY8wUrz53obO6VqA/bupJQFjEgl8TTgpP44dV4UVvor7ydYN5rmaSZmsiCnTbbN\n' +
+ 'lUOB1Y80zrbei4HAeWx+bZ6R7Lw+lDF9dqPyWEz23ysmULgURzSzxCntDn+5iujB\n' +
+ 'BtP2bq3sEUrd6A47bE4rMulhKp9tAgMBAAECgYBjsfRLPdfn6v9hou1Y2KKg+F5K\n' +
+ 'ZsY2AnIK+6l+sTAzfIAx7e0ir7OJZObb2eyn5rAOCB1r6RL0IH+MWaN+gZANNG9g\n' +
+ 'pXvRgcZzFY0oqdMZDuSJjpMTj7OEUlPyoGncBfvjAg0zdt9QGAG1at9Jr3i0Xr4X\n' +
+ '6WrFhtfVlmQUY1VsoQJBAPK2Qj/ClkZNtrSDfoD0j083LcNICqFIIGkNQ+XeuTwl\n' +
+ '+Gq4USTyaTOEe68MHluiciQ+QKvRAUd4E1zeZRZ02ikCQQDVscINBPTtTJt1JfAo\n' +
+ 'wRfTzA0Lvgig136xLLeQXREcgq1lzgkf+tGyUGYoy9BXsV0mOuYAT9ldja4jhJeq\n' +
+ 'cEulAkEAuSJ5KjV9dyb0RIFAz5C8d8o5KAodwaRIxJkPv5nCZbT45j6t9qbJxDg8\n' +
+ 'N+vghDlHI4owvl5wwVlAO8iQBy8e8QJBAJe9CVXFV0XJR/n/XnER66FxGzJjVi0f\n' +
+ '185nOlFARI5CHG5VxxT2PUCo5mHBl8ctIj+rQvalvGs515VQ6YEVDCECQE3S0AU2\n' +
+ 'BKyFVNtTpPiTyRUWqig4EbSXwjXdr8iBBJDLsMpdWsq7DCwv/ToBoLg+cQ4Crc5/\n5DChU8P30EjOiEo=',
+ success: (result) => {
+ this.setData({ outputValue: result.text });
+ },
+ fail(e) {
+ my.alert({
+ content: e.errorMessage || e.error,
+ });
+ },
+ });
+ },
+ });
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/share_app
+ Page({
+ onShareAppMessage() {
+ return {
+ title: '小程序示例',
+ desc: '小程序官方示例Demo,展示已支持的接口能力及组件。',
+ path: 'page/component/component-pages/view/view?param=123'
+ };
+ },
+ });
+
+ my.hideShareMenu();
+})();
+
+(() => {
+ // https://docs.alipay.com/mini/api/report
+ my.reportAnalytics('purchase', {
+ status: 200,
+ reason: 'ok'
+ });
+})();
diff --git a/types/ali-app/index.d.ts b/types/ali-app/index.d.ts
new file mode 100644
index 0000000000..82f7b2bf27
--- /dev/null
+++ b/types/ali-app/index.d.ts
@@ -0,0 +1,3265 @@
+// Type definitions for ali-app 1.0
+// Project: https://docs.alipay.com/mini/api/overview (Does not have to be to GitHub, but prefer linking to a source code repository rather than to a project website.)
+// Definitions by: taoqf
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.3
+
+// 公共部分
+declare namespace my {
+ // #region 基本参数
+ interface DataResponse {
+ /** 回调函数返回的内容 */
+ data: any;
+ /** 开发者服务器返回的 HTTP 状态码 */
+ status: number;
+ /** 开发者服务器返回的 HTTP Response Header */
+ headers: object;
+ }
+ interface ErrMsgResponse {
+ /** 成功:ok,错误:详细信息 */
+ errMsg: "ok" | string;
+ }
+ interface TempFileResponse {
+ /** 文件的临时路径 */
+ apFilePath: string;
+ }
+ interface BaseOptions {
+ /** 接口调用成功的回调函数 */
+ success?(res: R): void;
+ /** 接口调用失败的回调函数 */
+ fail?(res: E): void;
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?(res: any): void;
+ }
+ interface ErrCodeResponse {
+ errCode: number;
+ }
+ // #endregion
+}
+
+// 界面
+declare namespace my {
+ //#region 导航栏 https://docs.alipay.com/mini/api/ui-navigate
+ interface NavigateToOptions extends BaseOptions {
+ /** 需要跳转的应用内页面的路径 */
+ url: string;
+ }
+ /**
+ * 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
+ *
+ * 注意:为了不让用户在使用小程序时造成困扰,
+ * 我们规定页面路径只能是五层,请尽量避免多层级的交互方式。
+ */
+ function navigateTo(options: NavigateToOptions): void;
+
+ interface RedirectToOptions extends BaseOptions {
+ /** 需要跳转的应用内页面的路径 */
+ url: string;
+ }
+ /**
+ * 关闭当前页面,跳转到应用内的某个页面。
+ */
+ function redirectTo(options: RedirectToOptions): void;
+
+ interface NavigateBackOptions extends BaseOptions {
+ /** 返回的页面数,如果 delta 大于现有打开的页面数,则返回到首页 */
+ delta: number;
+ }
+ /**
+ * 关闭当前页面,返回上一级或多级页面。可通过 getCurrentPages 获取当前的页面栈信息,决定需要返回几层。
+ */
+ function navigateBack(options?: NavigateBackOptions): void;
+
+ interface ReLaunchOptions extends BaseOptions {
+ /**
+ * 需要跳转的应用内页面路径 , 路径后可以带参数。
+ * 参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔
+ * 如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数
+ */
+ url: string;
+ }
+ /**
+ * 关闭所有页面,打开到应用内的某个页面。
+ */
+ function reLaunch(options?: ReLaunchOptions): void;
+
+ interface SetNavigationBarOptions extends BaseOptions {
+ /** 页面标题 */
+ title: string;
+ /** 图片连接地址,必须是https,请使用3x高清图片。若设置了image则title参数失效 */
+ image: string;
+ /** 导航栏背景色,支持十六进制颜色值 */
+ backgroundColor: string;
+ /** 导航栏底部边框颜色,支持十六进制颜色值。若设置了 backgroundColor,则borderBottomColor 不会生效,默认会和 backgroundColor 颜色一样 */
+ borderBottomColor: string;
+ /** 是否重置导航栏为支付宝默认配色,默认 false */
+ reset: boolean;
+ }
+ /**
+ * 动态设置当前页面的标题。
+ */
+ function setNavigationBar(options: Partial): void;
+
+ /**
+ * 显示导航栏 loading
+ */
+ function showNavigationBarLoading(): void;
+
+ /** 隐藏导航栏 loading。 */
+ function hideNavigationBarLoading(): void;
+ //#endregion
+
+ //#region TabBar https://docs.alipay.com/mini/api/ui-tabbar
+ interface SwitchTabOptions extends BaseOptions {
+ /**
+ * 需要跳转的 tabBar 页面的路径
+ * (需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
+ */
+ url: string;
+ }
+ /**
+ * 跳转到指定 tabBar 页面,并关闭其他所有非 tabBar 页面
+ */
+ function switchTab(options: SwitchTabOptions): void;
+ //#endregion
+
+ //#region 交互反馈 https://docs.alipay.com/mini/api/ui-feedback
+
+ interface AlertOptions extends BaseOptions {
+ /** alert框的标题 */
+ title: string;
+ /** alert框的内容 */
+ content: string;
+ /** 按钮文字,默认确定 */
+ buttonText: string;
+ }
+ function alert(options: Partial): void;
+
+ interface ConfirmOptions extends BaseOptions {
+ /** confirm框的标题 */
+ title: string;
+ /** confirm框的内容 */
+ content: string;
+ /** 确认按钮文字,默认‘确定’ */
+ confirmButtonText: string;
+ /** 确认按钮文字,默认‘取消’ */
+ cancelButtonText: string;
+ success(result: { confirm: boolean; }): void;
+ }
+ function confirm(options: Partial): void;
+
+ interface PromptOptions extends BaseOptions {
+ /** prompt框标题 */
+ title?: string;
+ /** prompt框文本,默认‘请输入内容’ */
+ message?: string;
+ /** 输入框内的提示文案 */
+ placeholder?: string;
+ /** message对齐方式,可用枚举left/center/right,iOS ‘center’, android ‘left’ */
+ align?: 'left' | 'center' | 'right' | string;
+ /** 确认按钮文字,默认‘确定’ */
+ okButtonText: string;
+ /** 确认按钮文字,默认‘取消’ */
+ cancelButtonText: string;
+ success(result: { ok: boolean; inputValue: string; }): void;
+ }
+ function prompt(options: PromptOptions): void;
+
+ interface ToastOptions extends BaseOptions {
+ /**
+ * 文字内容
+ */
+ content: string;
+ /** toast 类型,展示相应图标,默认 none,支持 success / fail / exception / none’。其中 exception 类型必须传文字信息 */
+ type?: 'none' | 'success' | 'fail' | 'exception' | string;
+ /**
+ * 显示时长,单位为 ms,默认 2000
+ */
+ duration?: number;
+ }
+ /**
+ * 显示消息提示框
+ */
+ function showToast(options: Partial): void;
+ function hideToast(): void;
+
+ interface LoadingOptions extends BaseOptions {
+ /**
+ * loading的文字内容
+ */
+ content?: string;
+ /**
+ * 延迟显示,单位 ms,默认 0。如果在此时间之前调用了 my.hideLoading 则不会显示
+ */
+ delay?: number;
+ }
+ /**
+ * 显示加载提示
+ */
+ function showLoading(options?: LoadingOptions): void;
+ interface HideLoadingOptions {
+ /**
+ * 体指当前page实例,某些场景下,需要指明在哪个page执行hideLoading。
+ */
+ page: any;
+ }
+ /**
+ * 隐藏消息提示框
+ */
+ function hideLoading(options?: HideLoadingOptions): void;
+
+ interface Badge {
+ /** 需要飘红的选项的索引,从0开始 */
+ index: number;
+ /**
+ * 飘红类型,支持 none(无红点)/ point(纯红点) / num(数字红点)/ text(文案红点)/ more(...)
+ *
+ */
+ type: 'none' | 'point' | 'num' | 'text' | 'more' | string;
+
+ /**
+ * 自定义飘红文案:
+ *
+ * 1、type为none/point/more时本文案可不填
+ * 2、type为num时本文案为小数或<=0均不显示, >100 显示"..."
+ */
+ text: string;
+ }
+ interface ActionSheetOptions extends BaseOptions {
+ /** 菜单标题 */
+ title?: string;
+ /**
+ * 菜单按钮文字数组
+ */
+ items: string[];
+ /**
+ * 取消按钮文案。默认为‘取消’。注:Android平台此字段无效,不会显示取消按钮。
+ */
+ cancelButtonText?: string;
+ /**
+ * (iOS特殊处理)指定按钮的索引号,从0开始,使用场景:需要删除或清除数据等类似场景,默认红色
+ */
+ destructiveBtnIndex?: number;
+ /**
+ * 需飘红选项的数组,数组内部对象字段见下表
+ */
+ badges?: Array>;
+ /**
+ * 接口调用成功的回调函数
+ */
+ success?(res: {
+ /**
+ * 用户点击的按钮,从上到下的顺序,从0开始
+ */
+ index: number;
+ }): void;
+ }
+ /**
+ * 显示操作菜单
+ */
+ function showActionSheet(options: ActionSheetOptions): void;
+ //#endregion
+
+ //#region 下拉刷新 https://docs.alipay.com/mini/api/ui-pulldown
+ /**
+ * Page 实现的接口对象
+ */
+ interface PageOptions {
+ /**
+ * 下拉刷新
+ * 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件。
+ * 需要在页面对应的 .json 配置文件中配置 "pullRefresh": true 选项,才能开启下拉刷新事件。
+ * 当处理完数据刷新后,调用 my.stopPullDownRefresh 可以停止当前页面的下拉刷新。
+ */
+ onPullDownRefresh?(this: Page): void;
+ }
+ /**
+ * 停止当前页面的下拉刷新。
+ */
+ function stopPullDownRefresh(): void;
+ //#endregion
+
+ //#region 联系人 https://docs.alipay.com/mini/api/ui-contact
+ interface ChoosePhoneContactOptions extends BaseOptions {
+ success(result: {
+ name: string; // 选中的联系人姓名
+ mobile: string; // 选中的联系人手机号
+ }): void;
+ /**
+ * 10 没有权限
+ * 11 用户取消操作(或设备未授权使用通讯录)
+ */
+ fail?(error: 10 | 11): void;
+ }
+ /**
+ * 选择本地系统通信录中某个联系人的电话。
+ */
+ function choosePhoneContact(options: ChoosePhoneContactOptions): void;
+
+ interface ChooseAlipayContactOptions extends BaseOptions {
+ /** 单次最多选择联系人个数,默认 1,最大 10 */
+ count: number;
+ success(result: {
+ realName: string; // 账号的真实姓名
+ mobile: string; // 账号对应的手机号码
+ email: string; // 账号的邮箱
+ avatar: string; // 账号的头像链接
+ userId: string; // 支付宝账号唯一 userId
+ }): void;
+ /**
+ * 10 没有权限
+ * 11 用户取消操作(或设备未授权使用通讯录)
+ */
+ fail?(error: 10 | 11): void;
+ }
+ /**
+ * 唤起支付宝通讯录,选择一个或者多个支付宝联系人。
+ */
+ function chooseAlipayContact(options: ChooseAlipayContactOptions): void;
+
+ interface ContactsDic {
+ /**
+ * 支付宝账号唯一 userId
+ */
+ userId: string;
+ /**
+ * 账号的头像链接
+ */
+ avatar: string;
+ /**
+ * 账号对应的手机号码
+ */
+ mobile: string;
+ /**
+ * 账号的真实姓名
+ */
+ realName: string;
+ /**
+ * 账号的显示名称:也即支付宝设置的备注名称,默认为朋友圈里面的昵称
+ */
+ displayName: string; // 账号的显示名称:也即支付宝设置的备注名称,默认为朋友圈里面的昵称
+ }
+ interface ChooseContactOptions extends BaseOptions {
+ /** 选择类型,值为single(单选)或者 multi(多选) */
+ chooseType: 'single' | 'multi' | string;
+ /** 包含手机通讯录联系人的模式:默认为不包含(none)、或者仅仅包含双向通讯录联系人(known)、或者包含手机通讯录联系人(all) */
+ includeMobileContactMode?: 'none' | 'known' | 'all' | string;
+ /** 是否包含自己 */
+ includeMe?: boolean;
+ /** 最大选择人数,仅 chooseType 为 multi 时才有效 */
+ multiChooseMax?: number;
+ /** 多选达到上限的文案,仅 chooseType 为 multi 时才有效 */
+ multiChooseMaxTips?: string;
+
+ success(result: {
+ contactsDicArray: ContactsDic[];
+ }): void;
+ }
+ /**
+ * 唤起选人组件,默认只包含支付宝联系人,可以通过修改参数包含手机通讯录联系人或者双向通讯录联系人。
+ */
+ function chooseContact(options: ChooseContactOptions): void;
+ //#endregion
+
+ //#region 选择城市 https://docs.alipay.com/mini/api/ui-city
+ interface City {
+ city: string; // 城市名
+ adCode: string; // 行政区划代码
+ spell?: string; // 城市名对应拼音拼写,方便用户搜索
+ }
+ interface ChooseCityOptions extends BaseOptions {
+ showLocatedCity: boolean; // 是否显示当前定位城市,默认 false
+ showHotCities: boolean; // 是否显示热门城市,默认 true
+ cities: City[]; // 自定义城市列表,列表内对象字段见下表
+ hotCities: City[]; // 自定义热门城市列表,列表内对象字段见下表
+ success(result: { city: string; adCode: string; }): void;
+ }
+ /**
+ * 打开城市选择列表
+ *
+ * 如果用户没有选择任何城市直接点击了返回,将不会触发回调函数。
+ */
+ function chooseCity(options: Partial): void;
+ //#endregion
+
+ //#region 选择日期 https://docs.alipay.com/mini/api/ui-date
+ interface DatePickerOptions extends BaseOptions {
+ /**
+ * 返回的日期格式,
+ * 1. yyyy-MM-dd(默认)
+ * 2. HH:mm
+ * 3. yyyy-MM-dd HH:mm
+ * 4. yyyy-MM (最低基础库:1.1.1, 可用 canIUse('datePicker.object.format.yyyy-MM') 判断)
+ * 5. yyyy (最低基础库:1.1.1,可用 canIUse('datePicker.object.format.yyyy') 判断)
+ */
+ format: 'yyyy-MM-dd' | 'HH:mm' | 'yyyy-MM-dd HH:mm' | 'yyyy-MM' | 'yyyy';
+ /** 初始选择的日期时间,默认当前时间 */
+ currentDate: string;
+ /** 最小日期时间 */
+ startDate: string;
+ /** 最大日期时间 */
+ endDate: string;
+ success(result: { date: string; }): void;
+ /** 11 用户取消操作 */
+ fail(error: 11): void;
+ }
+ /**
+ * 打开日期选择列表
+ */
+ function datePicker(optiosn: Partial): void;
+ //#endregion
+
+ //#region 动画 https://docs.alipay.com/mini/api/ui-animation
+ type TimingFunction =
+ | "linear"
+ | "ease"
+ | "ease-in"
+ | "ease-in-out"
+ | "ease-out"
+ | "step-start"
+ | "step-end";
+ interface CreateAnimationOptions {
+ /** 动画持续时间,单位ms,默认值 400 */
+ duration: number;
+ /** 定义动画的效果,默认值"linear",有效值:"linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end" */
+ timeFunction: TimingFunction;
+ /** 动画持续时间,单位 ms,默认值 0 */
+ delay: number;
+ /** 设置transform-origin,默认为"50% 50% 0" */
+ transformOrigin: string;
+ }
+ interface Animator {
+ actions: AnimationAction[];
+ }
+ interface AnimationAction {
+ animates: Animate[];
+ option: AnimationActionOption;
+ }
+ interface AnimationActionOption {
+ transformOrigin: string;
+ transition: AnimationTransition;
+ }
+ interface AnimationTransition {
+ delay: number;
+ duration: number;
+ timingFunction: TimingFunction;
+ }
+ interface Animate {
+ type: string;
+ args: any[];
+ }
+ /**
+ * 创建动画实例 animation。调用实例的方法来描述动画,最后通过动画实例的export方法将动画数据导出并传递给组件的animation属性。
+ *
+ * 注意: export 方法每次调用后会清掉之前的动画操作
+ */
+ function createAnimation(options: Partial): Animation;
+ /** 动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法。 */
+ interface Animation {
+ /**
+ * 调用动画操作方法后要调用 step() 来表示一组动画完成,
+ * 可以在一组动画中调用任意多个动画方法,
+ * 一组动画中的所有动画会同时开始,
+ * 一组动画完成后才会进行下一组动画。
+ * @param options 指定当前组动画的配置
+ */
+ step(options?: CreateAnimationOptions): void;
+ /**
+ * 导出动画操作
+ *
+ * 注意: export 方法每次调用后会清掉之前的动画操作
+ */
+ export(): Animator;
+ /** 透明度,参数范围 0~1 */
+ opacity(value: number): Animation;
+ /** 颜色值 */
+ backgroundColor(color: string): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ width(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ height(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ top(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ left(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ bottom(length: number): Animation;
+ /** 长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值 */
+ right(length: number): Animation;
+ /** deg的范围-180~180,从原点顺时针旋转一个deg角度 */
+ rotate(deg: number): Animation;
+ /** deg的范围-180~180,在X轴旋转一个deg角度 */
+ rotateX(deg: number): Animation;
+ /** deg的范围-180~180,在Y轴旋转一个deg角度 */
+ rotateY(deg: number): Animation;
+ /** deg的范围-180~180,在Z轴旋转一个deg角度 */
+ rotateZ(deg: number): Animation;
+ /** 同transform-function rotate3d */
+ rotate3d(x: number, y: number, z: number, deg: number): Animation;
+ /**
+ * 一个参数时,表示在X轴、Y轴同时缩放sx倍数;
+ * 两个参数时表示在X轴缩放sx倍数,在Y轴缩放sy倍数
+ */
+ scale(sx: number, sy?: number): Animation;
+ /** 在X轴缩放sx倍数 */
+ scaleX(sx: number): Animation;
+ /** 在Y轴缩放sy倍数 */
+ scaleY(sy: number): Animation;
+ /** 在Z轴缩放sy倍数 */
+ scaleZ(sz: number): Animation;
+ /** 在X轴缩放sx倍数,在Y轴缩放sy倍数,在Z轴缩放sz倍数 */
+ scale3d(sx: number, sy: number, sz: number): Animation;
+ /**
+ * 一个参数时,表示在X轴偏移tx,单位px;
+ * 两个参数时,表示在X轴偏移tx,在Y轴偏移ty,单位px。
+ */
+ translate(tx: number, ty?: number): Animation;
+ /**
+ * 在X轴偏移tx,单位px
+ */
+ translateX(tx: number): Animation;
+ /**
+ * 在Y轴偏移tx,单位px
+ */
+ translateY(ty: number): Animation;
+ /**
+ * 在Z轴偏移tx,单位px
+ */
+ translateZ(tz: number): Animation;
+ /**
+ * 在X轴偏移tx,在Y轴偏移ty,在Z轴偏移tz,单位px
+ */
+ translate3d(tx: number, ty: number, tz: number): Animation;
+ /**
+ * 参数范围-180~180;
+ * 一个参数时,Y轴坐标不变,X轴坐标延顺时针倾斜ax度;
+ * 两个参数时,分别在X轴倾斜ax度,在Y轴倾斜ay度
+ */
+ skew(ax: number, ay?: number): Animation;
+ /** 参数范围-180~180;Y轴坐标不变,X轴坐标延顺时针倾斜ax度 */
+ skewX(ax: number): Animation;
+ /** 参数范围-180~180;X轴坐标不变,Y轴坐标延顺时针倾斜ay度 */
+ skewY(ay: number): Animation;
+ /**
+ * 同transform-function matrix
+ */
+ matrix(
+ a: number,
+ b: number,
+ c: number,
+ d: number,
+ tx: number,
+ ty: number
+ ): Animation;
+ /** 同transform-function matrix3d */
+ matrix3d(
+ a1: number,
+ b1: number,
+ c1: number,
+ d1: number,
+ a2: number,
+ b2: number,
+ c2: number,
+ d2: number,
+ a3: number,
+ b3: number,
+ c3: number,
+ d3: number,
+ a4: number,
+ b4: number,
+ c4: number,
+ d4: number
+ ): Animation;
+ }
+ //#endregion
+
+ //#region 画布 https://docs.alipay.com/mini/api/ui-canvas
+ interface ToTempFilePathOptions extends BaseOptions {
+ x: number; // 画布 x 轴起点,默认为 0
+ y: number; // 画布 y 轴起点,默认为 0
+ width: number; // 画布宽度,默认为 canvas 宽度 - x
+ height: number; // 画布高度,默认为 canvas 高度 - y
+ destWidth: number; // 输出的图片宽度,默认为 width
+ destHeight: number; // 输出的图片高度,默认为 height
+ }
+ type Color = string | number[] | number | CanvasAction;
+
+ interface CanvasAction {
+ /**
+ * 创建一个颜色的渐变点。
+ * 小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染。
+ *
+ * @param stop 渐变点位置,值必须在 [0,1] 范围内
+ * @param color 颜色值
+ */
+ addColorStop(stop: number, color: Color): void;
+ }
+
+ interface TextMetrics {
+ width: number;
+ }
+
+ interface ConvasContext {
+ font: string;
+ /**
+ * 把当前画布的内容导出生成图片,并返回文件路径。
+ */
+ toTempFilePath(options?: Partial): void;
+ /**
+ * textAlign 是 Canvas 2D API 描述绘制文本时,文本的对齐方式的属性。注意,该对齐是基于
+ * CanvasRenderingContext2D.fillText 方法的x的值。所以如果 textAlign="center",那么该文本将画在 x-50%*width
+ */
+ setTextAlign(textAlign: 'left' | 'right' | 'center' | 'start' | 'end'): void;
+ /**
+ * textBaseline 是 Canvas 2D API 描述绘制文本时,当前文本基线的属性。
+ */
+ setTextBaseline(textBaseline: 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom'): void;
+ /**
+ * 设置填充色。
+ *
+ * 如果没有设置 fillStyle,则默认颜色为 black。
+ */
+ setFillStyle(color: Color): void;
+ /**
+ * 设置边框颜色。
+ *
+ * 如果没有设置 strokeStyle,则默认颜色为 black。
+ */
+ setStrokeStyle(color: Color): void;
+ /**
+ * 设置阴影样式。
+ * 如果没有设置,offsetX 的默认值为 0, offsetY 的默认值为 0, blur 的默认值为 0,color 的默认值为 black。
+ * @param offsetX 阴影相对于形状水平方向的偏移
+ * @param offsetY 阴影相对于形状竖直方向的偏移
+ * @param blur 0~100 阴影的模糊级别,值越大越模糊
+ * @param color 阴影颜色
+ */
+ setShadow(offsetX: number, offsetY: number, blur: number, color: Color): void;
+
+ /**
+ * 创建一个线性的渐变色。
+ *
+ * @param x0 起点 x 坐标
+ * @param y0 起点 y 坐标
+ * @param x1 终点 x 坐标
+ * @param y1 终点 y 坐标
+ */
+ createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasAction;
+
+ /**
+ * 创建一个圆形的渐变色。
+ * 起点在圆心,终点在圆环。
+ * 需要使用 addColorStop() 来指定渐变点,至少需要两个。
+ * @param x 圆心 x 坐标
+ * @param y 圆心 y 坐标
+ * @param r 圆半径
+ * @returns
+ */
+ createCircularGradient(x: number, y: number, r: number): CanvasAction;
+
+ /**
+ * 设置线条的宽度。
+ * @param lineWidth 线条宽度,单位为 px
+ */
+ setLineWidth(lineWidth: number): void;
+
+ /**
+ * 设置线条的端点样式。
+ *
+ * @param lineCap 线条的结束端点样式
+ */
+ setLineCap(lineCap: 'round' | 'butt' | 'square'): void;
+
+ /**
+ * 设置线条的交点样式。
+ *
+ * @param lineJoin 线条的结束交点样式
+ */
+ setLineJoin(lineJoin: 'round' | 'bevel' | 'miter'): void;
+
+ /**
+ * 设置最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离。 当 setLineJoin() 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示
+ *
+ * @param miterLimit 最大斜接长度
+ */
+ setMiterLimit(miterLimit: number): void;
+
+ /**
+ * 创建一个矩形。
+ *
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ rect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 填充矩形。
+ * 用 setFillStyle() 设置矩形的填充色,如果没设置则默认是 black。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ fillRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 画一个矩形(非填充)。
+ * 用 setFillStroke() 设置矩形线条的颜色,如果没设置默认是 black。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ strokeRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 清除画布上在该矩形区域内的内容。
+ * clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,可以对 canvas 加了一层背景色。
+ * @param x 矩形左上角的 x 坐标
+ * @param y 矩形左上角的 y 坐标
+ * @param width 矩形路径宽度
+ * @param height 矩形路径高度
+ */
+ clearRect(x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 对当前路径中的内容进行填充。默认的填充色为黑色。
+ *
+ */
+ fill(): void;
+
+ /**
+ * 画出当前路径的边框。默认 black。
+ * stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去
+ */
+ stroke(): void;
+
+ /**
+ * 关闭一个路径
+ * 关闭路径会连接起点和终点。
+ * 如果关闭路径后没有调用 fill() 或者 stroke() 并开启了新的路径,那之前的路径将不会被渲染。
+ */
+ beginPath(): void;
+
+ /**
+ * 关闭一个路径
+ * 关闭路径会连接起点和终点。
+ *
+ */
+ closePath(): void;
+
+ /**
+ * 把路径移动到画布中的指定点,不创建线条。
+ * 用 stroke() 方法来画线条
+ * @param x 目标位置 x 坐标
+ * @param y 目标位置 y 坐标
+ */
+ moveTo(x: number, y: number): void;
+
+ /**
+ * lineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线。
+ * 用 stroke() 方法来画线条
+ *
+ * @param x 目标位置 x 坐标
+ * @param y 目标位置 y 坐标
+ */
+ lineTo(x: number, y: number): void;
+
+ /**
+ * 画一条弧线。
+ * 创建一个圆可以用 arc() 方法指定其实弧度为0,终止弧度为 2 * Math.PI。
+ *
+ * @param x
+ * @param y
+ * @param r
+ * @param sAngle
+ * @param eAngle
+ */
+ arc(x: number, y: number, r: number, sAngle: number, eAngle: number): void;
+
+ /**
+ * 创建三次方贝塞尔曲线路径。
+ * 曲线的起始点为路径中前一个点。
+ * @param cp1x
+ * @param cp1y
+ * @param cp2x
+ * @param cp2y
+ * @param x
+ * @param y
+ */
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
+
+ /**
+ * 将当前创建的路径设置为当前剪切路径。
+ *
+ */
+ clip(): void;
+
+ /**
+ * 创建二次贝塞尔曲线路径。
+ * 曲线的起始点为路径中前一个点。
+ * @param cpx 贝塞尔控制点 x 坐标
+ * @param cpy 贝塞尔控制点 y 坐标
+ * @param x 结束点 x 坐标
+ * @param y 结束点 y 坐标
+ */
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
+
+ /**
+ * 在调用scale方法后,之后创建的路径其横纵坐标会被缩放。多次调用scale,倍数会相乘。
+ *
+ * @param scaleWidth 横坐标缩放倍数 (1 = 100%,0.5 = 50%,2 = 200%)
+ * @param scaleHeight 纵坐标轴缩放倍数 (1 = 100%,0.5 = 50%,2 = 200%)
+ */
+ scale(scaleWidth: number, scaleHeight: number): void;
+
+ /**
+ * 以原点为中心,原点可以用 translate方法修改。顺时针旋转当前坐标轴。多次调用rotate,旋转的角度会叠加。
+ *
+ * @param rotate 旋转角度,以弧度计(degrees * Math.PI/180;degrees 范围为0~360)
+ */
+ rotate(rotate: number): void;
+
+ /**
+ * 对当前坐标系的原点(0, 0)进行变换,默认的坐标系原点为页面左上角。
+ *
+ * @param x 水平坐标平移量
+ * @param y 竖直坐标平移量
+ */
+ translate(x: number, y: number): void;
+
+ /**
+ * 设置字体大小。
+ *
+ * @param fontSize 字号
+ */
+ setFontSize(fontSize: number): void;
+
+ /**
+ * 在画布上绘制被填充的文本。
+ *
+ * @param text 文本
+ * @param x 绘制文本的左上角 x 坐标
+ * @param y 绘制文本的左上角 y 坐标
+ */
+ fillText(text: string, x: number, y: number): void;
+
+ /**
+ * 绘制图像,图像保持原始尺寸。
+ *
+ * @param imageResource 图片资源, 只支持线上 cdn 地址或离线包地址,线上 cdn 需返回头 Access-Control-Allow-Origin: *
+ * @param x 图像左上角 x 坐标
+ * @param y 图像左上角 y 坐标
+ * @param width 图像宽度
+ * @param height 图像高度
+ */
+ drawImage(imageResource: string, x: number, y: number, width: number, height: number): void;
+
+ /**
+ * 设置全局画笔透明度。
+ *
+ * @param alpha 透明度,0 表示完全透明,1 表示不透明 范围 [0, 1]
+ */
+ setGlobalAlpha(alpha: number): void;
+
+ /**
+ * 设置虚线的样式
+ *
+ * @param segments 一组描述交替绘制线段和间距(坐标空间单位)长度的数字。 如果数组元素的数量是奇数, 数组的元素会被复制并重复。例如, [5, 15, 25] 会变成 [5, 15, 25, 5, 15, 25]。
+ */
+ setLineDash(segments: number[]): void;
+
+ /**
+ * 使用矩阵多次叠加当前变换的方法,矩阵由方法的参数进行描述。你可以缩放、旋转、移动和倾斜上下文。
+ *
+ * @param scaleX 水平缩放
+ * @param skewX 水平倾斜
+ * @param skewY 垂直倾斜
+ * @param scaleY 垂直缩放
+ * @param translateX 水平移动
+ * @param translateY 垂直移动
+ */
+ transform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
+
+ /**
+ * 使用单位矩阵重新设置(覆盖)当前的变换并调用变换的方法,此变换由方法的变量进行描述。
+ *
+ * @param scaleX 水平缩放
+ * @param skewX 水平倾斜
+ * @param skewY 垂直倾斜
+ * @param scaleY 垂直缩放
+ * @param translateX 水平移动
+ * @param translateY 垂直移动
+ */
+ setTransform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void;
+
+ /**
+ * 保存当前的绘图上下文。
+ *
+ */
+ save(): void;
+
+ /**
+ * 恢复之前保存的绘图上下文。
+ */
+ restore(): void;
+
+ /**
+ * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
+ * 绘图上下文需要由 my.createCanvasContext(canvasId) 来创建。
+ * @param [reserve] 本次绘制是否接着上一次绘制,即 reserve 参数为 false 时则在本次调用 drawCanvas绘制之前 native 层应先清空画布再继续绘制;若 reserver 参数为true 时,则保留当前画布上的内容,本次调用drawCanvas绘制的内容覆盖在上面,默认 false
+ */
+ draw(reserve?: boolean): void;
+
+ measureText(text: string): TextMetrics;
+ }
+ /**
+ * 创建 canvas 绘图上下文
+ *
+ * 该绘图上下文只作用于对应 canvasId 的
+ */
+ function createCanvasContext(canvasId: string): ConvasContext;
+ //#endregion
+
+ //#region 地图 https://docs.alipay.com/mini/api/ui-map
+ interface GetCenterLocationOptions extends BaseOptions {
+ success?(res: { longitude: string; latitude: string; }): void;
+ }
+
+ interface MapContext extends BaseOptions {
+ /**
+ * 获取当前地图中心的经纬度,返回 gcj02 坐标系的值,可以用于 my.openLocation
+ *
+ * @param options
+ */
+ getCenterLocation(options: GetCenterLocationOptions): void;
+ /**
+ * 将地图中心移动到当前定位点,需要配合 map 组件的 show-location 使用
+ */
+ moveToLocation(): void;
+ }
+
+ /**
+ * 创建并返回一个 map 上下文对象 mapContext。
+ *
+ * @param mapId
+ * @returns
+ */
+ function createMapContext(mapId: string): MapContext;
+
+ //#endregion
+
+ //#region 键盘 https://docs.alipay.com/mini/api/ui-hidekeyboard
+ /**
+ * 隐藏键盘
+ *
+ */
+ function hideKeyboard(): void;
+ //#endregion
+
+ //#region 滚动 https://docs.alipay.com/mini/api/scroll
+ interface PageScrollToOptions {
+ scrollTop: number; // 滚动到页面的目标位置,单位 px
+ }
+
+ /**
+ * 滚动到页面的目标位置
+ *
+ * @param options
+ */
+ function pageScrollTo(options: PageScrollToOptions): void;
+ //#endregion
+
+ //#region 节点查询 https://docs.alipay.com/mini/api/selector-query
+ interface RectArea {
+ /** 节点的左边界坐标 */
+ left: number;
+ /** 节点的右边界坐标 */
+ right: number;
+ /** 节点的上边界坐标 */
+ top: number;
+ /** 节点的下边界坐标 */
+ bottom: number;
+ /** 节点的宽度 */
+ width: number;
+ /** 节点的高度 */
+ height: number;
+ }
+ interface NodesRefRect extends RectArea {
+ /** 节点的ID */
+ id: string;
+ /** 节点的dataset */
+ dataset: any;
+ }
+ interface NodeRefOffset {
+ /** 节点的ID */
+ id: string;
+ /** 节点的dataset */
+ dataset: any;
+ /** 节点的水平滚动位置 */
+ scrollLeft: number;
+ /** 节点的竖直滚动位置 */
+ scrollTop: number;
+ }
+ interface NodesRef {
+ /**
+ * 添加节点的布局位置的查询请求,相对于显示区域,以像素为单位。
+ * 其功能类似于DOM的getBoundingClientRect。
+ * 返回值是nodesRef对应的selectorQuery。
+ * 返回的节点信息中,每个节点的位置用
+ * left、right、top、bottom、width、height字段描述。
+ * 如果提供了callback回调函数,在执行selectQuery的exec方法后
+ * 节点信息会在callback中返回。
+ */
+ boundingClientRect(
+ callback?: (rect: T) => void
+ ): SelectorQuery;
+ /**
+ * 添加节点的滚动位置查询请求,以像素为单位。
+ * 节点必须是scroll-view或者viewport。
+ * 返回值是nodesRef对应的selectorQuery。
+ * 返回的节点信息中,每个节点的滚动位置用scrollLeft、scrollHeight字段描述。
+ * 如果提供了callback回调函数,在执行selectQuery的exec方法后,节点信息会在callback中返回。
+ */
+ scrollOffset(callback?: (rect: NodeRefOffset) => void): SelectorQuery;
+ // /**
+ // * 获取节点的相关信息,需要获取的字段在fields中指定。
+ // * 返回值是nodesRef对应的selectorQuery。
+ // */
+ // fields(
+ // fields: NodeRefFieldsOptions,
+ // callback?: (result: any) => void
+ // ): SelectorQuery;
+ }
+ /**
+ * SelectorQuery对象实例
+ */
+ interface SelectorQuery {
+ // /**
+ // * 将选择器的选取范围更改为自定义组件component内
+ // * (初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点
+ // * @version 1.6.0
+ // */
+ // in(component: Component