devstar插件
This commit is contained in:
		
							
								
								
									
										21
									
								
								node_modules/mitt/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/mitt/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2021 Jason Miller
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE.
 | 
			
		||||
							
								
								
									
										205
									
								
								node_modules/mitt/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								node_modules/mitt/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
			
		||||
<p align="center">
 | 
			
		||||
  <img src="https://i.imgur.com/BqsX9NT.png" width="300" height="300" alt="mitt">
 | 
			
		||||
  <br>
 | 
			
		||||
  <a href="https://www.npmjs.org/package/mitt"><img src="https://img.shields.io/npm/v/mitt.svg" alt="npm"></a>
 | 
			
		||||
  <img src="https://github.com/developit/mitt/workflows/CI/badge.svg" alt="build status">
 | 
			
		||||
  <a href="https://unpkg.com/mitt/dist/mitt.js"><img src="https://img.badgesize.io/https://unpkg.com/mitt/dist/mitt.js?compression=gzip" alt="gzip size"></a>
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
# Mitt
 | 
			
		||||
 | 
			
		||||
> Tiny 200b functional event emitter / pubsub.
 | 
			
		||||
 | 
			
		||||
-   **Microscopic:** weighs less than 200 bytes gzipped
 | 
			
		||||
-   **Useful:** a wildcard `"*"` event type listens to all events
 | 
			
		||||
-   **Familiar:** same names & ideas as [Node's EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)
 | 
			
		||||
-   **Functional:** methods don't rely on `this`
 | 
			
		||||
-   **Great Name:** somehow [mitt](https://npm.im/mitt) wasn't taken
 | 
			
		||||
 | 
			
		||||
Mitt was made for the browser, but works in any JavaScript runtime. It has no dependencies and supports IE9+.
 | 
			
		||||
 | 
			
		||||
## Table of Contents
 | 
			
		||||
 | 
			
		||||
-   [Install](#install)
 | 
			
		||||
-   [Usage](#usage)
 | 
			
		||||
-   [Examples & Demos](#examples--demos)
 | 
			
		||||
-   [API](#api)
 | 
			
		||||
-   [Contribute](#contribute)
 | 
			
		||||
-   [License](#license)
 | 
			
		||||
 | 
			
		||||
## Install
 | 
			
		||||
 | 
			
		||||
This project uses [node](http://nodejs.org) and [npm](https://npmjs.com). Go check them out if you don't have them locally installed.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
$ npm install --save mitt
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then with a module bundler like [rollup](http://rollupjs.org/) or [webpack](https://webpack.js.org/), use as you would anything else:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
// using ES6 modules
 | 
			
		||||
import mitt from 'mitt'
 | 
			
		||||
 | 
			
		||||
// using CommonJS modules
 | 
			
		||||
var mitt = require('mitt')
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The [UMD](https://github.com/umdjs/umd) build is also available on [unpkg](https://unpkg.com):
 | 
			
		||||
 | 
			
		||||
```html
 | 
			
		||||
<script src="https://unpkg.com/mitt/dist/mitt.umd.js"></script>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You can find the library on `window.mitt`.
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
import mitt from 'mitt'
 | 
			
		||||
 | 
			
		||||
const emitter = mitt()
 | 
			
		||||
 | 
			
		||||
// listen to an event
 | 
			
		||||
emitter.on('foo', e => console.log('foo', e) )
 | 
			
		||||
 | 
			
		||||
// listen to all events
 | 
			
		||||
emitter.on('*', (type, e) => console.log(type, e) )
 | 
			
		||||
 | 
			
		||||
// fire an event
 | 
			
		||||
emitter.emit('foo', { a: 'b' })
 | 
			
		||||
 | 
			
		||||
// clearing all events
 | 
			
		||||
emitter.all.clear()
 | 
			
		||||
 | 
			
		||||
// working with handler references:
 | 
			
		||||
function onFoo() {}
 | 
			
		||||
emitter.on('foo', onFoo)   // listen
 | 
			
		||||
emitter.off('foo', onFoo)  // unlisten
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Typescript
 | 
			
		||||
 | 
			
		||||
Set `"strict": true` in your tsconfig.json to get improved type inference for `mitt` instance methods.
 | 
			
		||||
 | 
			
		||||
```ts
 | 
			
		||||
import mitt from 'mitt';
 | 
			
		||||
 | 
			
		||||
type Events = {
 | 
			
		||||
  foo: string;
 | 
			
		||||
  bar?: number;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const emitter = mitt<Events>(); // inferred as Emitter<Events>
 | 
			
		||||
 | 
			
		||||
emitter.on('foo', (e) => {}); // 'e' has inferred type 'string'
 | 
			
		||||
 | 
			
		||||
emitter.emit('foo', 42); // Error: Argument of type 'number' is not assignable to parameter of type 'string'. (2345)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Alternatively, you can use the provided `Emitter` type:
 | 
			
		||||
 | 
			
		||||
```ts
 | 
			
		||||
import mitt, { Emitter } from 'mitt';
 | 
			
		||||
 | 
			
		||||
type Events = {
 | 
			
		||||
  foo: string;
 | 
			
		||||
  bar?: number;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const emitter: Emitter<Events> = mitt<Events>();
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Examples & Demos
 | 
			
		||||
 | 
			
		||||
<a href="http://codepen.io/developit/pen/rjMEwW?editors=0110">
 | 
			
		||||
  <b>Preact + Mitt Codepen Demo</b>
 | 
			
		||||
  <br>
 | 
			
		||||
  <img src="https://i.imgur.com/CjBgOfJ.png" width="278" alt="preact + mitt preview">
 | 
			
		||||
</a>
 | 
			
		||||
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
## API
 | 
			
		||||
 | 
			
		||||
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
 | 
			
		||||
 | 
			
		||||
#### Table of Contents
 | 
			
		||||
 | 
			
		||||
-   [mitt](#mitt)
 | 
			
		||||
-   [all](#all)
 | 
			
		||||
-   [on](#on)
 | 
			
		||||
    -   [Parameters](#parameters)
 | 
			
		||||
-   [off](#off)
 | 
			
		||||
    -   [Parameters](#parameters-1)
 | 
			
		||||
-   [emit](#emit)
 | 
			
		||||
    -   [Parameters](#parameters-2)
 | 
			
		||||
 | 
			
		||||
### mitt
 | 
			
		||||
 | 
			
		||||
Mitt: Tiny (~200b) functional event emitter / pubsub.
 | 
			
		||||
 | 
			
		||||
Returns **Mitt** 
 | 
			
		||||
 | 
			
		||||
### all
 | 
			
		||||
 | 
			
		||||
A Map of event names to registered handler functions.
 | 
			
		||||
 | 
			
		||||
### on
 | 
			
		||||
 | 
			
		||||
Register an event handler for the given type.
 | 
			
		||||
 | 
			
		||||
#### Parameters
 | 
			
		||||
 | 
			
		||||
-   `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** Type of event to listen for, or `'*'` for all events
 | 
			
		||||
-   `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Function to call in response to given event
 | 
			
		||||
 | 
			
		||||
### off
 | 
			
		||||
 | 
			
		||||
Remove an event handler for the given type.
 | 
			
		||||
If `handler` is omitted, all handlers of the given type are removed.
 | 
			
		||||
 | 
			
		||||
#### Parameters
 | 
			
		||||
 | 
			
		||||
-   `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** Type of event to unregister `handler` from, or `'*'`
 | 
			
		||||
-   `handler` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)?** Handler function to remove
 | 
			
		||||
 | 
			
		||||
### emit
 | 
			
		||||
 | 
			
		||||
Invoke all handlers for the given type.
 | 
			
		||||
If present, `'*'` handlers are invoked after type-matched handlers.
 | 
			
		||||
 | 
			
		||||
Note: Manually firing '\*' handlers is not supported.
 | 
			
		||||
 | 
			
		||||
#### Parameters
 | 
			
		||||
 | 
			
		||||
-   `type` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [symbol](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Symbol))** The event type to invoke
 | 
			
		||||
-   `evt` **Any?** Any value (object is recommended and powerful), passed to each handler
 | 
			
		||||
 | 
			
		||||
## Contribute
 | 
			
		||||
 | 
			
		||||
First off, thanks for taking the time to contribute!
 | 
			
		||||
Now, take a moment to be sure your contributions make sense to everyone else.
 | 
			
		||||
 | 
			
		||||
### Reporting Issues
 | 
			
		||||
 | 
			
		||||
Found a problem? Want a new feature? First of all see if your issue or idea has [already been reported](../../issues).
 | 
			
		||||
If don't, just open a [new clear and descriptive issue](../../issues/new).
 | 
			
		||||
 | 
			
		||||
### Submitting pull requests
 | 
			
		||||
 | 
			
		||||
Pull requests are the greatest contributions, so be sure they are focused in scope, and do avoid unrelated commits.
 | 
			
		||||
 | 
			
		||||
-   Fork it!
 | 
			
		||||
-   Clone your fork: `git clone https://github.com/<your-username>/mitt`
 | 
			
		||||
-   Navigate to the newly cloned directory: `cd mitt`
 | 
			
		||||
-   Create a new branch for the new feature: `git checkout -b my-new-feature`
 | 
			
		||||
-   Install the tools necessary for development: `npm install`
 | 
			
		||||
-   Make your changes.
 | 
			
		||||
-   Commit your changes: `git commit -am 'Add some feature'`
 | 
			
		||||
-   Push to the branch: `git push origin my-new-feature`
 | 
			
		||||
-   Submit a pull request with full remarks documenting your changes.
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[MIT License](https://opensource.org/licenses/MIT) © [Jason Miller](https://jasonformat.com/)
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/mitt/dist/mitt.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/mitt/dist/mitt.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
module.exports=function(n){return{all:n=n||new Map,on:function(e,t){var i=n.get(e);i?i.push(t):n.set(e,[t])},off:function(e,t){var i=n.get(e);i&&(t?i.splice(i.indexOf(t)>>>0,1):n.set(e,[]))},emit:function(e,t){var i=n.get(e);i&&i.slice().map(function(n){n(t)}),(i=n.get("*"))&&i.slice().map(function(n){n(e,t)})}}};
 | 
			
		||||
//# sourceMappingURL=mitt.js.map
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/mitt/dist/mitt.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/mitt/dist/mitt.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"file":"mitt.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/mitt/dist/mitt.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/mitt/dist/mitt.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get("*"))&&i.slice().map(function(n){n(t,e)})}}}
 | 
			
		||||
//# sourceMappingURL=mitt.mjs.map
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/mitt/dist/mitt.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/mitt/dist/mitt.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"file":"mitt.mjs","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
 | 
			
		||||
							
								
								
									
										2
									
								
								node_modules/mitt/dist/mitt.umd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/mitt/dist/mitt.umd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).mitt=n()}(this,function(){return function(e){return{all:e=e||new Map,on:function(n,t){var f=e.get(n);f?f.push(t):e.set(n,[t])},off:function(n,t){var f=e.get(n);f&&(t?f.splice(f.indexOf(t)>>>0,1):e.set(n,[]))},emit:function(n,t){var f=e.get(n);f&&f.slice().map(function(e){e(t)}),(f=e.get("*"))&&f.slice().map(function(e){e(n,t)})}}}});
 | 
			
		||||
//# sourceMappingURL=mitt.umd.js.map
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/mitt/dist/mitt.umd.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/mitt/dist/mitt.umd.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"file":"mitt.umd.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"6LA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
 | 
			
		||||
							
								
								
									
										21
									
								
								node_modules/mitt/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/mitt/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
export declare type EventType = string | symbol;
 | 
			
		||||
export declare type Handler<T = unknown> = (event: T) => void;
 | 
			
		||||
export declare type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void;
 | 
			
		||||
export declare type EventHandlerList<T = unknown> = Array<Handler<T>>;
 | 
			
		||||
export declare type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;
 | 
			
		||||
export declare type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<keyof Events | '*', EventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>>;
 | 
			
		||||
export interface Emitter<Events extends Record<EventType, unknown>> {
 | 
			
		||||
    all: EventHandlerMap<Events>;
 | 
			
		||||
    on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
 | 
			
		||||
    on(type: '*', handler: WildcardHandler<Events>): void;
 | 
			
		||||
    off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;
 | 
			
		||||
    off(type: '*', handler: WildcardHandler<Events>): void;
 | 
			
		||||
    emit<Key extends keyof Events>(type: Key, event: Events[Key]): void;
 | 
			
		||||
    emit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;
 | 
			
		||||
}
 | 
			
		||||
/**
 | 
			
		||||
 * Mitt: Tiny (~200b) functional event emitter / pubsub.
 | 
			
		||||
 * @name mitt
 | 
			
		||||
 * @returns {Mitt}
 | 
			
		||||
 */
 | 
			
		||||
export default function mitt<Events extends Record<EventType, unknown>>(all?: EventHandlerMap<Events>): Emitter<Events>;
 | 
			
		||||
							
								
								
									
										85
									
								
								node_modules/mitt/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								node_modules/mitt/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "mitt",
 | 
			
		||||
  "version": "3.0.1",
 | 
			
		||||
  "description": "Tiny 200b functional Event Emitter / pubsub.",
 | 
			
		||||
  "module": "dist/mitt.mjs",
 | 
			
		||||
  "main": "dist/mitt.js",
 | 
			
		||||
  "jsnext:main": "dist/mitt.mjs",
 | 
			
		||||
  "umd:main": "dist/mitt.umd.js",
 | 
			
		||||
  "source": "src/index.ts",
 | 
			
		||||
  "typings": "index.d.ts",
 | 
			
		||||
  "exports": {
 | 
			
		||||
    "types": "./index.d.ts",
 | 
			
		||||
    "module": "./dist/mitt.mjs",
 | 
			
		||||
    "import": "./dist/mitt.mjs",
 | 
			
		||||
    "require": "./dist/mitt.js",
 | 
			
		||||
    "default": "./dist/mitt.mjs"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "npm-run-all --silent typecheck lint mocha test-types",
 | 
			
		||||
    "mocha": "mocha test",
 | 
			
		||||
    "test-types": "tsc test/test-types-compilation.ts --noEmit --strict",
 | 
			
		||||
    "lint": "eslint src test --ext ts --ext js",
 | 
			
		||||
    "typecheck": "tsc --noEmit",
 | 
			
		||||
    "bundle": "microbundle -f es,cjs,umd",
 | 
			
		||||
    "build": "npm-run-all --silent clean -p bundle -s docs",
 | 
			
		||||
    "clean": "rimraf dist",
 | 
			
		||||
    "docs": "documentation readme src/index.ts --section API -q --parse-extension ts",
 | 
			
		||||
    "release": "npm run -s build -s && npm t && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": "developit/mitt",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "events",
 | 
			
		||||
    "eventemitter",
 | 
			
		||||
    "emitter",
 | 
			
		||||
    "pubsub"
 | 
			
		||||
  ],
 | 
			
		||||
  "homepage": "https://github.com/developit/mitt",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    "Jason Miller <jason@developit.ca>"
 | 
			
		||||
  ],
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "files": [
 | 
			
		||||
    "dist",
 | 
			
		||||
    "index.d.ts"
 | 
			
		||||
  ],
 | 
			
		||||
  "mocha": {
 | 
			
		||||
    "extension": [
 | 
			
		||||
      "ts"
 | 
			
		||||
    ],
 | 
			
		||||
    "require": [
 | 
			
		||||
      "ts-node/register",
 | 
			
		||||
      "esm"
 | 
			
		||||
    ],
 | 
			
		||||
    "spec": [
 | 
			
		||||
      "test/*_test.ts"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "prettier": {
 | 
			
		||||
    "singleQuote": true,
 | 
			
		||||
    "trailingComma": "none"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/chai": "^4.2.11",
 | 
			
		||||
    "@types/mocha": "^7.0.2",
 | 
			
		||||
    "@types/sinon": "^9.0.4",
 | 
			
		||||
    "@types/sinon-chai": "^3.2.4",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.61.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^5.61.0",
 | 
			
		||||
    "chai": "^4.2.0",
 | 
			
		||||
    "documentation": "^14.0.2",
 | 
			
		||||
    "eslint": "^7.32.0",
 | 
			
		||||
    "eslint-config-developit": "^1.2.0",
 | 
			
		||||
    "eslint-plugin-compat": "^4.1.4",
 | 
			
		||||
    "esm": "^3.2.25",
 | 
			
		||||
    "microbundle": "^0.12.3",
 | 
			
		||||
    "mocha": "^8.0.1",
 | 
			
		||||
    "npm-run-all": "^4.1.5",
 | 
			
		||||
    "prettier": "^2.8.8",
 | 
			
		||||
    "rimraf": "^3.0.2",
 | 
			
		||||
    "sinon": "^9.0.2",
 | 
			
		||||
    "sinon-chai": "^3.5.0",
 | 
			
		||||
    "ts-node": "^10.9.1",
 | 
			
		||||
    "typescript": "^4.9.5"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user