diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..972d64c --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,22 @@ +name: Trigger docs re-build + +on: + push: + branches: + - 'develop' + +jobs: + trigger_docs: + name: Trigger docs re-build + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.ACTIONS_KEY }} + script: | + await github.rest.actions.createWorkflowDispatch({ + owner: 'evanmartiin', + repo: 'nanogl-docs', + workflow_id: 'main.yml', + ref: 'main' + }) diff --git a/README.md b/README.md index 0d4755f..acc3201 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,23 @@ -[![Build Status](https://travis-ci.org/plepers/nanogl.svg?branch=master)](https://travis-ci.org/plepers/nanogl) - - # nanogl -webgl micro framework (3Ko) +[![NPM Package](https://img.shields.io/npm/v/nanogl.svg)](https://www.npmjs.com/package/nanogl) [![NPM Downloads](https://img.shields.io/npm/dw/nanogl)](https://npmtrends.com/nanogl) [![GitHub](https://img.shields.io/github/license/plepers/nanogl)](https://github.com/plepers/nanogl/blob/develop/LICENSE) -#### Quick guides +nanogl is a WebGL micro framework (3Ko) - - [Texture](docs/texture.md) - - [Program](docs/program.md) - - [FBO](docs/fbo.md) - - [ArrayBuffer](docs/arraybuffer.md) - - [IndexBuffer](docs/indexbuffer.md) +[Guide](https://makemepulse.github.io/nanogl-docs/guide) | [API](https://makemepulse.github.io/nanogl-docs/api) | [Examples](https://makemepulse.github.io/nanogl-docs/examples) +#### Libraries -#### API -http://plepers.github.io/nanogl/ +There are libraries to expand nanogl for useful features : + - [nanogl-camera](https://github.com/plepers/nanogl-camera) : Cameras for nanogl + - [nanogl-node](https://github.com/plepers/nanogl-node) : Handle nested objects transform in 3D space + - [nanogl-primitives-2d](https://github.com/plepers/nanogl-primitives-2d) : Basic 2D primitives for nanogl + - [nanogl-glft](https://github.com/plepers/nanogl-gltf) : Handle .gltf files + - [nanogl-pbr](https://github.com/plepers/nanogl-pbr) : Physically based rendering materials for nanogl + - [nanogl-pf](https://github.com/plepers/nanogl-pf) : Provide pixel format related capabilities + - [nanogl-post](https://github.com/plepers/nanogl-post) : Post-processing for nanogl + - [nanogl-state](https://github.com/plepers/nanogl-state) : Efficient webgl state management + - [nanogl-sync](https://github.com/plepers/nanogl-sync) : WebGLSync for nanogl + - [nanogl-vao](https://github.com/plepers/nanogl-vao) : OES_vertex_array_object extension support for nanogl #### Build and test diff --git a/docs/arraybuffer.md b/docs/arraybuffer.md deleted file mode 100644 index 578d780..0000000 --- a/docs/arraybuffer.md +++ /dev/null @@ -1,67 +0,0 @@ -ArrayBuffer -======= -Manage ARRAY_BUFFER type Arraybuffers. - -##exemples - -##### ArrayBuffer creation - -```JavaScript -// create empty Arraybuffer -var buffer = new ArrayBuffer( gl ); - -// you can also provide initial data and optional usage hint -var data = new Float32Array([ 1, 0, 0, 0, 0, 1 ] ); -var buffer = new ArrayBuffer( gl, data, gl.DYNAMIC_DRAW ); -``` - -##### Populate Buffer - -Set buffer data -```JavaScript -var buffer = new ArrayBuffer( gl ); - -// allocate buffer with TypedArray -var data = new Float32Array([ 1, 0, 0, 0, 0, 1 ] ); -buffer.data( data ); - -// update buffer data, starting at third float -var part = new Float32Array([ 0, 0, 1 ] ); -buffer.subData( part, 12 ); -``` - -##### declare attributes - -```JavaScript -// create 4 vertices ( vec3 position + vec2 uvs) - -var data = new float32Array([ - -1, -1, 0, 0, 0, - 1, -1, 0, 1, 0, - -1, 1, 0, 0, 1, - 1, 1, 0, 1, 1 -]); - -var buffer = new ArrayBuffer( gl, data ); -buffer.attrib( 'aPosition', 3, gl.FLOAT ); -buffer.attrib( 'aTexCoord', 2, gl.FLOAT ); - -// setup vertex attribute pointer of a given program -buffer.attribPointer( program ); - -``` - -##### Drawing commands - -ArrayBuffer provide gl.drawArrays shortcuts, with optional count/offset. - - - `drawPoints(count, offset)` - - `drawLineStrip(count, offset)` - - `drawLineLoop(count, offset)` - - `drawLines(count, offset)` - - `drawTriangleStrip(count, offset)` - - `drawTriangleFan(count, offset)` - - `drawTriangles(count, offset)` - -`count` in elements and `offset` in bytes -If count/ offset is missing, the full buffer is drawn. diff --git a/docs/data.json b/docs/data.json new file mode 100644 index 0000000..d700b74 --- /dev/null +++ b/docs/data.json @@ -0,0 +1,13463 @@ +{ + "id": 0, + "name": "nanogl", + "kind": 1, + "flags": {}, + "originalName": "", + "children": [ + { + "id": 1, + "name": "arraybuffer", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 9, + "name": "ArrayBuffer", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages ARRAY_BUFFER type buffers." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 10, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 57, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L57" + } + ], + "signatures": [ + { + "id": 11, + "name": "new ArrayBuffer", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 12, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this ArrayBuffer belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 13, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to fill the buffer with, or the size (in bytes)" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + }, + { + "id": 14, + "name": "usage", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The usage hint for this buffer (" + }, + { + "kind": "code", + "text": "`GL_STATIC_DRAW`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DYNAMIC_DRAW`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "gl.STATIC_DRAW" + }, + { + "id": 15, + "name": "glbuffer", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A WebGLBuffer to use instead of creating a new one" + } + ] + }, + "type": { + "type": "reference", + "name": "WebGLBuffer", + "qualifiedName": "WebGLBuffer", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "id": 9, + "name": "ArrayBuffer" + }, + "overwrites": { + "type": "reference", + "id": 81, + "name": "BaseBuffer.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 80, + "name": "BaseBuffer.constructor" + } + }, + { + "id": 22, + "name": "attribs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The attributes declared for this buffer" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 49, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L49" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 2, + "name": "AttributeDef" + } + } + }, + { + "id": 17, + "name": "buffer", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl buffer this ArrayBuffer writes to" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 38, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L38" + } + ], + "type": { + "type": "reference", + "name": "WebGLBuffer", + "qualifiedName": "WebGLBuffer", + "package": "typescript" + } + }, + { + "id": 20, + "name": "byteLength", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The length in bytes of the buffer" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 45, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 16, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this ArrayBuffer belongs to" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 36, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L36" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 21, + "name": "length", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of vertices in the buffer data" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 47, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L47" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 19, + "name": "stride", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of bytes for each vertex in this buffer" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 43, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L43" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 18, + "name": "usage", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The usage hint for this buffer" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 41, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 48, + "name": "_computeLength", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 155, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L155" + } + ], + "signatures": [ + { + "id": 49, + "name": "_computeLength", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compute the number of vertices in the buffer data." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 25, + "name": "attrib", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 87, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L87" + } + ], + "signatures": [ + { + "id": 26, + "name": "attrib", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add attribute declaration for this buffer. Once the attributes declared, the buffer can be linked to\nthe program's attributes using " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "attribPointer", + "target": 38 + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 27, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the program's attribute" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 28, + "name": "size", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The size of the attribute (" + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": " for a number, " + }, + { + "kind": "code", + "text": "`2`" + }, + { + "kind": "text", + "text": " for a vec2, etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 29, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of data (" + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_SHORT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 30, + "name": "normalize", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicate if the data must be normalized" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "id": 9, + "name": "ArrayBuffer" + } + } + ] + }, + { + "id": 38, + "name": "attribPointer", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 123, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L123" + } + ], + "signatures": [ + { + "id": 39, + "name": "attribPointer", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Link the given program attributes to this buffer. You should first declare attributes using " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "attrib", + "target": 25 + }, + { + "kind": "text", + "text": "\nbefore calling this method." + } + ] + }, + "parameters": [ + { + "id": 40, + "name": "program", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The program to link" + } + ] + }, + "type": { + "type": "reference", + "id": 266, + "name": "Program" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 23, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 75, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L75" + } + ], + "signatures": [ + { + "id": 24, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl buffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 83, + "name": "BaseBuffer.bind" + } + } + ], + "overwrites": { + "type": "reference", + "id": 82, + "name": "BaseBuffer.bind" + } + }, + { + "id": 31, + "name": "data", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 101, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L101" + } + ], + "signatures": [ + { + "id": 32, + "name": "data", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fill the webgl buffer with the given data. You can also pass a number instead to allocate the buffer to a given size." + } + ] + }, + "parameters": [ + { + "id": 33, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use, or a size" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 87, + "name": "BaseBuffer.data" + } + } + ], + "overwrites": { + "type": "reference", + "id": 86, + "name": "BaseBuffer.data" + } + }, + { + "id": 46, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 148, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L148" + } + ], + "signatures": [ + { + "id": 47, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this BaseBuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 85, + "name": "BaseBuffer.dispose" + } + } + ], + "overwrites": { + "type": "reference", + "id": 84, + "name": "BaseBuffer.dispose" + } + }, + { + "id": 41, + "name": "draw", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 144, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L144" + } + ], + "signatures": [ + { + "id": 42, + "name": "draw", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 43, + "name": "mode", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of primitive to draw (" + }, + { + "kind": "code", + "text": "`GL_TRIANGLE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_POINTS`" + }, + { + "kind": "text", + "text": " etc)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 44, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of vertices to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 45, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position of the first vertex to draw" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 94, + "name": "BaseBuffer.draw" + } + } + ], + "overwrites": { + "type": "reference", + "id": 93, + "name": "BaseBuffer.draw" + } + }, + { + "id": 58, + "name": "drawLineLoop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 59, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L59" + } + ], + "signatures": [ + { + "id": 59, + "name": "drawLineLoop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_LOOP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 60, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 61, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 107, + "name": "BaseBuffer.drawLineLoop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 106, + "name": "BaseBuffer.drawLineLoop" + } + }, + { + "id": 62, + "name": "drawLineStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 68, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L68" + } + ], + "signatures": [ + { + "id": 63, + "name": "drawLineStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 64, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 65, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 111, + "name": "BaseBuffer.drawLineStrip" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 110, + "name": "BaseBuffer.drawLineStrip" + } + }, + { + "id": 54, + "name": "drawLines", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 50, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L50" + } + ], + "signatures": [ + { + "id": 55, + "name": "drawLines", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 56, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 57, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 103, + "name": "BaseBuffer.drawLines" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 102, + "name": "BaseBuffer.drawLines" + } + }, + { + "id": 50, + "name": "drawPoints", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 41, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L41" + } + ], + "signatures": [ + { + "id": 51, + "name": "drawPoints", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.POINTS, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 52, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 53, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 99, + "name": "BaseBuffer.drawPoints" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 98, + "name": "BaseBuffer.drawPoints" + } + }, + { + "id": 74, + "name": "drawTriangleFan", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 95, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L95" + } + ], + "signatures": [ + { + "id": 75, + "name": "drawTriangleFan", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_FAN, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 76, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 77, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 123, + "name": "BaseBuffer.drawTriangleFan" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 122, + "name": "BaseBuffer.drawTriangleFan" + } + }, + { + "id": 70, + "name": "drawTriangleStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 86, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L86" + } + ], + "signatures": [ + { + "id": 71, + "name": "drawTriangleStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 72, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 73, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 119, + "name": "BaseBuffer.drawTriangleStrip" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 118, + "name": "BaseBuffer.drawTriangleStrip" + } + }, + { + "id": 66, + "name": "drawTriangles", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 77, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L77" + } + ], + "signatures": [ + { + "id": 67, + "name": "drawTriangles", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 68, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 69, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 115, + "name": "BaseBuffer.drawTriangles" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 114, + "name": "BaseBuffer.drawTriangles" + } + }, + { + "id": 34, + "name": "subData", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 111, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L111" + } + ], + "signatures": [ + { + "id": 35, + "name": "subData", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set part of the buffer with the given data, starting at an offset." + } + ] + }, + "parameters": [ + { + "id": 36, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use" + } + ] + }, + "type": { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + }, + { + "id": 37, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The offset (in bytes) where the data should start to be written" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 90, + "name": "BaseBuffer.subData" + } + } + ], + "overwrites": { + "type": "reference", + "id": 89, + "name": "BaseBuffer.subData" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 10 + ] + }, + { + "title": "Properties", + "children": [ + 22, + 17, + 20, + 16, + 21, + 19, + 18 + ] + }, + { + "title": "Methods", + "children": [ + 48, + 25, + 38, + 23, + 31, + 46, + 41, + 58, + 62, + 54, + 50, + 74, + 70, + 66, + 34 + ] + } + ], + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 34, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L34" + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 79, + "name": "BaseBuffer" + } + ] + }, + { + "id": 2, + "name": "AttributeDef", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The definition for an attribute in a buffer." + } + ] + }, + "children": [ + { + "id": 3, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The attribute name" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 14, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L14" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7, + "name": "normalize", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whethere the data must be normalized or not" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 22, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L22" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6, + "name": "offset", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The offset in bytes of the attribute data in the buffer" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 20, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L20" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5, + "name": "size", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The size of the attribute (" + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": " for a number, " + }, + { + "kind": "code", + "text": "`2`" + }, + { + "kind": "text", + "text": " for a vec2, etc.)" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 18, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L18" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 8, + "name": "stride", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of bytes for each vertex in the buffer.\nIf not set, the stride of the buffer is used." + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 27, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L27" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of data (" + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_SHORT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 16, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L16" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3, + 7, + 6, + 5, + 8, + 4 + ] + } + ], + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 12, + "character": 17, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L12" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 9 + ] + }, + { + "title": "Interfaces", + "children": [ + 2 + ] + } + ], + "sources": [ + { + "fileName": "arraybuffer.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/arraybuffer.ts#L1" + } + ] + }, + { + "id": 78, + "name": "basebuffer", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 79, + "name": "BaseBuffer", + "kind": 128, + "kindString": "Class", + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class is the base for all buffer classes." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 80, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "signatures": [ + { + "id": 81, + "name": "new BaseBuffer", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "type": { + "type": "reference", + "id": 79, + "name": "BaseBuffer" + } + } + ] + }, + { + "id": 82, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 8, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L8" + } + ], + "signatures": [ + { + "id": 83, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl buffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 86, + "name": "data", + "kind": 2048, + "kindString": "Method", + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 19, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L19" + } + ], + "signatures": [ + { + "id": 87, + "name": "data", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fill the webgl buffer with the given data. You can also pass a number instead to allocate the buffer to a given size." + } + ] + }, + "parameters": [ + { + "id": 88, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use, or a size" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 84, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 13, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L13" + } + ], + "signatures": [ + { + "id": 85, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this BaseBuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 93, + "name": "draw", + "kind": 2048, + "kindString": "Method", + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 34, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L34" + } + ], + "signatures": [ + { + "id": 94, + "name": "draw", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 95, + "name": "mode", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of primitive to draw (" + }, + { + "kind": "code", + "text": "`GL_TRIANGLE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_POINTS`" + }, + { + "kind": "text", + "text": " etc)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 96, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 97, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 106, + "name": "drawLineLoop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 59, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L59" + } + ], + "signatures": [ + { + "id": 107, + "name": "drawLineLoop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_LOOP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 108, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 109, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 110, + "name": "drawLineStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 68, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L68" + } + ], + "signatures": [ + { + "id": 111, + "name": "drawLineStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 112, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 113, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 102, + "name": "drawLines", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 50, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L50" + } + ], + "signatures": [ + { + "id": 103, + "name": "drawLines", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 104, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 105, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 98, + "name": "drawPoints", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 41, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L41" + } + ], + "signatures": [ + { + "id": 99, + "name": "drawPoints", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.POINTS, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 100, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 101, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 122, + "name": "drawTriangleFan", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 95, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L95" + } + ], + "signatures": [ + { + "id": 123, + "name": "drawTriangleFan", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_FAN, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 124, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 125, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 118, + "name": "drawTriangleStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 86, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L86" + } + ], + "signatures": [ + { + "id": 119, + "name": "drawTriangleStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 120, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 121, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 114, + "name": "drawTriangles", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 77, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L77" + } + ], + "signatures": [ + { + "id": 115, + "name": "drawTriangles", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 116, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 117, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 89, + "name": "subData", + "kind": 2048, + "kindString": "Method", + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 26, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L26" + } + ], + "signatures": [ + { + "id": 90, + "name": "subData", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set part of the buffer with the given data, starting at an offset." + } + ] + }, + "parameters": [ + { + "id": 91, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use" + } + ] + }, + "type": { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + }, + { + "id": 92, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The offset (in bytes) where the data should start to be written" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 80 + ] + }, + { + "title": "Methods", + "children": [ + 82, + 86, + 84, + 93, + 106, + 110, + 102, + 98, + 122, + 118, + 114, + 89 + ] + } + ], + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 4, + "character": 15, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L4" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 9, + "name": "ArrayBuffer" + }, + { + "type": "reference", + "id": 204, + "name": "IndexBuffer" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 79 + ] + } + ], + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 4, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L4" + } + ] + }, + { + "id": 126, + "name": "fbo", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 128, + "name": "Attachment", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages framebuffer attachments." + } + ] + }, + "children": [ + { + "id": 129, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 34, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L34" + } + ], + "signatures": [ + { + "id": 130, + "name": "new Attachment", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 131, + "name": "target", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture or renderbuffer to attach" + } + ] + }, + "type": { + "type": "reference", + "id": 127, + "name": "AttachmentTarget" + } + } + ], + "type": { + "type": "reference", + "id": 128, + "name": "Attachment" + } + } + ] + }, + { + "id": 134, + "name": "_isTexture", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPrivate": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the attachment target is a texture or not" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 29, + "character": 10, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L29" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 132, + "name": "level", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The mipmap level of the target texture (must be " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ")" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 25, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L25" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 133, + "name": "target", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The target (texture or renderbuffer) of this attachment" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 27, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L27" + } + ], + "type": { + "type": "reference", + "id": 127, + "name": "AttachmentTarget" + } + }, + { + "id": 141, + "name": "_attach", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 71, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L71" + } + ], + "signatures": [ + { + "id": 142, + "name": "_attach", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Attach the target to the FBO.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 143, + "name": "bindingPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point of the attachment (" + }, + { + "kind": "code", + "text": "`GL_COLOR_ATTACHMENT0`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DEPTH_ATTACHMENT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 144, + "name": "_detach", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 85, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L85" + } + ], + "signatures": [ + { + "id": 145, + "name": "_detach", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Detach the target from the FBO.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 146, + "name": "bindingPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point of the attachment (" + }, + { + "kind": "code", + "text": "`GL_COLOR_ATTACHMENT0`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DEPTH_ATTACHMENT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 137, + "name": "_resize", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 54, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L54" + } + ], + "signatures": [ + { + "id": 138, + "name": "_resize", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resize the attachment target." + } + ] + }, + "parameters": [ + { + "id": 139, + "name": "w", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new width" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 140, + "name": "h", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new height" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 147, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 97, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L97" + } + ], + "signatures": [ + { + "id": 148, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Attachment." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 135, + "name": "isTexture", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 45, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L45" + } + ], + "signatures": [ + { + "id": 136, + "name": "isTexture", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Getter for the " + }, + { + "kind": "code", + "text": "`_isTexture`" + }, + { + "kind": "text", + "text": " property.\nKnow whether the attachment target is a texture or not." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 129 + ] + }, + { + "title": "Properties", + "children": [ + 134, + 132, + 133 + ] + }, + { + "title": "Methods", + "children": [ + 141, + 144, + 137, + 147, + 135 + ] + } + ], + "sources": [ + { + "fileName": "fbo.ts", + "line": 23, + "character": 13, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L23" + } + ] + }, + { + "id": 149, + "name": "Fbo", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages framebuffers and their attachments." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 150, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 124, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L124" + } + ], + "signatures": [ + { + "id": 151, + "name": "new Fbo", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 152, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this FBO belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + } + ], + "type": { + "type": "reference", + "id": 149, + "name": "Fbo" + } + } + ] + }, + { + "id": 156, + "name": "attachments", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The list of the bindingPoint/attachment pairs setup for this FBO" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 114, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L114" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 128, + "name": "Attachment" + } + ], + "name": "Record", + "qualifiedName": "Record", + "package": "typescript" + } + }, + { + "id": 155, + "name": "attachmentsList", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The list of the attachments setup for this FBO" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 112, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L112" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 128, + "name": "Attachment" + } + } + }, + { + "id": 154, + "name": "fbo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl framebuffer" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 109, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L109" + } + ], + "type": { + "type": "reference", + "name": "WebGLFramebuffer", + "qualifiedName": "WebGLFramebuffer", + "package": "typescript" + } + }, + { + "id": 153, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this FBO belongs to" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 107, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L107" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 158, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of this FBO" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 119, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L119" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 157, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of this FBO" + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 117, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L117" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 201, + "name": "_allocate", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 309, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L309" + } + ], + "signatures": [ + { + "id": 202, + "name": "_allocate", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resize all attachments to the FBO size." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 159, + "name": "attach", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 142, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L142" + } + ], + "signatures": [ + { + "id": 160, + "name": "attach", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add an attachment to this FBO.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 161, + "name": "bindingPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point of the attachment (" + }, + { + "kind": "code", + "text": "`GL_COLOR_ATTACHMENT0`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DEPTH_ATTACHMENT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 162, + "name": "res", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture or buffer to attach" + } + ] + }, + "type": { + "type": "reference", + "id": 127, + "name": "AttachmentTarget" + } + } + ], + "type": { + "type": "reference", + "id": 128, + "name": "Attachment" + } + } + ] + }, + { + "id": 177, + "name": "attachColor", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 220, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L220" + } + ], + "signatures": [ + { + "id": 178, + "name": "attachColor", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Attach a texture to the color attachment 0 of this FBO.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 179, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 180, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 181, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 128, + "name": "Attachment" + } + } + ] + }, + { + "id": 182, + "name": "attachDepth", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 232, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L232" + } + ], + "signatures": [ + { + "id": 183, + "name": "attachDepth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Attach a renderbuffer/texture to the depth/stencil attachment of this FBO.\n The FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 184, + "name": "depth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add depth component or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "true" + }, + { + "id": 185, + "name": "stencil", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add stencil component or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 186, + "name": "useTexture", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use a Texture2D instead of a RenderBuffer. If true, the depth param must also be true. You also must ensure Depth Texture capability is available on your context." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "id": 128, + "name": "Attachment" + } + } + ] + }, + { + "id": 191, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 261, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L261" + } + ], + "signatures": [ + { + "id": 192, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl framebuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 193, + "name": "clear", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 269, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L269" + } + ], + "signatures": [ + { + "id": 194, + "name": "clear", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Clear all buffers (color, depth and stencil)." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 195, + "name": "defaultViewport", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 277, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L277" + } + ], + "signatures": [ + { + "id": 196, + "name": "defaultViewport", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the webgl viewport to the size of this FBO." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 163, + "name": "detach", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 161, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L161" + } + ], + "signatures": [ + { + "id": 164, + "name": "detach", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Remove an attachment from this FBO.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "parameters": [ + { + "id": 165, + "name": "bindingPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point of the attachment (" + }, + { + "kind": "code", + "text": "`GL_COLOR_ATTACHMENT0`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DEPTH_ATTACHMENT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 199, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 293, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L293" + } + ], + "signatures": [ + { + "id": 200, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this FBO." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 166, + "name": "getAttachment", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 175, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L175" + } + ], + "signatures": [ + { + "id": 167, + "name": "getAttachment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a specific attachment of this FBO (if it exists)." + } + ] + }, + "parameters": [ + { + "id": 168, + "name": "bindingPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point of the attachment (" + }, + { + "kind": "code", + "text": "`GL_COLOR_ATTACHMENT0`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DEPTH_ATTACHMENT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 128, + "name": "Attachment" + } + ] + } + } + ] + }, + { + "id": 169, + "name": "getColor", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 187, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L187" + } + ], + "signatures": [ + { + "id": 170, + "name": "getColor", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get the color attachment of this FBO (if it exists)." + } + ] + }, + "parameters": [ + { + "id": 171, + "name": "index", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The color attachment index" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 127, + "name": "AttachmentTarget" + } + ] + } + } + ] + }, + { + "id": 172, + "name": "getColorTexture", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 196, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L196" + } + ], + "signatures": [ + { + "id": 173, + "name": "getColorTexture", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get the color texture of this FBO (if it exists)." + } + ] + }, + "parameters": [ + { + "id": 174, + "name": "index", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The color attachment index" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "reference", + "id": 352, + "name": "default" + } + } + ] + }, + { + "id": 175, + "name": "getDepth", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 205, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L205" + } + ], + "signatures": [ + { + "id": 176, + "name": "getDepth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get the depth attachment of this FBO (if it exists)." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 127, + "name": "AttachmentTarget" + } + ] + } + } + ] + }, + { + "id": 197, + "name": "isValid", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 285, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L285" + } + ], + "signatures": [ + { + "id": 198, + "name": "isValid", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Check if the FBO is valid.\nThe FBO must be explicitely bound before calling this method." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 187, + "name": "resize", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "fbo.ts", + "line": 250, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L250" + } + ], + "signatures": [ + { + "id": 188, + "name": "resize", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resize the FBO and its attachments." + } + ] + }, + "parameters": [ + { + "id": 189, + "name": "w", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new width" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 190, + "name": "h", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new height" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 150 + ] + }, + { + "title": "Properties", + "children": [ + 156, + 155, + 154, + 153, + 158, + 157 + ] + }, + { + "title": "Methods", + "children": [ + 201, + 159, + 177, + 182, + 191, + 193, + 195, + 163, + 199, + 166, + 169, + 172, + 175, + 197, + 187 + ] + } + ], + "sources": [ + { + "fileName": "fbo.ts", + "line": 105, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L105" + } + ] + }, + { + "id": 127, + "name": "AttachmentTarget", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A target for an Attachment." + } + ] + }, + "sources": [ + { + "fileName": "fbo.ts", + "line": 18, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L18" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 352, + "name": "Texture2D" + }, + { + "type": "reference", + "id": 298, + "name": "RenderBuffer" + } + ] + } + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 128, + 149 + ] + }, + { + "title": "Type Aliases", + "children": [ + 127 + ] + } + ], + "sources": [ + { + "fileName": "fbo.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/fbo.ts#L1" + } + ] + }, + { + "id": 203, + "name": "indexbuffer", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 204, + "name": "IndexBuffer", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages ELEMENT_ARRAY_BUFFER type buffers." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 205, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 35, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L35" + } + ], + "signatures": [ + { + "id": 206, + "name": "new IndexBuffer", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 207, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this IndexBuffer belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 208, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number type of the index data (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_INT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "gl.UNSIGNED_SHORT" + }, + { + "id": 209, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to fill the buffer with, or the size (in bytes)" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + }, + { + "id": 210, + "name": "usage", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The usage hint for this buffer (" + }, + { + "kind": "code", + "text": "`GL_STATIC_DRAW`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_DYNAMIC_DRAW`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "gl.STATIC_DRAW" + }, + { + "id": 211, + "name": "glbuffer", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A WebGLBuffer to use instead of creating a new one" + } + ] + }, + "type": { + "type": "reference", + "name": "WebGLBuffer", + "qualifiedName": "WebGLBuffer", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "id": 204, + "name": "IndexBuffer" + }, + "overwrites": { + "type": "reference", + "id": 81, + "name": "BaseBuffer.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 80, + "name": "BaseBuffer.constructor" + } + }, + { + "id": 213, + "name": "buffer", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl buffer this IndexBuffer writes to" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 17, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L17" + } + ], + "type": { + "type": "reference", + "name": "WebGLBuffer", + "qualifiedName": "WebGLBuffer", + "package": "typescript" + } + }, + { + "id": 217, + "name": "byteLength", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The length in bytes of the buffer" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 26, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 212, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this IndexBuffer belongs to" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 15, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L15" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 215, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number type of the index data for this buffer" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 22, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L22" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 216, + "name": "typeSize", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of bytes for each index in this buffer" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 24, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L24" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 214, + "name": "usage", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The usage hint for this buffer" + } + ] + }, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 20, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L20" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 218, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 53, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L53" + } + ], + "signatures": [ + { + "id": 219, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl buffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 83, + "name": "BaseBuffer.bind" + } + } + ], + "overwrites": { + "type": "reference", + "id": 82, + "name": "BaseBuffer.bind" + } + }, + { + "id": 223, + "name": "data", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 66, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L66" + } + ], + "signatures": [ + { + "id": 224, + "name": "data", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fill the webgl buffer with the given data. You can also pass a number instead to allocate the buffer to a given size." + } + ] + }, + "parameters": [ + { + "id": 225, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use, or a size" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 87, + "name": "BaseBuffer.data" + } + } + ], + "overwrites": { + "type": "reference", + "id": 86, + "name": "BaseBuffer.data" + } + }, + { + "id": 230, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 81, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L81" + } + ], + "signatures": [ + { + "id": 231, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this BaseBuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 85, + "name": "BaseBuffer.dispose" + } + } + ], + "overwrites": { + "type": "reference", + "id": 84, + "name": "BaseBuffer.dispose" + } + }, + { + "id": 232, + "name": "draw", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 91, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L91" + } + ], + "signatures": [ + { + "id": 233, + "name": "draw", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 234, + "name": "mode", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of primitive to draw (" + }, + { + "kind": "code", + "text": "`GL_TRIANGLE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_POINTS`" + }, + { + "kind": "text", + "text": " etc)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 235, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of indices to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 236, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position of the first index to draw" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 94, + "name": "BaseBuffer.draw" + } + } + ], + "overwrites": { + "type": "reference", + "id": 93, + "name": "BaseBuffer.draw" + } + }, + { + "id": 245, + "name": "drawLineLoop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 59, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L59" + } + ], + "signatures": [ + { + "id": 246, + "name": "drawLineLoop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_LOOP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 247, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 248, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 107, + "name": "BaseBuffer.drawLineLoop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 106, + "name": "BaseBuffer.drawLineLoop" + } + }, + { + "id": 249, + "name": "drawLineStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 68, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L68" + } + ], + "signatures": [ + { + "id": 250, + "name": "drawLineStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 251, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 252, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 111, + "name": "BaseBuffer.drawLineStrip" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 110, + "name": "BaseBuffer.drawLineStrip" + } + }, + { + "id": 241, + "name": "drawLines", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 50, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L50" + } + ], + "signatures": [ + { + "id": 242, + "name": "drawLines", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.LINES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 243, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 244, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 103, + "name": "BaseBuffer.drawLines" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 102, + "name": "BaseBuffer.drawLines" + } + }, + { + "id": 237, + "name": "drawPoints", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 41, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L41" + } + ], + "signatures": [ + { + "id": 238, + "name": "drawPoints", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.POINTS, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 239, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 240, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 99, + "name": "BaseBuffer.drawPoints" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 98, + "name": "BaseBuffer.drawPoints" + } + }, + { + "id": 261, + "name": "drawTriangleFan", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 95, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L95" + } + ], + "signatures": [ + { + "id": 262, + "name": "drawTriangleFan", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_FAN, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 263, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 264, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 123, + "name": "BaseBuffer.drawTriangleFan" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 122, + "name": "BaseBuffer.drawTriangleFan" + } + }, + { + "id": 257, + "name": "drawTriangleStrip", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 86, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L86" + } + ], + "signatures": [ + { + "id": 258, + "name": "drawTriangleStrip", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLE_STRIP, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 259, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 260, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 119, + "name": "BaseBuffer.drawTriangleStrip" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 118, + "name": "BaseBuffer.drawTriangleStrip" + } + }, + { + "id": 253, + "name": "drawTriangles", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "basebuffer.ts", + "line": 77, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/basebuffer.ts#L77" + } + ], + "signatures": [ + { + "id": 254, + "name": "drawTriangles", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut to " + }, + { + "kind": "code", + "text": "`gl.drawArrays(gl.TRIANGLES, offset, count)`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 255, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of elements to draw (the full buffer is used if omited)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 256, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The position in the buffer to start from" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 115, + "name": "BaseBuffer.drawTriangles" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 114, + "name": "BaseBuffer.drawTriangles" + } + }, + { + "id": 220, + "name": "setType", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 61, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L61" + } + ], + "signatures": [ + { + "id": 221, + "name": "setType", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Change the internal type of the index data of the IndexBuffer." + } + ] + }, + "parameters": [ + { + "id": 222, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "the number type of the index data (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_INT`" + }, + { + "kind": "text", + "text": ", etc)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 226, + "name": "subData", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 74, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L74" + } + ], + "signatures": [ + { + "id": 227, + "name": "subData", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set part of the buffer with the given data, starting at an offset." + } + ] + }, + "parameters": [ + { + "id": 228, + "name": "array", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to use" + } + ] + }, + "type": { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + }, + { + "id": 229, + "name": "offset", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The offset (in bytes) where the data should start to be written" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "overwrites": { + "type": "reference", + "id": 90, + "name": "BaseBuffer.subData" + } + } + ], + "overwrites": { + "type": "reference", + "id": 89, + "name": "BaseBuffer.subData" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 205 + ] + }, + { + "title": "Properties", + "children": [ + 213, + 217, + 212, + 215, + 216, + 214 + ] + }, + { + "title": "Methods", + "children": [ + 218, + 223, + 230, + 232, + 245, + 249, + 241, + 237, + 261, + 257, + 253, + 220, + 226 + ] + } + ], + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 13, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L13" + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 79, + "name": "BaseBuffer" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 204 + ] + } + ], + "sources": [ + { + "fileName": "indexbuffer.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/indexbuffer.ts#L1" + } + ] + }, + { + "id": 265, + "name": "program", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 266, + "name": "Program", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class provides provides shader compilation and webgl program linking functionality.\nIt also give you convenient access to active uniforms and attributes." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 268, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 47, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L47" + } + ], + "signatures": [ + { + "id": 269, + "name": "new Program", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "You can pass optional shader code to immediatly compile shaders or compile them later with " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "compile", + "target": 286 + }, + { + "kind": "text", + "text": "." + } + ] + }, + "parameters": [ + { + "id": 270, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Program belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 271, + "name": "vert", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The vertex shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 272, + "name": "frag", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The fragment shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 273, + "name": "defs", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A string to prepend to both fragment and vertex shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 266, + "name": "Program" + } + } + ] + }, + { + "id": 281, + "name": "_cuid", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the program that updates every time it is compiled" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 36, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 280, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the program" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 34, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 278, + "name": "dyns", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The list of uniform & attribute names" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 29, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L29" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 277, + "name": "fShader", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl fragment shader" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 26, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L26" + } + ], + "type": { + "type": "reference", + "name": "WebGLShader", + "qualifiedName": "WebGLShader", + "package": "typescript" + } + }, + { + "id": 274, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Program belongs to" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 19, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L19" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 275, + "name": "program", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl program" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 22, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L22" + } + ], + "type": { + "type": "reference", + "name": "WebGLProgram", + "qualifiedName": "WebGLProgram", + "package": "typescript" + } + }, + { + "id": 279, + "name": "ready", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the program is ready to use or not" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 32, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 276, + "name": "vShader", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl vertex shader" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 24, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L24" + } + ], + "type": { + "type": "reference", + "name": "WebGLShader", + "qualifiedName": "WebGLShader", + "package": "typescript" + } + }, + { + "id": 267, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isStatic": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Can be set to true to check and log compilation and linking errors" + } + ] + }, + "sources": [ + { + "fileName": "program.ts", + "line": 17, + "character": 9, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L17" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 293, + "name": "_grabParameters", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 148, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L148" + } + ], + "signatures": [ + { + "id": 294, + "name": "_grabParameters", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List all uniforms and attributes and create a helper function for each on Program instance." + } + ], + "blockTags": [ + { + "tag": "@example", + "content": [ + { + "kind": "text", + "text": "For a uniform\n" + }, + { + "kind": "code", + "text": "```glsl\nuniform vec3 uDirection;\n```" + }, + { + "kind": "text", + "text": "\nit creates a method\n" + }, + { + "kind": "code", + "text": "```js\nprogram.uDirection(1, 0, 0);\n```" + } + ] + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 284, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 79, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L79" + } + ], + "signatures": [ + { + "id": 285, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "use", + "target": 282 + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 286, + "name": "compile", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 90, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L90" + } + ], + "signatures": [ + { + "id": 287, + "name": "compile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compile vertex and fragment shader, then link webgl program.\nThis method can be safely called several times." + } + ] + }, + "parameters": [ + { + "id": 288, + "name": "vert", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The vertex shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 289, + "name": "frag", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The fragment shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 290, + "name": "prefix", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A string to prepend to both fragment and vertex shader code" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 291, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 121, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L121" + } + ], + "signatures": [ + { + "id": 292, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Program." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 282, + "name": "use", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "program.ts", + "line": 69, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L69" + } + ], + "signatures": [ + { + "id": 283, + "name": "use", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl program.\nShortcut for " + }, + { + "kind": "code", + "text": "`gl.useProgram()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 268 + ] + }, + { + "title": "Properties", + "children": [ + 281, + 280, + 278, + 277, + 274, + 275, + 279, + 276, + 267 + ] + }, + { + "title": "Methods", + "children": [ + 293, + 284, + 286, + 291, + 282 + ] + } + ], + "sources": [ + { + "fileName": "program.ts", + "line": 15, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L15" + } + ], + "indexSignature": { + "id": 295, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 296, + "name": "k", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 266 + ] + } + ], + "sources": [ + { + "fileName": "program.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/program.ts#L1" + } + ] + }, + { + "id": 297, + "name": "renderbuffer", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 298, + "name": "RenderBuffer", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages renderbuffers." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 299, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 35, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L35" + } + ], + "signatures": [ + { + "id": 300, + "name": "new RenderBuffer", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 301, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this RenderBuffer belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 302, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the renderbuffer (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_DEPTH_COMPONENT16`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 303, + "name": "samples", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of samples to be used for the renderbuffer storage (webgl2 only)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "reference", + "id": 298, + "name": "RenderBuffer" + } + } + ] + }, + { + "id": 310, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the RenderBuffer" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 26, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 311, + "name": "_valid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPrivate": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the RenderBuffer is valid or not" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 28, + "character": 10, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L28" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 307, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the renderbuffer" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 18, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L18" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 304, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this RenderBuffer belongs to" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 12, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L12" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 309, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of the renderbuffer" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 23, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 305, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl renderbuffer" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 14, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L14" + } + ], + "type": { + "type": "reference", + "name": "WebGLRenderbuffer", + "qualifiedName": "WebGLRenderbuffer", + "package": "typescript" + } + }, + { + "id": 306, + "name": "samples", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The number of samples used for the renderbuffer storage (webgl2 only)" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 16, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L16" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 308, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of the renderbuffer" + } + ] + }, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 21, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 322, + "name": "_storage", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 98, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L98" + } + ], + "signatures": [ + { + "id": 323, + "name": "_storage", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allocate webgl renderbuffer with current parameters." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 316, + "name": "allocate", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 74, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L74" + } + ], + "signatures": [ + { + "id": 317, + "name": "allocate", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Check renderbuffer for validity and allocate it if invalid.\nThis method may leave RENDERBUFFER binding point empty." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 318, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 84, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L84" + } + ], + "signatures": [ + { + "id": 319, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl renderbuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 320, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 91, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L91" + } + ], + "signatures": [ + { + "id": 321, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this RenderBuffer." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 312, + "name": "resize", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 62, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L62" + } + ], + "signatures": [ + { + "id": 313, + "name": "resize", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resize the RenderBuffer." + } + ] + }, + "parameters": [ + { + "id": 314, + "name": "w", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new width" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 315, + "name": "h", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The new height" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 299 + ] + }, + { + "title": "Properties", + "children": [ + 310, + 311, + 307, + 304, + 309, + 305, + 306, + 308 + ] + }, + { + "title": "Methods", + "children": [ + 322, + 316, + 318, + 320, + 312 + ] + } + ], + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 10, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L10" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 298 + ] + } + ], + "sources": [ + { + "fileName": "renderbuffer.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/renderbuffer.ts#L1" + } + ] + }, + { + "id": 324, + "name": "sampler", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 325, + "name": "Sampler", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages GLES3 Samplers." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 326, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 20, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L20" + } + ], + "signatures": [ + { + "id": 327, + "name": "new Sampler", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 328, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl2 context this Sampler belongs to" + } + ] + }, + "type": { + "type": "reference", + "name": "WebGL2RenderingContext", + "qualifiedName": "WebGL2RenderingContext", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "id": 325, + "name": "Sampler" + } + } + ] + }, + { + "id": 329, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the Sampler" + } + ] + }, + "sources": [ + { + "fileName": "sampler.ts", + "line": 10, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L10" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 330, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Sampler belongs to" + } + ] + }, + "sources": [ + { + "fileName": "sampler.ts", + "line": 13, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L13" + } + ], + "type": { + "type": "reference", + "name": "WebGL2RenderingContext", + "qualifiedName": "WebGL2RenderingContext", + "package": "typescript" + } + }, + { + "id": 331, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl sampler" + } + ] + }, + "sources": [ + { + "fileName": "sampler.ts", + "line": 15, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L15" + } + ], + "type": { + "type": "reference", + "name": "WebGLSampler", + "qualifiedName": "WebGLSampler", + "package": "typescript" + } + }, + { + "id": 332, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 31, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L31" + } + ], + "signatures": [ + { + "id": 333, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl sampler." + } + ] + }, + "parameters": [ + { + "id": 334, + "name": "unit", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture unit to make active before binding" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 344, + "name": "clamp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 66, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L66" + } + ], + "signatures": [ + { + "id": 345, + "name": "clamp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make sampler clamp :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 335, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 38, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L38" + } + ], + "signatures": [ + { + "id": 336, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Sampler." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 346, + "name": "mirror", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 74, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L74" + } + ], + "signatures": [ + { + "id": 347, + "name": "mirror", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make sampler mirror :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_MIRRORED_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 342, + "name": "repeat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 58, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L58" + } + ], + "signatures": [ + { + "id": 343, + "name": "repeat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make sampler repeat :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 337, + "name": "setFilter", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 48, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L48" + } + ], + "signatures": [ + { + "id": 338, + "name": "setFilter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Change the filtering parameters." + } + ] + }, + "parameters": [ + { + "id": 339, + "name": "smooth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear filtering or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 340, + "name": "mipmap", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enable mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 341, + "name": "miplinear", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 348, + "name": "wrap", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "sampler.ts", + "line": 82, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L82" + } + ], + "signatures": [ + { + "id": 349, + "name": "wrap", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to the given value." + } + ] + }, + "parameters": [ + { + "id": 350, + "name": "wrap", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The wrap value to use (" + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 326 + ] + }, + { + "title": "Properties", + "children": [ + 329, + 330, + 331 + ] + }, + { + "title": "Methods", + "children": [ + 332, + 344, + 335, + 346, + 342, + 337, + 348 + ] + } + ], + "sources": [ + { + "fileName": "sampler.ts", + "line": 8, + "character": 6, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L8" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 325 + ] + } + ], + "sources": [ + { + "fileName": "sampler.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/sampler.ts#L1" + } + ] + }, + { + "id": 351, + "name": "texture-2d", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 352, + "name": "Texture2D", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages TEXTURE_2D type textures." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 353, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 22, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L22" + } + ], + "signatures": [ + { + "id": 354, + "name": "new Texture2D", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 355, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 356, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 357, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 358, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "overwrites": { + "type": "reference", + "id": 411, + "name": "default.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 410, + "name": "default.constructor" + } + }, + { + "id": 360, + "name": "_target", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point for this Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 13, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L13" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "GL_TEXTURE_2D", + "overwrites": { + "type": "reference", + "id": 425, + "name": "default._target" + } + }, + { + "id": 376, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 45, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 424, + "name": "default._uid" + } + }, + { + "id": 373, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 38, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 421, + "name": "default.format" + } + }, + { + "id": 369, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 28, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L28" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + }, + "inheritedFrom": { + "type": "reference", + "id": 417, + "name": "default.gl" + } + }, + { + "id": 372, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 35, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L35" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 420, + "name": "default.height" + } + }, + { + "id": 370, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 30, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L30" + } + ], + "type": { + "type": "reference", + "name": "WebGLTexture", + "qualifiedName": "WebGLTexture", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "id": 418, + "name": "default.id" + } + }, + { + "id": 374, + "name": "internal", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 40, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 422, + "name": "default.internal" + } + }, + { + "id": 359, + "name": "textureType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of webgl texture (" + }, + { + "kind": "code", + "text": "`TEXTURE_2D`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`TEXTURE_CUBE`" + }, + { + "kind": "text", + "text": ", etc)" + } + ] + }, + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 11, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L11" + } + ], + "type": { + "type": "reference", + "id": 404, + "name": "TEXTURE_2D" + }, + "defaultValue": "TextureType.TEXTURE_2D", + "overwrites": { + "type": "reference", + "id": 416, + "name": "default.textureType" + } + }, + { + "id": 375, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 42, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 423, + "name": "default.type" + } + }, + { + "id": 371, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 33, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 419, + "name": "default.width" + } + }, + { + "id": 382, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 81, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L81" + } + ], + "signatures": [ + { + "id": 383, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl texture." + } + ] + }, + "parameters": [ + { + "id": 384, + "name": "unit", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture unit to make active before binding" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 432, + "name": "default.bind" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 431, + "name": "default.bind" + } + }, + { + "id": 394, + "name": "clamp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 122, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L122" + } + ], + "signatures": [ + { + "id": 395, + "name": "clamp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture clamp :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 444, + "name": "default.clamp" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 443, + "name": "default.clamp" + } + }, + { + "id": 385, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 92, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L92" + } + ], + "signatures": [ + { + "id": 386, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Texture." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 435, + "name": "default.dispose" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 434, + "name": "default.dispose" + } + }, + { + "id": 364, + "name": "fromData", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 51, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L51" + } + ], + "signatures": [ + { + "id": 365, + "name": "fromData", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the texture data from a TypedArray.\nYou can also allocate an empty texture by providing only the size." + } + ] + }, + "parameters": [ + { + "id": 366, + "name": "width", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of the texture" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 367, + "name": "height", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of the texture" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 368, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The data to fill the texture with, or null to allocate an empty texture" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "name": "ArrayBufferView", + "qualifiedName": "ArrayBufferView", + "package": "typescript" + } + ] + }, + "defaultValue": "null" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 361, + "name": "fromImage", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 34, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L34" + } + ], + "signatures": [ + { + "id": 362, + "name": "fromImage", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the texture data from an HTML source." + } + ] + }, + "parameters": [ + { + "id": 363, + "name": "img", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The HTML image, canvas or video element to use as source" + } + ] + }, + "type": { + "type": "reference", + "name": "TexImageSource", + "qualifiedName": "TexImageSource", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 396, + "name": "mirror", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 131, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L131" + } + ], + "signatures": [ + { + "id": 397, + "name": "mirror", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture mirror :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_MIRRORED_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 446, + "name": "default.mirror" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 445, + "name": "default.mirror" + } + }, + { + "id": 392, + "name": "repeat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 113, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L113" + } + ], + "signatures": [ + { + "id": 393, + "name": "repeat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture repeat :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 442, + "name": "default.repeat" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 441, + "name": "default.repeat" + } + }, + { + "id": 387, + "name": "setFilter", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 102, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L102" + } + ], + "signatures": [ + { + "id": 388, + "name": "setFilter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Change the filtering parameters." + } + ] + }, + "parameters": [ + { + "id": 389, + "name": "smooth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear filtering or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 390, + "name": "mipmap", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enable mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 391, + "name": "miplinear", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 437, + "name": "default.setFilter" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 436, + "name": "default.setFilter" + } + }, + { + "id": 377, + "name": "setFormat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 71, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L71" + } + ], + "signatures": [ + { + "id": 378, + "name": "setFormat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Define underlying format, internal format and data type of the texture." + } + ] + }, + "parameters": [ + { + "id": 379, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 380, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 381, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 427, + "name": "default.setFormat" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 426, + "name": "default.setFormat" + } + }, + { + "id": 398, + "name": "wrap", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 140, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L140" + } + ], + "signatures": [ + { + "id": 399, + "name": "wrap", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to the given value." + } + ] + }, + "parameters": [ + { + "id": 400, + "name": "wrap", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The wrap value to use (" + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 352, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 448, + "name": "default.wrap" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 447, + "name": "default.wrap" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 353 + ] + }, + { + "title": "Properties", + "children": [ + 360, + 376, + 373, + 369, + 372, + 370, + 374, + 359, + 375, + 371 + ] + }, + { + "title": "Methods", + "children": [ + 382, + 394, + 385, + 364, + 361, + 396, + 392, + 387, + 377, + 398 + ] + } + ], + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 9, + "character": 21, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L9" + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 409, + "name": "default" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 352 + ] + } + ], + "sources": [ + { + "fileName": "texture-2d.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-2d.ts#L1" + } + ] + }, + { + "id": 401, + "name": "texture-base", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 402, + "name": "TextureType", + "kind": 8, + "kindString": "Enumeration", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The types of webgl textures." + } + ] + }, + "children": [ + { + "id": 403, + "name": "NONE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 10, + "character": 4, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L10" + } + ], + "type": { + "type": "literal", + "value": 0 + } + }, + { + "id": 404, + "name": "TEXTURE_2D", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 11, + "character": 4, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L11" + } + ], + "type": { + "type": "literal", + "value": 3553 + } + }, + { + "id": 405, + "name": "TEXTURE_2D_ARRAY", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 12, + "character": 4, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L12" + } + ], + "type": { + "type": "literal", + "value": 35866 + } + }, + { + "id": 407, + "name": "TEXTURE_3D", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 14, + "character": 4, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L14" + } + ], + "type": { + "type": "literal", + "value": 32879 + } + }, + { + "id": 406, + "name": "TEXTURE_CUBE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 13, + "character": 4, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L13" + } + ], + "type": { + "type": "literal", + "value": 34067 + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 403, + 404, + 405, + 407, + 406 + ] + } + ], + "sources": [ + { + "fileName": "texture-base.ts", + "line": 9, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L9" + } + ] + }, + { + "id": 409, + "name": "AbstractTexture", + "kind": 128, + "kindString": "Class", + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class is the base for all texture classes." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 410, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 56, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L56" + } + ], + "signatures": [ + { + "id": 411, + "name": "new AbstractTexture", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 412, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 413, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 414, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 415, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + }, + { + "id": 425, + "name": "_target", + "kind": 1024, + "kindString": "Property", + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point for this Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 48, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 424, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 45, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 421, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 38, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 417, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 28, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L28" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 420, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 35, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L35" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 418, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 30, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L30" + } + ], + "type": { + "type": "reference", + "name": "WebGLTexture", + "qualifiedName": "WebGLTexture", + "package": "typescript" + } + }, + { + "id": 422, + "name": "internal", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 40, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 416, + "name": "textureType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of webgl texture (" + }, + { + "kind": "code", + "text": "`TEXTURE_2D`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`TEXTURE_CUBE`" + }, + { + "kind": "text", + "text": ", etc)" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 25, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L25" + } + ], + "type": { + "type": "reference", + "id": 402, + "name": "TextureType" + }, + "defaultValue": "TextureType.NONE" + }, + { + "id": 423, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 42, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 419, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 33, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 431, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 81, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L81" + } + ], + "signatures": [ + { + "id": 432, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl texture." + } + ] + }, + "parameters": [ + { + "id": 433, + "name": "unit", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture unit to make active before binding" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 443, + "name": "clamp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 122, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L122" + } + ], + "signatures": [ + { + "id": 444, + "name": "clamp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture clamp :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + }, + { + "id": 434, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 92, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L92" + } + ], + "signatures": [ + { + "id": 435, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Texture." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 445, + "name": "mirror", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 131, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L131" + } + ], + "signatures": [ + { + "id": 446, + "name": "mirror", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture mirror :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_MIRRORED_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + }, + { + "id": 441, + "name": "repeat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 113, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L113" + } + ], + "signatures": [ + { + "id": 442, + "name": "repeat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture repeat :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + }, + { + "id": 436, + "name": "setFilter", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 102, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L102" + } + ], + "signatures": [ + { + "id": 437, + "name": "setFilter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Change the filtering parameters." + } + ] + }, + "parameters": [ + { + "id": 438, + "name": "smooth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear filtering or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 439, + "name": "mipmap", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enable mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 440, + "name": "miplinear", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + }, + { + "id": 426, + "name": "setFormat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 71, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L71" + } + ], + "signatures": [ + { + "id": 427, + "name": "setFormat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Define underlying format, internal format and data type of the texture." + } + ] + }, + "parameters": [ + { + "id": 428, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 429, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 430, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 447, + "name": "wrap", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 140, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L140" + } + ], + "signatures": [ + { + "id": 448, + "name": "wrap", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to the given value." + } + ] + }, + "parameters": [ + { + "id": 449, + "name": "wrap", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The wrap value to use (" + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 409, + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 410 + ] + }, + { + "title": "Properties", + "children": [ + 425, + 424, + 421, + 417, + 420, + 418, + 422, + 416, + 423, + 419 + ] + }, + { + "title": "Methods", + "children": [ + 431, + 443, + 434, + 445, + 441, + 436, + 426, + 447 + ] + } + ], + "sources": [ + { + "fileName": "texture-base.ts", + "line": 23, + "character": 30, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L23" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 352, + "name": "Texture2D" + }, + { + "type": "reference", + "id": 451, + "name": "TextureCube" + } + ] + }, + { + "id": 408, + "name": "Texture", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A nanogl texture." + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 18, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L18" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 451, + "name": "TextureCube" + }, + { + "type": "reference", + "id": 352, + "name": "Texture2D" + } + ] + } + } + ], + "groups": [ + { + "title": "Enumerations", + "children": [ + 402 + ] + }, + { + "title": "Classes", + "children": [ + 409 + ] + }, + { + "title": "Type Aliases", + "children": [ + 408 + ] + } + ], + "sources": [ + { + "fileName": "texture-base.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L1" + } + ] + }, + { + "id": 450, + "name": "texture-cube", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 451, + "name": "TextureCube", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class manages TEXTURE_CUBE type textures." + } + ] + }, + "originalName": "default", + "children": [ + { + "id": 452, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 22, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L22" + } + ], + "signatures": [ + { + "id": 453, + "name": "new TextureCube", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 454, + "name": "gl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + }, + { + "id": 455, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 456, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 457, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "overwrites": { + "type": "reference", + "id": 411, + "name": "default.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 410, + "name": "default.constructor" + } + }, + { + "id": 459, + "name": "_target", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The binding point for this Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 13, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L13" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "GL_TEXTURE_CUBE", + "overwrites": { + "type": "reference", + "id": 425, + "name": "default._target" + } + }, + { + "id": 470, + "name": "_uid", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique id for the Texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 45, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 424, + "name": "default._uid" + } + }, + { + "id": 467, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 38, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 421, + "name": "default.format" + } + }, + { + "id": 463, + "name": "gl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context this Texture belongs to" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 28, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L28" + } + ], + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + }, + "inheritedFrom": { + "type": "reference", + "id": 417, + "name": "default.gl" + } + }, + { + "id": 466, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The height of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 35, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L35" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 420, + "name": "default.height" + } + }, + { + "id": 464, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The underlying webgl texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 30, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L30" + } + ], + "type": { + "type": "reference", + "name": "WebGLTexture", + "qualifiedName": "WebGLTexture", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "id": 418, + "name": "default.id" + } + }, + { + "id": 468, + "name": "internal", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 40, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 422, + "name": "default.internal" + } + }, + { + "id": 458, + "name": "textureType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of webgl texture (" + }, + { + "kind": "code", + "text": "`TEXTURE_2D`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`TEXTURE_CUBE`" + }, + { + "kind": "text", + "text": ", etc)" + } + ] + }, + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 11, + "character": 11, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L11" + } + ], + "type": { + "type": "reference", + "id": 406, + "name": "TEXTURE_CUBE" + }, + "defaultValue": "TextureType.TEXTURE_CUBE", + "overwrites": { + "type": "reference", + "id": 416, + "name": "default.textureType" + } + }, + { + "id": 469, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 42, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "id": 423, + "name": "default.type" + } + }, + { + "id": 465, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The width of the texture" + } + ] + }, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 33, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 419, + "name": "default.width" + } + }, + { + "id": 476, + "name": "bind", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 81, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L81" + } + ], + "signatures": [ + { + "id": 477, + "name": "bind", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind the underlying webgl texture." + } + ] + }, + "parameters": [ + { + "id": 478, + "name": "unit", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The texture unit to make active before binding" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 432, + "name": "default.bind" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 431, + "name": "default.bind" + } + }, + { + "id": 488, + "name": "clamp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 122, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L122" + } + ], + "signatures": [ + { + "id": 489, + "name": "clamp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture clamp :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 444, + "name": "default.clamp" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 443, + "name": "default.clamp" + } + }, + { + "id": 479, + "name": "dispose", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 92, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L92" + } + ], + "signatures": [ + { + "id": 480, + "name": "dispose", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Delete all webgl objects related to this Texture." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 435, + "name": "default.dispose" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 434, + "name": "default.dispose" + } + }, + { + "id": 460, + "name": "fromImages", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 34, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L34" + } + ], + "signatures": [ + { + "id": 461, + "name": "fromImages", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the texture data from a list of HTML sources." + } + ] + }, + "parameters": [ + { + "id": 462, + "name": "imgs", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The list of HTML image, canvas or video elements to use as source" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "name": "TexImageSource", + "qualifiedName": "TexImageSource", + "package": "typescript" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 490, + "name": "mirror", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 131, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L131" + } + ], + "signatures": [ + { + "id": 491, + "name": "mirror", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture mirror :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_MIRRORED_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 446, + "name": "default.mirror" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 445, + "name": "default.mirror" + } + }, + { + "id": 486, + "name": "repeat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 113, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L113" + } + ], + "signatures": [ + { + "id": 487, + "name": "repeat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make texture repeat :\nSet the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to " + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 442, + "name": "default.repeat" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 441, + "name": "default.repeat" + } + }, + { + "id": 481, + "name": "setFilter", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 102, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L102" + } + ], + "signatures": [ + { + "id": 482, + "name": "setFilter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Change the filtering parameters." + } + ] + }, + "parameters": [ + { + "id": 483, + "name": "smooth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear filtering or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 484, + "name": "mipmap", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enable mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 485, + "name": "miplinear", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 437, + "name": "default.setFilter" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 436, + "name": "default.setFilter" + } + }, + { + "id": 471, + "name": "setFormat", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 71, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L71" + } + ], + "signatures": [ + { + "id": 472, + "name": "setFormat", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Define underlying format, internal format and data type of the texture." + } + ] + }, + "parameters": [ + { + "id": 473, + "name": "format", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel format of the texture (" + }, + { + "kind": "code", + "text": "`GL_RGB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_RGBA`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_RGB`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 474, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel data type of the texture (" + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", etc.), defaults to " + }, + { + "kind": "code", + "text": "`GL_UNSIGNED_BYTE`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 475, + "name": "internal", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The pixel internal format of the texture, defaults to the " + }, + { + "kind": "code", + "text": "`format`" + }, + { + "kind": "text", + "text": " parameter value" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 427, + "name": "default.setFormat" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 426, + "name": "default.setFormat" + } + }, + { + "id": 492, + "name": "wrap", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "texture-base.ts", + "line": 140, + "character": 2, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-base.ts#L140" + } + ], + "signatures": [ + { + "id": 493, + "name": "wrap", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the " + }, + { + "kind": "code", + "text": "`WRAP_S`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`WRAP_T`" + }, + { + "kind": "text", + "text": " properties to the given value." + } + ] + }, + "parameters": [ + { + "id": 494, + "name": "wrap", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The wrap value to use (" + }, + { + "kind": "code", + "text": "`GL_REPEAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_CLAMP_TO_EDGE`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 451, + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 448, + "name": "default.wrap" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 447, + "name": "default.wrap" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 452 + ] + }, + { + "title": "Properties", + "children": [ + 459, + 470, + 467, + 463, + 466, + 464, + 468, + 458, + 469, + 465 + ] + }, + { + "title": "Methods", + "children": [ + 476, + 488, + 479, + 460, + 490, + 486, + 481, + 471, + 492 + ] + } + ], + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 9, + "character": 21, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L9" + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 409, + "name": "default" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 451 + ] + } + ], + "sources": [ + { + "fileName": "texture-cube.ts", + "line": 1, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/texture-cube.ts#L1" + } + ] + }, + { + "id": 495, + "name": "types", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 499, + "name": "GLContext", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A webgl rendering context." + } + ] + }, + "sources": [ + { + "fileName": "types.ts", + "line": 2, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/types.ts#L2" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "WebGLRenderingContext", + "qualifiedName": "WebGLRenderingContext", + "package": "typescript" + }, + { + "type": "reference", + "name": "WebGL2RenderingContext", + "qualifiedName": "WebGL2RenderingContext", + "package": "typescript" + } + ] + } + }, + { + "id": 496, + "name": "isWebgl2", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "types.ts", + "line": 8, + "character": 16, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/types.ts#L8" + } + ], + "signatures": [ + { + "id": 497, + "name": "isWebgl2", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Know whether the webgl context is webgl2 or not." + } + ] + }, + "parameters": [ + { + "id": 498, + "name": "context", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The webgl context to test" + } + ] + }, + "type": { + "type": "reference", + "id": 499, + "name": "GLContext" + } + } + ], + "type": { + "type": "predicate", + "name": "context", + "asserts": false, + "targetType": { + "type": "reference", + "name": "WebGL2RenderingContext", + "qualifiedName": "WebGL2RenderingContext", + "package": "typescript" + } + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 499 + ] + }, + { + "title": "Functions", + "children": [ + 496 + ] + } + ], + "sources": [ + { + "fileName": "types.ts", + "line": 2, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/types.ts#L2" + } + ] + }, + { + "id": 500, + "name": "utils", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 512, + "name": "ComponentSize", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The size in bytes if a component." + } + ] + }, + "sources": [ + { + "fileName": "utils.ts", + "line": 28, + "character": 12, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/utils.ts#L28" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": 1 + }, + { + "type": "literal", + "value": 2 + }, + { + "type": "literal", + "value": 4 + } + ] + } + }, + { + "id": 509, + "name": "getComponentSize", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "utils.ts", + "line": 34, + "character": 16, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/utils.ts#L34" + } + ], + "signatures": [ + { + "id": 510, + "name": "getComponentSize", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get the component size in bytes from a data type." + } + ] + }, + "parameters": [ + { + "id": 511, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of data (" + }, + { + "kind": "code", + "text": "`GL_FLOAT`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`GL_SHORT`" + }, + { + "kind": "text", + "text": ", etc.)" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 512, + "name": "ComponentSize" + } + } + ] + }, + { + "id": 504, + "name": "getTextureFiltering", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "utils.ts", + "line": 23, + "character": 16, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/utils.ts#L23" + } + ], + "signatures": [ + { + "id": 505, + "name": "getTextureFiltering", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compute texture filtering enum from parameters.\nWill return one of the following :\n- " + }, + { + "kind": "code", + "text": "`NEAREST`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`LINEAR`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`NEAREST_MIPMAP_NEAREST`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`LINEAR_MIPMAP_NEAREST`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`NEAREST_MIPMAP_LINEAR`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`LINEAR_MIPMAP_LINEAR`" + } + ] + }, + "parameters": [ + { + "id": 506, + "name": "smooth", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear filtering or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 507, + "name": "mipmap", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enable mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 508, + "name": "miplinear", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use linear mipmapping or not" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "type": { + "type": "reference", + "name": "GLenum", + "qualifiedName": "GLenum", + "package": "typescript" + } + } + ] + }, + { + "id": 501, + "name": "isBufferSource", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "utils.ts", + "line": 6, + "character": 16, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/utils.ts#L6" + } + ], + "signatures": [ + { + "id": 502, + "name": "isBufferSource", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Know whether the value is a buffer source or not.\nYou can use it for values that can be either a size or a buffer source." + } + ] + }, + "parameters": [ + { + "id": 503, + "name": "val", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The value to test" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "predicate", + "name": "val", + "asserts": false, + "targetType": { + "type": "reference", + "name": "BufferSource", + "qualifiedName": "BufferSource", + "package": "typescript" + } + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 512 + ] + }, + { + "title": "Functions", + "children": [ + 509, + 504, + 501 + ] + } + ], + "sources": [ + { + "fileName": "utils.ts", + "line": 6, + "character": 0, + "url": "https://github.com/evanmartiin/nanogl/blob/224e9eb/src/utils.ts#L6" + } + ] + } + ], + "groups": [ + { + "title": "Modules", + "children": [ + 1, + 78, + 126, + 203, + 265, + 297, + 324, + 351, + 401, + 450, + 495, + 500 + ] + } + ] +} \ No newline at end of file diff --git a/docs/fbo.md b/docs/fbo.md deleted file mode 100644 index 9f61dfb..0000000 --- a/docs/fbo.md +++ /dev/null @@ -1,84 +0,0 @@ -Fbo -======= -Fbo manage framebuffers creation - - - support any kind of pixel formats (RGB, RGBA, LUMINANCE etc) - - support any kind of pixel type (UNSIGNED_BYTE, FLOAT, half float, etc) - - optional depth and/or stencil - - resize - - binding helpers - - - -##exemples - -##### Fbo creation - -Basic FBO - -```JavaScript -var Fbo = require( 'nanogl/fbo' ); - -// create a default FBO : -// - RGB -// - UNSIGNED_BYTE -// - no depth -// - no stencil - -var fbo = new Fbo( 128,128 ); -``` - -A more complete example - -```JavaScript - -// - RGBA -// - FLOAT or UNSIGNED_BYTE if float not available -// - depth and stencil enabled - -var fbo = new Fbo( 128, 128, { - depth: true, - stencil: true, - type : [gl.FLOAT, gl.UNSIGNED_BYTE ], - format : gl.RGBA -}) - -// check the resolved available type. (gl.FLOAT or gl.UNSIGNED_BYTE) -var actualType = fbo.getActualType(); - -``` - -##### Resize - -```JavaScript -var fbo = new Fbo( 128,128 ); -// ... -fbo.resize( 64,64 ); - -``` - - -##### Binding - - -```JavaScript - -// bind the framebuffer -// and set the viewport to the Fbo dimensions -fbo.bind(); - -// bind the underlying color texture to a program's sampler2D uniform in unit 1 -fbo.bindColor( program.uTexture(), 1 ); - - -``` - -##### Clear -Clear all buffer color + stencil and depth if fbo have one - -```JavaScript -// be sure fbo is bound before call clear() -fbo.bind(); - -fbo.clear(); -``` diff --git a/docs/indexbuffer.md b/docs/indexbuffer.md deleted file mode 100644 index d97cf98..0000000 --- a/docs/indexbuffer.md +++ /dev/null @@ -1,55 +0,0 @@ -IndexBuffer -======= -Manage ELEMENT_ARRAY_BUFFER type IndexBuffers. - - -##exemples - -##### IndexBuffer creation - -```JavaScript -// create empty IndexBuffer -// initialized as UNSIGNED_SHORT / DYNAMIC_DRAW -var buffer = new IndexBuffer( gl ); - -// you can also provide initial datatype, data and optional usage hint -var data = new Uint8Array([ - 0, 1, 2, - 1, 3, 2 -]); -var buffer = new IndexBuffer( gl, gl.UNSIGNED_BYTE, data, gl.DYNAMIC_DRAW ); -``` - -##### Populate Buffer - - -```JavaScript -var buffer = new IndexBuffer( gl, gl.UNSIGNED_INT ); - -// allocate buffer with TypedArray -var data = new Uint32Array([ - 0, 1, 2, - 1, 3, 2 -]); -buffer.data( data ); - -// update the second triangle -var part = new Uint8Array([ 1, 2, 3 ] ); -buffer.subData( part, 12 ); -``` - - -##### Drawing commands - -IndexBuffer provide gl.drawElements shortcuts, with optional count/offset. - - - `drawPoints(count, offset)` - - `drawLineStrip(count, offset)` - - `drawLineLoop(count, offset)` - - `drawLines(count, offset)` - - `drawTriangleStrip(count, offset)` - - `drawTriangleFan(count, offset)` - - `drawTriangles(count, offset)` - -`count` in elements and `offset` in bytes -If count/ offset is missing, the full buffer is drawn. \ No newline at end of file diff --git a/docs/program.md b/docs/program.md deleted file mode 100644 index ede1e8d..0000000 --- a/docs/program.md +++ /dev/null @@ -1,91 +0,0 @@ -Program -======= -Program class provide shader compilation and gl program linking functionality. -It also give you convinient access to active uniforms and attributes. - - -##exemple - -##### Create a program -``` JavaScript -var Program = require( 'nanogl/program' ); - -// create a new Program with a given gl context -var prg = new Program( gl ) - -// compile program with code strings -prg.compile( vertexCode, fragmentCode ); -``` - -##### play with uniforms -Once compiled, the Program object list all used uniforms and provide setter function for each one. - -eg : for the following shader code `uniform vec3 uDirection;` it create a method `program.uDirection( 1, 0, 0 );` - -Note that the program must be bound manually before using uniform setters. -> A uniform setter function support Array or TypedArray argument (`uniformNfv`) - -> or, if not a matrix, values as arguments directly (`uniformNf`) - -> setter functions return the uniform location, thus behave like getter when invoked with no arguments. - -``` JavaScript -// /!\ program must be in use BEFORE uploading some uniforms -prg.use(); - -// set a mat4 uniform with a Float32Array or array -prg.uModelViewProjection( mvpMatrix ); - -// set a vec3 with separate arguments -prg.uColor( 1.0, 1.0, 1.0 ) - -// ... or (Typed)Array -prg.uColor( [1.0, 0.0, 1.0] ) - -// You can also access uniform's locations to manually do those stuff -// just call the setter without arguments. -gl.uniform3f( prg.uColor(), 1.0, 1.0, 1.0 ); -``` - -##### play with samplers - -Textures/samplers work like other uniforms, but in addition it also accept nanogl Textures as arguments. -``` JavaScript -prg.use(); - -// link GL_TEXTURE1 unit to uTexture ... -prg.uTexture( 1 ); - -// ... or directly provide a Texture instance -// in this case texture is bound, and assigned to the predefined unit for this sampler -prg.uTexture( myNanoglTexture ); - -// ... you can also get the uniforms location, and do the job manually -gl.uniform1i( prg.uTexture(), 1 ); -``` - -##### play with attributes - -``` JavaScript -// again, be sure program is in use before call related gl methods -prg.use(); -gl.vertexAttribPointer( prg.aPosition(), 3, gl.FLOAT, ... ); -//... - -``` - - -##### glsl code of the example above - -```GLSL -attribute vec3 aPosition; - -uniform mat4 uModelViewProjection; -uniform vec3 uColor; - -uniform sampler2D uTexture; - -void main(void){ - // ... -} -``` diff --git a/docs/texture.md b/docs/texture.md deleted file mode 100644 index 4d2e1a7..0000000 --- a/docs/texture.md +++ /dev/null @@ -1,112 +0,0 @@ -Texture -======= -Texture class provide helpers for TEXTURE_2D textures: - - uploading from image, canvas, video, or data - - filtering and wrapping -It support any kind of pixel formats (RGB, RGBA, LUMINANCE etc) -and any kind of pixel type (UNSIGNED_BYTE, FLOAT etc) - - -##exemples - -##### Texture creation - -```JavaScript -var Texture = require( 'nanogl' ).Texture; - -var texture = new Texture( gl ); - -// default pixel format is gl.RGB -// you can specify different format as folowing -var texture = new Texture( gl, gl.RGBA ); - -``` - - -##### Load from image, canvas or video - -```JavaScript -//You must ensure your image is loaded before send it to texture -img.onload = function(){ - texture.fromImage( img ) -} - -``` - - -##### Bind texture - -```JavaScript -// by default, texture is bound to the current Active texture -texture.bind(); - -// to bind the texture to specific unit : -texture.bind( 3 ); -``` - -##### Allocate empty texture or load it from TypedArray - -```JavaScript - -// allocate empty texture -// default pixel type is gl.UNSIGNED_BYTE -texture.fromData( 128, 128 ); - -// you can also provide a specific pixel type -texture.fromData( 128, 128, null, gl.FLOAT ); - -// create texture from TypedArray (4x2 8bpp) -var texture = new Texture( gl, gl.LUMINANCE ); -var data = new Uint8Array([ - 0, 10, 20, 30 - 20, 30, 40, 50 -]); -texture.fromData( 4, 2, data ); - -``` - -##### Play with sampler options - -Set MIN_FILTER and MAG_FILTER in a single call. (Texture ensure MIPMAP isn't used for MAG_FILTER) - -```JavaScript - -// texture must be explicitely bound before using following methods -texture.bind(); - -// play with filtering -// setFilter( smooth, mipmap, miplinear ) - -// sample LINEAR (default) -texture.setFilter( true ) - -// sample NEAREST -texture.setFilter( false ) - -// sample LINEAR_MIPMAP_NEAREST -texture.setFilter( true, true ) - -// sample LINEAR_MIPMAP_LINEAR -texture.setFilter( true, true, true ) -``` - -Set WRAP_S and WRAP_T - -```JavaScript - -// texture must be explicitely bound before using following methods -texture.bind(); - -// wrap REPAET -texture.repeat() - -// wrap CLAMP_TO_EDGE -texture.clamp() - -// wrap MIRRORED_REPEAT -texture.mirror() - -// or manual wrap -texture.wrap( gl.REPEAT ) - -``` diff --git a/fbo.d.ts b/fbo.d.ts index b126fcb..815934c 100644 --- a/fbo.d.ts +++ b/fbo.d.ts @@ -1,7 +1,7 @@ import Texture2D from './texture-2d'; import RenderBuffer from './renderbuffer'; import { GLContext } from './types'; -export declare type AttachmentTarget = Texture2D | RenderBuffer; +export type AttachmentTarget = Texture2D | RenderBuffer; export declare class Attachment { level: number; readonly target: AttachmentTarget; diff --git a/package-lock.json b/package-lock.json index 43e9362..35c3759 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,52 @@ { "name": "nanogl", - "version": "2.1.1", - "lockfileVersion": 1, + "version": "2.3.2", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/code-frame": { + "packages": { + "": { + "name": "nanogl", + "version": "2.3.2", + "license": "GPL-2.0", + "devDependencies": { + "@babel/core": "^7.7.4", + "@babel/preset-env": "^7.7.4", + "babelify": "^10.0.0", + "browserify": "^16.5.0", + "del-cli": "^5.0.0", + "expect.js": "^0.3.1", + "karma": "^4.4.1", + "karma-browserify": "^6.1.0", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^0.1.7", + "karma-mocha": "^1.3.0", + "karma-safari-launcher": "^1.0.0", + "karma-sauce-launcher": "^2.0.2", + "mocha": "^6.2.2", + "sinon": "^7.5.0", + "stringify": "^5.2.0", + "typedoc": "^0.23.24", + "typedoc-plugin-rename-defaults": "^0.6.4", + "typescript": "^4.9.5", + "watchify": "^3.11.1", + "when": "^3.7.8" + } + }, + "node_modules/@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, - "requires": { + "dependencies": { "@babel/highlight": "^7.0.0" } }, - "@babel/core": { + "node_modules/@babel/core": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.7.4", "@babel/helpers": "^7.7.4", @@ -34,165 +62,174 @@ "semver": "^5.4.1", "source-map": "^0.5.0" }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, "dependencies": { - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" } }, - "@babel/generator": { + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/core/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/@babel/generator": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, - "@babel/helper-annotate-as-pure": { + "node_modules/@babel/helper-annotate-as-pure": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-explode-assignable-expression": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-call-delegate": { + "node_modules/@babel/helper-call-delegate": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-hoist-variables": "^7.7.4", "@babel/traverse": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-create-regexp-features-plugin": { + "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.6.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-define-map": { + "node_modules/@babel/helper-define-map": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.7.4", "@babel/types": "^7.7.4", "lodash": "^4.17.13" } }, - "@babel/helper-explode-assignable-expression": { + "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", "dev": true, - "requires": { + "dependencies": { "@babel/traverse": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-function-name": { + "node_modules/@babel/helper-function-name": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-get-function-arity": "^7.7.4", "@babel/template": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-get-function-arity": { + "node_modules/@babel/helper-get-function-arity": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-hoist-variables": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-member-expression-to-functions": { + "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-module-imports": { + "node_modules/@babel/helper-module-imports": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-module-transforms": { + "node_modules/@babel/helper-module-transforms": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.7.4", "@babel/helper-simple-access": "^7.7.4", "@babel/helper-split-export-declaration": "^7.7.4", @@ -201,36 +238,36 @@ "lodash": "^4.17.13" } }, - "@babel/helper-optimise-call-expression": { + "node_modules/@babel/helper-optimise-call-expression": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-plugin-utils": { + "node_modules/@babel/helper-plugin-utils": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", "dev": true }, - "@babel/helper-regex": { + "node_modules/@babel/helper-regex": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.17.13" } }, - "@babel/helper-remap-async-to-generator": { + "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-wrap-function": "^7.7.4", "@babel/template": "^7.7.4", @@ -238,237 +275,300 @@ "@babel/types": "^7.7.4" } }, - "@babel/helper-replace-supers": { + "node_modules/@babel/helper-replace-supers": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-member-expression-to-functions": "^7.7.4", "@babel/helper-optimise-call-expression": "^7.7.4", "@babel/traverse": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-simple-access": { + "node_modules/@babel/helper-simple-access": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", "dev": true, - "requires": { + "dependencies": { "@babel/template": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helper-split-export-declaration": { + "node_modules/@babel/helper-split-export-declaration": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.7.4" } }, - "@babel/helper-wrap-function": { + "node_modules/@babel/helper-wrap-function": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.7.4", "@babel/template": "^7.7.4", "@babel/traverse": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/helpers": { + "node_modules/@babel/helpers": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", "dev": true, - "requires": { + "dependencies": { "@babel/template": "^7.7.4", "@babel/traverse": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/highlight": { + "node_modules/@babel/highlight": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.0.0", "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, - "@babel/parser": { + "node_modules/@babel/parser": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", - "dev": true + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } }, - "@babel/plugin-proposal-async-generator-functions": { + "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-remap-async-to-generator": "^7.7.4", "@babel/plugin-syntax-async-generators": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-dynamic-import": { + "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-json-strings": { + "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-json-strings": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-object-rest-spread": { + "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-optional-catch-binding": { + "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-proposal-unicode-property-regex": { + "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-async-generators": { + "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-dynamic-import": { + "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-top-level-await": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-arrow-functions": { + "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-async-to-generator": { + "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-remap-async-to-generator": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-block-scoped-functions": { + "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-block-scoping": { + "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-classes": { + "node_modules/@babel/plugin-transform-classes": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-define-map": "^7.7.4", "@babel/helper-function-name": "^7.7.4", @@ -477,265 +577,346 @@ "@babel/helper-replace-supers": "^7.7.4", "@babel/helper-split-export-declaration": "^7.7.4", "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-computed-properties": { + "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-destructuring": { + "node_modules/@babel/plugin-transform-destructuring": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-duplicate-keys": { + "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-exponentiation-operator": { + "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-for-of": { + "node_modules/@babel/plugin-transform-for-of": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-function-name": { + "node_modules/@babel/plugin-transform-function-name": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-function-name": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-literals": { + "node_modules/@babel/plugin-transform-literals": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-amd": { + "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-commonjs": { + "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-simple-access": "^7.7.4", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-systemjs": { + "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-hoist-variables": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-modules-umd": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-transform-new-target": { + "node_modules/@babel/plugin-transform-new-target": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-object-super": { + "node_modules/@babel/plugin-transform-object-super": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-replace-supers": "^7.7.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-parameters": { + "node_modules/@babel/plugin-transform-parameters": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-call-delegate": "^7.7.4", "@babel/helper-get-function-arity": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-property-literals": { + "node_modules/@babel/plugin-transform-property-literals": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-regenerator": { + "node_modules/@babel/plugin-transform-regenerator": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", "dev": true, - "requires": { + "dependencies": { "regenerator-transform": "^0.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-reserved-words": { + "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-spread": { + "node_modules/@babel/plugin-transform-spread": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-sticky-regex": { + "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { + "node_modules/@babel/plugin-transform-template-literals": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { + "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { + "node_modules/@babel/preset-env": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz", "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-async-generator-functions": "^7.7.4", @@ -787,25 +968,28 @@ "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { + "node_modules/@babel/template": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.7.4", "@babel/types": "^7.7.4" } }, - "@babel/traverse": { + "node_modules/@babel/traverse": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.7.4", "@babel/helper-function-name": "^7.7.4", @@ -815,307 +999,423 @@ "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" - }, + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.1" } }, - "@babel/types": { + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", "dev": true, - "requires": { + "dependencies": { "esutils": "^2.0.2", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } }, - "@sinonjs/commons": { + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinonjs/commons": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.6.0.tgz", "integrity": "sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg==", "dev": true, - "requires": { + "dependencies": { "type-detect": "4.0.8" } }, - "@sinonjs/formatio": { + "node_modules/@sinonjs/formatio": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^1", "@sinonjs/samsam": "^3.1.0" } }, - "@sinonjs/samsam": { + "node_modules/@sinonjs/samsam": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^1.3.0", "array-from": "^2.1.1", "lodash": "^4.17.15" } }, - "@sinonjs/text-encoding": { + "node_modules/@sinonjs/text-encoding": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } + "node_modules/@types/minimist": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", + "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", + "dev": true }, - "accepts": { + "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, - "requires": { + "dependencies": { "mime-types": "~2.1.24", "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" } }, - "acorn": { + "node_modules/acorn": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-node": { + "node_modules/acorn-node": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, - "requires": { + "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", "xtend": "^4.0.2" } }, - "acorn-walk": { + "node_modules/acorn-walk": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.4.13", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.0" + } }, - "after": { + "node_modules/after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, - "agent-base": { + "node_modules/agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, - "requires": { + "dependencies": { "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "dev": true, + "dependencies": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "requires": { + "dependencies": { "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, - "requires": { + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "requires": { + "dependencies": { "sprintf-js": "~1.0.2" } }, - "arr-diff": { + "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "arr-flatten": { + "node_modules/arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "arr-union": { + "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "array-from": { + "node_modules/array-from": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", "dev": true }, - "array-unique": { + "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "arraybuffer.slice": { + "node_modules/arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "asn1.js": { + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "assert": { + "node_modules/assert": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "requires": { + "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" - }, + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "inherits": "2.0.1" } }, - "assign-symbols": { + "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "async-each": { + "node_modules/async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, - "async-limiter": { + "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, - "atob": { + "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } }, - "babel-plugin-dynamic-import-node": { + "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "dev": true, - "requires": { + "dependencies": { "object.assign": "^4.1.0" } }, - "babelify": { + "node_modules/babelify": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "backo2": { + "node_modules/backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", "dev": true }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base": { + "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "requires": { + "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", @@ -1124,104 +1424,129 @@ "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "base64-arraybuffer": { + "node_modules/base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6.0" + } }, - "base64-js": { + "node_modules/base64-js": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "dev": true }, - "base64id": { + "node_modules/base64id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "better-assert": { + "node_modules/better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", "dev": true, - "requires": { + "dependencies": { "callsite": "1.0.0" + }, + "engines": { + "node": "*" } }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "blob": { + "node_modules/blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, - "bluebird": { + "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "bn.js": { + "node_modules/bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, - "body-parser": { + "node_modules/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", @@ -1232,77 +1557,83 @@ "qs": "6.7.0", "raw-body": "2.4.0", "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" } }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "brorand": { + "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, - "browser-pack": { + "node_modules/browser-pack": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, - "requires": { - "JSONStream": "^1.0.3", + "dependencies": { "combine-source-map": "~0.8.0", "defined": "^1.0.0", + "JSONStream": "^1.0.3", "safe-buffer": "^5.1.1", "through2": "^2.0.0", "umd": "^3.0.0" + }, + "bin": { + "browser-pack": "bin/cmd.js" } }, - "browser-resolve": { + "node_modules/browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, - "requires": { - "resolve": "1.1.7" - }, "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } + "resolve": "1.1.7" } }, - "browser-stdout": { + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "browserify": { + "node_modules/browserify": { "version": "16.5.0", "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.0.tgz", "integrity": "sha512-6bfI3cl76YLAnCZ75AGu/XPOsqUhRyc0F/olGIJeCxtfxF2HvPKEcmjU9M8oAPxl4uBY1U7Nry33Q6koV3f2iw==", "dev": true, - "requires": { - "JSONStream": "^1.0.3", + "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", "browser-resolve": "^1.11.0", @@ -1324,6 +1655,7 @@ "https-browserify": "^1.0.0", "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", + "JSONStream": "^1.0.3", "labeled-stream-splicer": "^2.0.0", "mkdirp": "^0.5.0", "module-deps": "^6.0.0", @@ -1350,14 +1682,20 @@ "util": "~0.10.1", "vm-browserify": "^1.0.0", "xtend": "^4.0.0" + }, + "bin": { + "browserify": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8" } }, - "browserify-aes": { + "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "requires": { + "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", @@ -1366,45 +1704,45 @@ "safe-buffer": "^5.0.1" } }, - "browserify-cipher": { + "node_modules/browserify-cipher": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, - "requires": { + "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", "evp_bytestokey": "^1.0.0" } }, - "browserify-des": { + "node_modules/browserify-des": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "browserify-rsa": { + "node_modules/browserify-rsa": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" } }, - "browserify-sign": { + "node_modules/browserify-sign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.1", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", @@ -1414,98 +1752,108 @@ "parse-asn1": "^5.0.0" } }, - "browserify-transform-tools": { + "node_modules/browserify-transform-tools": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/browserify-transform-tools/-/browserify-transform-tools-1.7.0.tgz", "integrity": "sha1-g+J3Ih9jJZvtLn6yooOpcKUB9MQ=", "dev": true, - "requires": { + "dependencies": { "falafel": "^2.0.0", "through": "^2.3.7" } }, - "browserify-zlib": { + "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "requires": { + "dependencies": { "pako": "~1.0.5" } }, - "browserslist": { + "node_modules/browserslist": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.0.tgz", "integrity": "sha512-HYnxc/oLRWvJ3TsGegR0SRL/UDnknGq2s/a8dYYEO+kOQ9m9apKoS5oiathLKZdh/e9uE+/J3j92qPlGD/vTqA==", "dev": true, - "requires": { + "dependencies": { "caniuse-lite": "^1.0.30001012", "electron-to-chromium": "^1.3.317", "node-releases": "^1.1.41" + }, + "bin": { + "browserslist": "cli.js" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" } }, - "buffer": { + "node_modules/buffer": { "version": "5.4.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", "dev": true, - "requires": { + "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" } }, - "buffer-alloc": { + "node_modules/buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, - "requires": { + "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" } }, - "buffer-alloc-unsafe": { + "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, - "buffer-fill": { + "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "buffer-xor": { + "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "builtin-status-codes": { + "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, - "bytes": { + "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "cache-base": { + "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, - "requires": { + "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", @@ -1515,292 +1863,400 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "cached-path-relative": { + "node_modules/cached-path-relative": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, - "callsite": { + "node_modules/callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "camel-case": { + "node_modules/camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, - "requires": { + "dependencies": { "no-case": "^2.2.0", "upper-case": "^1.1.1" } }, - "caniuse-lite": { + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { "version": "1.0.30001012", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==", "dev": true }, - "chalk": { + "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "chokidar": { + "node_modules/chokidar": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "dev": true, - "requires": { + "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" } }, - "cipher-base": { + "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, - "class-utils": { + "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "requires": { + "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "clean-css": { + "node_modules/clean-css": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, - "requires": { + "dependencies": { "source-map": "0.5.x" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "collection-visit": { + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, - "requires": { + "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "color-convert": { + "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "requires": { + "dependencies": { "color-name": "1.1.3" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "colors": { + "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.1.90" + } }, - "combine-source-map": { + "node_modules/combine-source-map": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, - "requires": { + "dependencies": { "convert-source-map": "~1.1.0", "inline-source-map": "~0.6.0", "lodash.memoize": "~3.0.3", "source-map": "~0.5.3" } }, - "commander": { + "node_modules/commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true, - "requires": { + "dependencies": { "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" } }, - "component-bind": { + "node_modules/component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", "dev": true }, - "component-emitter": { + "node_modules/component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, - "component-inherit": { + "node_modules/component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", "dev": true }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { + "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "requires": { + "engines": [ + "node >= 0.8" + ], + "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" } }, - "connect": { + "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "console-browserify": { + "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, - "constants-browserify": { + "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, - "content-type": { + "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "convert-source-map": { + "node_modules/convert-source-map": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", "dev": true }, - "cookie": { + "node_modules/cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "copy-descriptor": { + "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "core-js-compat": { + "node_modules/core-js-compat": { "version": "3.4.5", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.5.tgz", "integrity": "sha512-rYVvzvKJDKoefdAC+q6VP63vp5hMmeVONCi9pVUbU1qRrtVrmAk/nPhnRg+i+XFd775m1hpG2Yd5RY3X45ccuw==", "dev": true, - "requires": { + "dependencies": { "browserslist": "^4.7.3", "semver": "^6.3.0" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "create-ecdh": { + "node_modules/create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" } }, - "create-hash": { + "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", "md5.js": "^1.3.4", @@ -1808,12 +2264,12 @@ "sha.js": "^2.4.0" } }, - "create-hmac": { + "node_modules/create-hmac": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, - "requires": { + "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", "inherits": "^2.0.1", @@ -1822,12 +2278,12 @@ "sha.js": "^2.4.8" } }, - "crypto-browserify": { + "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, - "requires": { + "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", "create-ecdh": "^4.0.0", @@ -1839,210 +2295,349 @@ "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" } }, - "custom-event": { + "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "dash-ast": { + "node_modules/dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", "dev": true }, - "date-format": { + "node_modules/date-format": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true + "deprecated": "2.x is no longer supported. Please upgrade to 4.x or higher.", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "debug": { + "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { + "dependencies": { "ms": "2.0.0" } }, - "decamelize": { + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "decode-uri-component": { + "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "define-properties": { + "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "requires": { + "dependencies": { "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" } }, - "define-property": { + "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "requires": { + "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "defined": { + "node_modules/defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", "dev": true }, - "depd": { + "node_modules/del": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", + "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", + "dev": true, + "dependencies": { + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", + "rimraf": "^3.0.2", + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del-cli": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/del-cli/-/del-cli-5.0.0.tgz", + "integrity": "sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==", + "dev": true, + "dependencies": { + "del": "^7.0.0", + "meow": "^10.1.3" + }, + "bin": { + "del": "cli.js", + "del-cli": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "deps-sort": { + "node_modules/deps-sort": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", "dev": true, - "requires": { + "dependencies": { "JSONStream": "^1.0.3", "shasum-object": "^1.0.0", "subarg": "^1.0.0", "through2": "^2.0.0" + }, + "bin": { + "deps-sort": "bin/cmd.js" } }, - "des.js": { + "node_modules/des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, - "detective": { + "node_modules/detective": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", "dev": true, - "requires": { + "dependencies": { "acorn-node": "^1.6.1", "defined": "^1.0.0", "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" } }, - "di": { + "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, - "diff": { + "node_modules/diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.1" + } }, - "diffie-hellman": { + "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" } }, - "dom-serialize": { + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, - "requires": { + "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, - "domain-browser": { + "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } }, - "duplexer2": { + "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, - "requires": { + "dependencies": { "readable-stream": "^2.0.2" } }, - "ee-first": { + "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "electron-to-chromium": { + "node_modules/electron-to-chromium": { "version": "1.3.317", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.317.tgz", "integrity": "sha512-C7sfpr1I1zqDurrfyVFhL450NFLeZrDYy5DeUuJBkEhBZbhyJ7JEZn741J+jcXCBaQ8S6j75XomLDHOLmLOdFQ==", "dev": true }, - "elliptic": { + "node_modules/elliptic": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.4.0", "brorand": "^1.0.1", "hash.js": "^1.0.0", @@ -2052,49 +2647,41 @@ "minimalistic-crypto-utils": "^1.0.0" } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "encodeurl": { + "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "engine.io": { + "node_modules/engine.io": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "~3.1.0", "engine.io-parser": "~2.1.0", "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, - "engine.io-client": { + "node_modules/engine.io-client": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", "dev": true, - "requires": { + "dependencies": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", "debug": "~3.1.0", @@ -2106,25 +2693,23 @@ "ws": "~3.3.1", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" - }, + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "ms": "2.0.0" } }, - "engine.io-parser": { + "node_modules/engine.io-parser": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, - "requires": { + "dependencies": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", @@ -2132,18 +2717,36 @@ "has-binary2": "~1.0.2" } }, - "ent": { + "node_modules/engine.io/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "es-abstract": { + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { "version": "1.16.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", "dev": true, - "requires": { + "dependencies": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", @@ -2154,80 +2757,101 @@ "object-keys": "^1.1.1", "string.prototype.trimleft": "^2.1.0", "string.prototype.trimright": "^2.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "es-to-primitive": { + "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "requires": { + "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "es6-promise": { + "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, - "es6-promisify": { + "node_modules/es6-promisify": { "version": "5.0.0", "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, - "requires": { + "dependencies": { "es6-promise": "^4.0.3" } }, - "escape-html": { + "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "eventemitter3": { + "node_modules/eventemitter3": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", "dev": true }, - "events": { + "node_modules/events": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "evp_bytestokey": { + "node_modules/evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "requires": { + "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" } }, - "expand-brackets": { + "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, - "requires": { + "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", @@ -2236,66 +2860,77 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "expect.js": { + "node_modules/expect.js": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz", "integrity": "sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=", "dev": true }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extend-shallow": { + "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, - "requires": { + "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "extglob": { + "node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, - "requires": { + "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", @@ -2305,103 +2940,167 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "falafel": { + "node_modules/falafel": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "dev": true, - "requires": { + "dependencies": { "acorn": "^5.0.0", "foreach": "^2.0.5", "isarray": "0.0.1", "object-keys": "^1.0.6" }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "fast-safe-stringify": { + "node_modules/fast-safe-stringify": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", "dev": true }, - "fill-range": { + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "finalhandler": { + "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -2409,327 +3108,481 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "find-up": { + "node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "requires": { + "dependencies": { "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "flat": { + "node_modules/flat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "deprecated": "Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.", "dev": true, - "requires": { + "dependencies": { "is-buffer": "~2.0.3" }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat/node_modules/is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true, + "engines": { + "node": ">=4" } }, - "flatted": { + "node_modules/flatted": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", "dev": true, - "requires": { + "dependencies": { "debug": "^3.0.0" }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.1" } }, - "for-in": { + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "foreach": { + "node_modules/foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, - "fragment-cache": { + "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, - "requires": { + "dependencies": { "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "fs-extra": { + "node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { + "node_modules/fsevents": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", "dev": true, - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "get-assigned-identifiers": { + "node_modules/get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", "dev": true }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-value": { + "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "glob": { + "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "globals": { + "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "graceful-readlink": { + "node_modules/graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, - "growl": { + "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.x" + } }, - "has": { + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-binary2": { + "node_modules/has-binary2": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "dev": true, - "requires": { - "isarray": "2.0.1" - }, "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "isarray": "2.0.1" } }, - "has-cors": { + "node_modules/has-binary2/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "node_modules/has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", "dev": true }, - "has-flag": { + "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-value": { + "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, - "requires": { + "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "has-values": { + "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, - "requires": { + "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "hash-base": { + "node_modules/hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" } }, - "hash.js": { + "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, - "hat": { + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hat": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "dev": true, + "bin": { + "he": "bin/he" + } }, - "hmac-drbg": { + "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, - "requires": { + "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, - "html-minifier": { + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/html-minifier": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.2.tgz", "integrity": "sha1-1zvD/0SJQkCIGM5gm/P7DqfvTrc=", "dev": true, - "requires": { + "dependencies": { "camel-case": "3.0.x", "clean-css": "4.1.x", "commander": "2.9.x", @@ -2739,449 +3592,660 @@ "relateurl": "0.2.x", "uglify-js": "3.0.x" }, - "dependencies": { - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - } + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-minifier/node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true, + "bin": { + "he": "bin/he" } }, - "htmlescape": { + "node_modules/htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "http-errors": { + "node_modules/http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, - "requires": { + "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "engines": { + "node": ">= 0.6" } }, - "http-proxy": { + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-proxy": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "dev": true, - "requires": { + "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "https-browserify": { + "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", "dev": true, - "requires": { + "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.1" } }, - "iconv-lite": { + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "ieee754": { + "node_modules/ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "dev": true }, - "immediate": { + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, - "indexof": { + "node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "inline-source-map": { + "node_modules/inline-source-map": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", "dev": true, - "requires": { + "dependencies": { "source-map": "~0.5.3" } }, - "insert-module-globals": { + "node_modules/insert-module-globals": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, - "requires": { - "JSONStream": "^1.0.3", + "dependencies": { "acorn-node": "^1.5.2", "combine-source-map": "^0.8.0", "concat-stream": "^1.6.1", "is-buffer": "^1.1.0", + "JSONStream": "^1.0.3", "path-is-absolute": "^1.0.1", "process": "~0.11.0", "through2": "^2.0.0", "undeclared-identifiers": "^1.1.2", "xtend": "^4.0.0" + }, + "bin": { + "insert-module-globals": "bin/cmd.js" } }, - "invariant": { + "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, - "requires": { + "dependencies": { "loose-envify": "^1.0.0" } }, - "is-accessor-descriptor": { + "node_modules/is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.0.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-binary-path": { + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-buffer": { + "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-callable": { + "node_modules/is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-data-descriptor": { + "node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.0.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-date-object": { + "node_modules/is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "is-descriptor": { + "node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "requires": { + "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "is-extendable": { + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-plain-object": { + "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-regex": { + "node_modules/is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, - "requires": { + "dependencies": { "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "is-symbol": { + "node_modules/is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, - "requires": { + "dependencies": { "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-windows": { + "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "isarray": { + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isbinaryfile": { + "node_modules/isbinaryfile": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", "dev": true, - "requires": { + "dependencies": { "buffer-alloc": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { + "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "js-levenshtein": { + "node_modules/js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "js-string-escape": { + "node_modules/js-string-escape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "jsesc": { + "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-stable-stringify": { + "node_modules/json-stable-stringify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", "dev": true, - "requires": { + "dependencies": { "jsonify": "~0.0.0" } }, - "json5": { + "node_modules/json5": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "jsonfile": { + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonify": { + "node_modules/jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "jsonparse": { + "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } }, - "jszip": { + "node_modules/jszip": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", "dev": true, - "requires": { + "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "set-immediate-shim": "~1.0.1" } }, - "just-extend": { + "node_modules/just-extend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", "dev": true }, - "karma": { + "node_modules/karma": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", "dev": true, - "requires": { + "dependencies": { "bluebird": "^3.3.0", "body-parser": "^1.16.1", "braces": "^3.0.2", @@ -3209,225 +4273,363 @@ "tmp": "0.0.33", "useragent": "2.3.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 8" } }, - "karma-browserify": { + "node_modules/karma-browserify": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/karma-browserify/-/karma-browserify-6.1.0.tgz", "integrity": "sha512-FWOuATeil6dbm2nwWIbSFG0Ad8w3PcuBNs05zcqnMiuXEdwos/o6B26HF+NcYwTt3o7LTOGWiuXK9cuuhoPeaw==", "dev": true, - "requires": { + "dependencies": { "convert-source-map": "^1.1.3", "hat": "^0.0.3", "js-string-escape": "^1.0.0", "lodash": "^4.17.14", "minimatch": "^3.0.0", "os-shim": "^0.1.3" + }, + "engines": { + "node": ">=6", + "npm": ">=2" + }, + "peerDependencies": { + "browserify": ">=10 <17", + "karma": ">=3", + "watchify": ">=3 <4" } }, - "karma-chrome-launcher": { + "node_modules/karma-chrome-launcher": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", "dev": true, - "requires": { + "dependencies": { "which": "^1.2.1" } }, - "karma-firefox-launcher": { + "node_modules/karma-firefox-launcher": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.7.tgz", "integrity": "sha1-wF3YZTNpHmLzGVJZUJjovTV9OfM=", "dev": true }, - "karma-mocha": { + "node_modules/karma-mocha": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", "dev": true, - "requires": { + "dependencies": { "minimist": "1.2.0" } }, - "karma-safari-launcher": { + "node_modules/karma-safari-launcher": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz", "integrity": "sha1-lpgqLMR9BmquccVTursoMZEVos4=", - "dev": true + "dev": true, + "peerDependencies": { + "karma": ">=0.9" + } }, - "karma-sauce-launcher": { + "node_modules/karma-sauce-launcher": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-2.0.2.tgz", "integrity": "sha512-jLUFaJhHMcKpxFWUesyWYihzM5FvQiJsDwGcCtKeOy2lsWhkVw0V0Byqb1d+wU6myU1mribBtsIcub23HS4kWA==", "dev": true, - "requires": { + "dependencies": { "sauce-connect-launcher": "^1.2.4", "saucelabs": "^1.5.0", "selenium-webdriver": "^4.0.0-alpha.1" + }, + "engines": { + "node": ">= 8.9.0" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "labeled-stream-splicer": { + "node_modules/labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "stream-splicer": "^2.0.0" } }, - "lie": { + "node_modules/lie": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dev": true, - "requires": { + "dependencies": { "immediate": "~3.0.5" } }, - "locate-path": { + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "requires": { + "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "lodash.memoize": { + "node_modules/lodash.memoize": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "dev": true }, - "log-symbols": { + "node_modules/log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "log4js": { + "node_modules/log4js": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "deprecated": "4.x is no longer supported. Please upgrade to 6.x or higher.", "dev": true, - "requires": { + "dependencies": { "date-format": "^2.0.0", "debug": "^4.1.1", "flatted": "^2.0.0", "rfdc": "^1.1.4", "streamroller": "^1.0.6" }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.1" } }, - "lolex": { + "node_modules/log4js/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/lolex": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==", "dev": true }, - "loose-envify": { + "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, - "requires": { + "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "lower-case": { + "node_modules/lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, - "lru-cache": { + "node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "requires": { + "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, - "map-cache": { + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "map-visit": { + "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, - "requires": { + "dependencies": { "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" } }, - "md5.js": { + "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "requires": { + "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" } }, - "media-typer": { + "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "requires": { + "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", @@ -3442,193 +4644,256 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.2" }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "engines": { + "node": ">=0.10.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/micromatch/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "mime": { + "node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.42.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.25", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "dev": true, - "requires": { + "dependencies": { "mime-db": "1.42.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { + "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { + "node_modules/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "mixin-deep": { + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "requires": { + "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "mkdirp": { + "node_modules/mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "dev": true, - "requires": { + "dependencies": { "minimist": "0.0.8" }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "bin": { + "mkdirp": "bin/cmd.js" } }, - "mocha": { + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/mocha": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", "dev": true, - "requires": { + "dependencies": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", "debug": "3.2.6", @@ -3653,106 +4918,126 @@ "yargs-parser": "13.1.1", "yargs-unparser": "1.6.0" }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/mocha/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - } - } + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" } }, - "module-deps": { + "node_modules/module-deps": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz", "integrity": "sha512-UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==", "dev": true, - "requires": { - "JSONStream": "^1.0.3", + "dependencies": { "browser-resolve": "^1.7.0", "cached-path-relative": "^1.0.2", "concat-stream": "~1.6.0", @@ -3760,6 +5045,7 @@ "detective": "^5.0.2", "duplexer2": "^0.1.2", "inherits": "^2.0.1", + "JSONStream": "^1.0.3", "parents": "^1.0.0", "readable-stream": "^2.0.2", "resolve": "^1.4.0", @@ -3767,27 +5053,33 @@ "subarg": "^1.0.0", "through2": "^2.0.0", "xtend": "^4.0.0" + }, + "bin": { + "module-deps": "bin/cmd.js" + }, + "engines": { + "node": ">= 0.8.0" } }, - "ms": { + "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "nan": { + "node_modules/nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "dev": true, "optional": true }, - "nanomatch": { + "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, - "requires": { + "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", @@ -3799,29 +5091,38 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "ncname": { + "node_modules/ncname": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "dev": true, - "requires": { + "dependencies": { "xml-char-classes": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "negotiator": { + "node_modules/negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "nise": { + "node_modules/nise": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.2.tgz", "integrity": "sha512-/6RhOUlicRCbE9s+94qCUsyE+pKlVJ5AhIv+jEE7ESKwnbXqulKZ1FYU+XAtHHWE9TinYvAxDUJAb912PwPoWA==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/formatio": "^3.2.1", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", @@ -3829,260 +5130,371 @@ "path-to-regexp": "^1.7.0" } }, - "no-case": { + "node_modules/no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, - "requires": { + "dependencies": { "lower-case": "^1.1.1" } }, - "node-environment-flags": { + "node_modules/node-environment-flags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, - "requires": { + "dependencies": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" } }, - "node-releases": { + "node_modules/node-releases": { "version": "1.1.41", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", "dev": true, - "requires": { + "dependencies": { "semver": "^6.3.0" + } + }, + "node_modules/node-releases/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "normalize-path": { + "node_modules/normalize-package-data/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-assign": { + "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-component": { + "node_modules/object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, - "object-copy": { + "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, - "requires": { + "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-keys": { + "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "object-visit": { + "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.assign": { + "node_modules/object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", "has-symbols": "^1.0.0", "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" } }, - "object.getownpropertydescriptors": { + "node_modules/object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.2", "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" } }, - "object.pick": { + "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "on-finished": { + "node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, - "requires": { + "dependencies": { "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "optimist": { + "node_modules/optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, - "requires": { + "dependencies": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } } }, - "os-browserify": { + "node_modules/optimist/node_modules/minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-shim": { + "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "os-tmpdir": { + "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "outpipe": { + "node_modules/outpipe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=", "dev": true, - "requires": { + "dependencies": { "shell-quote": "^1.4.2" } }, - "p-limit": { + "node_modules/p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "dev": true, - "requires": { + "dependencies": { "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "p-locate": { + "node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "requires": { + "dependencies": { "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "dev": true, + "dependencies": { + "aggregate-error": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-try": { + "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pako": { + "node_modules/pako": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", "dev": true }, - "param-case": { + "node_modules/param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, - "requires": { + "dependencies": { "no-case": "^2.2.0" } }, - "parents": { + "node_modules/parents": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", "dev": true, - "requires": { + "dependencies": { "path-platform": "~0.11.15" } }, - "parse-asn1": { + "node_modules/parse-asn1": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, - "requires": { + "dependencies": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", @@ -4091,144 +5503,202 @@ "safe-buffer": "^5.1.1" } }, - "parseqs": { + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseqs": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, - "requires": { + "dependencies": { "better-assert": "~1.0.0" } }, - "parseuri": { + "node_modules/parseuri": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, - "requires": { + "dependencies": { "better-assert": "~1.0.0" } }, - "parseurl": { + "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "pascalcase": { + "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-browserify": { + "node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "path-dirname": { + "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "path-exists": { + "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-platform": { + "node_modules/path-platform": { "version": "0.11.15", "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "path-to-regexp": { + "node_modules/path-to-regexp": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dev": true, - "requires": { - "isarray": "0.0.1" - }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } + "isarray": "0.0.1" + } + }, + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" } }, - "pbkdf2": { + "node_modules/pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, - "requires": { + "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" } }, - "picomatch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", - "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", - "dev": true + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "posix-character-classes": { + "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "private": { + "node_modules/private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "process": { + "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6.0" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "pseudomap": { + "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, - "public-encrypt": { + "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "requires": { + "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", @@ -4237,88 +5707,244 @@ "safe-buffer": "^5.1.2" } }, - "punycode": { + "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, - "qjobs": { + "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.9" + } }, - "qs": { + "node_modules/qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "querystring": { + "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } }, - "querystring-es3": { + "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "randomfill": { + "node_modules/randomfill": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "requires": { + "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" } }, - "range-parser": { + "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "raw-body": { + "node_modules/raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, - "requires": { + "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.2", "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "read-only-stream": { + "node_modules/read-only-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, - "requires": { + "dependencies": { "readable-stream": "^2.0.2" } }, - "readable-stream": { + "node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -4326,397 +5952,518 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "safe-buffer": "~5.1.0" } }, - "readdirp": { + "node_modules/readdirp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "dev": true, - "requires": { + "dependencies": { "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "regenerate": { + "node_modules/regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, - "regenerate-unicode-properties": { + "node_modules/regenerate-unicode-properties": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" } }, - "regenerator-transform": { + "node_modules/regenerator-transform": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", "dev": true, - "requires": { + "dependencies": { "private": "^0.1.6" } }, - "regex-not": { + "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "regexpu-core": { + "node_modules/regexpu-core": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.1.0", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", "unicode-match-property-value-ecmascript": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "regjsgen": { + "node_modules/regjsgen": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", "dev": true }, - "regjsparser": { + "node_modules/regjsparser": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "dev": true, - "requires": { + "dependencies": { "jsesc": "~0.5.0" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" } }, - "relateurl": { + "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "remove-trailing-separator": { + "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, - "repeat-element": { + "node_modules/repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "repeat-string": { + "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve": { + "node_modules/resolve": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", "dev": true, - "requires": { + "dependencies": { "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-url": { + "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, - "ret": { + "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "rfdc": { + "node_modules/rfdc": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", "dev": true }, - "rimraf": { + "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "ripemd160": { + "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "requires": { + "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, - "safe-buffer": { + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", "dev": true }, - "safe-regex": { + "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, - "requires": { + "dependencies": { "ret": "~0.1.10" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sauce-connect-launcher": { + "node_modules/sauce-connect-launcher": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.3.1.tgz", "integrity": "sha512-vIf9qDol3q2FlYzrKt0dr3kvec6LSjX2WS+/mVnAJIhqh1evSkPKCR2AzcJrnSmx9Xt9PtV0tLY7jYh0wsQi8A==", "dev": true, - "requires": { + "hasInstallScript": true, + "dependencies": { "adm-zip": "~0.4.3", "async": "^2.1.2", "https-proxy-agent": "^3.0.0", "lodash": "^4.16.6", "rimraf": "^2.5.4" }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/sauce-connect-launcher/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } + "lodash": "^4.17.14" } }, - "saucelabs": { + "node_modules/saucelabs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, - "requires": { + "dependencies": { "https-proxy-agent": "^2.2.1" }, + "engines": { + "node": "*" + } + }, + "node_modules/saucelabs/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.1" + } + }, + "node_modules/saucelabs/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" } }, - "sax": { + "node_modules/saucelabs/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, - "selenium-webdriver": { + "node_modules/selenium-webdriver": { "version": "4.0.0-alpha.5", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.5.tgz", "integrity": "sha512-hktl3DSrhzM59yLhWzDGHIX9o56DvA+cVK7Dw6FcJR6qQ4CGzkaHeXQPcdrslkWMTeq0Ci9AmCxq0EMOvm2Rkg==", "dev": true, - "requires": { + "dependencies": { "jszip": "^3.1.5", "rimraf": "^2.6.3", "tmp": "0.0.30", "xml2js": "^0.4.19" }, + "engines": { + "node": ">= 10.15.0" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" } }, - "semver": { + "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-immediate-shim": { + "node_modules/set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "set-value": { + "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "setprototypeof": { + "node_modules/setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, - "sha.js": { + "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" } }, - "shasum": { + "node_modules/shasum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", "dev": true, - "requires": { + "dependencies": { "json-stable-stringify": "~0.0.0", "sha.js": "~2.4.4" } }, - "shasum-object": { + "node_modules/shasum-object": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", "dev": true, - "requires": { + "dependencies": { "fast-safe-stringify": "^2.0.7" } }, - "shell-quote": { + "node_modules/shell-quote": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, - "simple-concat": { + "node_modules/shiki": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.12.1.tgz", + "integrity": "sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", "dev": true }, - "sinon": { + "node_modules/sinon": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz", "integrity": "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==", + "deprecated": "16.1.1", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^1.4.0", "@sinonjs/formatio": "^3.2.1", "@sinonjs/samsam": "^3.3.3", @@ -4724,25 +6471,38 @@ "lolex": "^4.2.0", "nise": "^1.5.2", "supports-color": "^5.5.0" - }, + } + }, + "node_modules/sinon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "snapdragon": { + "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "requires": { + "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", @@ -4752,135 +6512,148 @@ "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-node": { + "node_modules/snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, - "requires": { + "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-util": { + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.2.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "socket.io": { + "node_modules/socket.io": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", "dev": true, - "requires": { + "dependencies": { "debug": "~3.1.0", "engine.io": "~3.2.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", "socket.io-client": "2.1.1", "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, - "socket.io-adapter": { + "node_modules/socket.io-adapter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", "dev": true }, - "socket.io-client": { + "node_modules/socket.io-client": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", "dev": true, - "requires": { + "dependencies": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", @@ -4895,59 +6668,68 @@ "parseuri": "0.0.5", "socket.io-parser": "~3.2.0", "to-array": "0.1.4" - }, + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "ms": "2.0.0" } }, - "socket.io-parser": { + "node_modules/socket.io-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", "dev": true, - "requires": { + "dependencies": { "component-emitter": "1.2.1", "debug": "~3.1.0", "isarray": "2.0.1" - }, + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "ms": "2.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "node_modules/socket.io/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" } }, - "source-map": { + "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-resolve": { + "node_modules/source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "requires": { + "dependencies": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", @@ -4955,1562 +6737,2065 @@ "urix": "^0.1.0" } }, - "source-map-url": { + "node_modules/source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, - "split-string": { + "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "static-extend": { + "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, - "requires": { + "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "statuses": { + "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "stream-browserify": { + "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "requires": { + "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" } }, - "stream-combiner2": { + "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, - "requires": { + "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, - "stream-http": { + "node_modules/stream-http": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", "dev": true, - "requires": { + "dependencies": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", "readable-stream": "^3.0.6", "xtend": "^4.0.0" - }, + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, "dependencies": { - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "stream-splicer": { + "node_modules/stream-splicer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.2" } }, - "streamroller": { + "node_modules/streamroller": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "deprecated": "1.x is no longer supported. Please upgrade to 3.x or higher.", "dev": true, - "requires": { + "dependencies": { "async": "^2.6.2", "date-format": "^2.0.0", "debug": "^3.2.6", "fs-extra": "^7.0.1", "lodash": "^4.17.14" }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/streamroller/node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "lodash": "^4.17.14" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/streamroller/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "string-width": { + "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "requires": { + "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "string.prototype.trimleft": { + "node_modules/string.prototype.trimleft": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" } }, - "string.prototype.trimright": { + "node_modules/string.prototype.trimright": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "stringify": { + "node_modules/stringify": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/stringify/-/stringify-5.2.0.tgz", "integrity": "sha1-8iux8xrBCwRk637mDxqp9x5UZRI=", "dev": true, - "requires": { + "dependencies": { "browserify-transform-tools": "^1.5.3", "html-minifier": "3.5.2" + }, + "engines": { + "node": ">=4.0.0" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "subarg": { + "node_modules/subarg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.1.0" } }, - "supports-color": { + "node_modules/supports-color": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, - "requires": { + "dependencies": { "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "syntax-error": { + "node_modules/syntax-error": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, - "requires": { + "dependencies": { "acorn-node": "^1.2.0" } }, - "through": { + "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { + "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "requires": { + "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "timers-browserify": { + "node_modules/timers-browserify": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "dev": true, - "requires": { + "dependencies": { "process": "~0.11.0" + }, + "engines": { + "node": ">=0.6.0" } }, - "tmp": { + "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "requires": { + "dependencies": { "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "to-array": { + "node_modules/to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "to-object-path": { + "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.0.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex": { + "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, - "requires": { + "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "toidentifier": { + "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "tty-browserify": { + "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", "dev": true }, - "type-detect": { + "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "type-is": { + "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { + "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "typescript": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", - "integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==", - "dev": true + "node_modules/typedoc": { + "version": "0.23.24", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.24.tgz", + "integrity": "sha512-bfmy8lNQh+WrPYcJbtjQ6JEEsVl/ce1ZIXyXhyW+a1vFrjO39t6J8sL/d6FfAGrJTc7McCXgk9AanYBSNvLdIA==", + "dev": true, + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.2.5", + "minimatch": "^5.1.2", + "shiki": "^0.12.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 14.14" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x" + } + }, + "node_modules/typedoc-plugin-rename-defaults": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/typedoc-plugin-rename-defaults/-/typedoc-plugin-rename-defaults-0.6.4.tgz", + "integrity": "sha512-0rAeNttAfu6ixbi1yu6d+DqNZN8SfRivj2QbnZ4zVa+5HcCPcmQrlR6WHjNzdDfpkGytiiqPTtRD6pAfW/yACg==", + "dev": true, + "peerDependencies": { + "typedoc": "0.22.x || 0.23.x" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "uglify-js": { + "node_modules/uglify-js": { "version": "3.0.28", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.28.tgz", "integrity": "sha512-0h/qGay016GG2lVav3Kz174F3T2Vjlz2v6HCt+WDQpoXfco0hWwF5gHK9yh88mUYvIC+N7Z8NT8WpjSp1yoqGA==", "dev": true, - "requires": { + "dependencies": { "commander": "~2.11.0", "source-map": "~0.5.1" }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - } + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" } }, - "ultron": { + "node_modules/uglify-js/node_modules/commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "node_modules/ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "umd": { + "node_modules/umd": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", - "dev": true + "dev": true, + "bin": { + "umd": "bin/cli.js" + } }, - "undeclared-identifiers": { + "node_modules/undeclared-identifiers": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, - "requires": { + "dependencies": { "acorn-node": "^1.3.0", "dash-ast": "^1.0.0", "get-assigned-identifiers": "^1.2.0", "simple-concat": "^1.0.0", "xtend": "^4.0.1" + }, + "bin": { + "undeclared-identifiers": "bin.js" } }, - "unicode-canonical-property-names-ecmascript": { + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-match-property-ecmascript": { + "node_modules/unicode-match-property-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dev": true, - "requires": { + "dependencies": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" } }, - "unicode-match-property-value-ecmascript": { + "node_modules/unicode-match-property-value-ecmascript": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-property-aliases-ecmascript": { + "node_modules/unicode-property-aliases-ecmascript": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "union-value": { + "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "requires": { + "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, - "unpipe": { + "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, - "requires": { + "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "dependencies": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, + "node_modules/watchify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", + "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "browserify": "^16.1.0", + "chokidar": "^2.1.1", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "bin": { + "watchify": "bin/cmd.js" + } + }, + "node_modules/watchify/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchify/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchify/node_modules/chokidar/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/chownr": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/debug": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/glob": { + "version": "7.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/minipass": { + "version": "2.3.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/minizlib": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/ms": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/needle": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "node_modules/watchify/node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true + "node_modules/watchify/node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "node_modules/watchify/node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "node_modules/watchify/node_modules/fsevents/node_modules/semver": { + "version": "5.7.0", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } + "safe-buffer": "~5.1.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "node_modules/watchify/node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "node_modules/watchify/node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "node_modules/watchify/node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", "dev": true, - "requires": { - "inherits": "2.0.3" + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/tar": { + "version": "4.4.8", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/watchify/node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/watchify/node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "string-width": "^1.0.2 || 2" } }, - "util-deprecate": { + "node_modules/watchify/node_modules/fsevents/node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "dev": true, + "inBundle": true, + "license": "ISC", + "optional": true }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "node_modules/watchify/node_modules/fsevents/node_modules/yallist": { + "version": "3.0.3", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/watchify/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchify/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "utils-merge": { + "node_modules/watchify/node_modules/is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "node_modules/watchify/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true + "node_modules/watchify/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } }, - "watchify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", - "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", + "node_modules/watchify/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, - "requires": { - "anymatch": "^2.0.0", - "browserify": "^16.1.0", - "chokidar": "^2.1.1", - "defined": "^1.0.0", - "outpipe": "^1.1.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" + "dependencies": { + "remove-trailing-separator": "^1.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchify/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - } - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchify/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "when": { + "node_modules/when": { "version": "3.7.8", "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", "dev": true }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-module": { + "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "wide-align": { + "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, - "requires": { + "dependencies": { "string-width": "^1.0.2 || 2" } }, - "wordwrap": { + "node_modules/wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { + "node_modules/ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, - "requires": { + "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", "ultron": "~1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, - "xml-char-classes": { + "node_modules/ws/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/xml-char-classes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "xml2js": { + "node_modules/xml2js": { "version": "0.4.22", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", "dev": true, - "requires": { + "dependencies": { "sax": ">=0.6.0", "util.promisify": "~1.0.0", "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "xmlbuilder": { + "node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "xmlhttprequest-ssl": { + "node_modules/xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "xtend": { + "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "node_modules/y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, - "yallist": { + "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "13.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, - "requires": { + "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } } }, - "yargs-unparser": { + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "dev": true, - "requires": { + "dependencies": { "flat": "^4.1.0", "lodash": "^4.17.15", "yargs": "^13.3.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/yargs-unparser/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-unparser/node_modules/yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - } - } + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" } }, - "yeast": { + "node_modules/yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 808b3ab..c530ef8 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "test_gl2": "tsc && karma start --webgl-version=2", "docs": "jsdoc program.js texture.js fbo.js arraybuffer.js indexbuffer.js bufferutils.js -R README.md -d ../nanogl_gh_pages -t node_modules/minami", "gztest": "browserify nanogl.js -o gztest.js && uglifyjs --screw-ie8 -m -c warnings=false -o gztest.min.js -- gztest.js && gzip -k -9 gztest.min.js && stat -f%z gztest.min.js.gz && rm ./*gztest*", - "perf": "browserify -t [ stringify --extensions [.vert .frag] ] -o test/perf/main.js test/perf/index.js" + "perf": "browserify -t [ stringify --extensions [.vert .frag] ] -o test/perf/main.js test/perf/index.js", + "build-docs": "typedoc && del tempdocs/** '!tempdocs/data.json' && mv tempdocs/* docs/ && rm -rf tempdocs" }, "repository": { "type": "git", @@ -41,6 +42,7 @@ "@babel/preset-env": "^7.7.4", "babelify": "^10.0.0", "browserify": "^16.5.0", + "del-cli": "^5.0.0", "expect.js": "^0.3.1", "karma": "^4.4.1", "karma-browserify": "^6.1.0", @@ -52,7 +54,9 @@ "mocha": "^6.2.2", "sinon": "^7.5.0", "stringify": "^5.2.0", - "typescript": "^3.7.2", + "typedoc": "^0.23.24", + "typedoc-plugin-rename-defaults": "^0.6.4", + "typescript": "^4.9.5", "watchify": "^3.11.1", "when": "^3.7.8" } diff --git a/src/arraybuffer.ts b/src/arraybuffer.ts index a1bd421..6be59d3 100644 --- a/src/arraybuffer.ts +++ b/src/arraybuffer.ts @@ -8,36 +8,52 @@ import { getComponentSize, isBufferSource } from './utils'; * GL_ARRAY_BUFFER */ const GL_ARRAY_BUFFER = 0x8892; -interface AttributeDef { +/** The definition for an attribute in a buffer. */ +export interface AttributeDef { + /** The attribute name */ name: string; + /** The type of data (`GL_FLOAT`, `GL_SHORT`, etc.) */ type: GLenum; + /** The size of the attribute (`1` for a number, `2` for a vec2, etc.) */ size: number; + /** The offset in bytes of the attribute data in the buffer */ offset: number; + /** Whethere the data must be normalized or not */ normalize: boolean; + /** + * The number of bytes for each vertex in the buffer. + * If not set, the stride of the buffer is used. + */ stride: number; } /** - * @class - * @implements {Drawable} - * @param {WebGLRenderingContext} gl then webgl context this ArrayBuffer belongs to - * @param {TypedArray|uint} [data] optional data to copy to buffer, or the size (in bytes) - * @param {GLenum} [usage=GL_STATIC_DRAW] the usage hint for this buffer. - * + * This class manages ARRAY_BUFFER type buffers. + * @extends {BaseBuffer} */ - class ArrayBuffer extends BaseBuffer { - + /** The webgl context this ArrayBuffer belongs to */ readonly gl: GLContext; + /** The webgl buffer this ArrayBuffer writes to */ readonly buffer: WebGLBuffer; - + + /** The usage hint for this buffer */ usage: GLenum; + /** The number of bytes for each vertex in this buffer */ stride : number; + /** The length in bytes of the buffer */ byteLength: number; + /** The number of vertices in the buffer data */ length : number; + /** The attributes declared for this buffer */ attribs: AttributeDef[]; - + /** + * @param {GLContext} gl The webgl context this ArrayBuffer belongs to + * @param {BufferSource|GLsizeiptr} [data] The data to fill the buffer with, or the size (in bytes) + * @param {GLenum} [usage=GL_STATIC_DRAW] The usage hint for this buffer (`GL_STATIC_DRAW`, `GL_DYNAMIC_DRAW`, etc.) + * @param {WebGLBuffer} [glbuffer] A WebGLBuffer to use instead of creating a new one + */ constructor(gl: GLContext, data?: GLsizeiptr | BufferSource, usage: GLenum = gl.STATIC_DRAW, glbuffer? : WebGLBuffer ) { super(); @@ -45,7 +61,7 @@ class ArrayBuffer extends BaseBuffer { this.usage = usage; this.buffer = (glbuffer !== undefined ) ? glbuffer : gl.createBuffer(); - + this.attribs = []; this.stride = 0; this.byteLength = 0; @@ -56,20 +72,17 @@ class ArrayBuffer extends BaseBuffer { } } - /** - * Bind the underlying webgl buffer. - */ bind() { this.gl.bindBuffer(GL_ARRAY_BUFFER, this.buffer); } /** - * Add attribute declaration for this buffer. Once attributes declared, the buffer can be linked to - * programs attributes using {@link ArrayBuffer#attribPointer} - * @param {string} name the name of the program's attribute - * @param {uint} size the size of the attribute (3 for a vec3) - * @param {GLenum} type the type of data (GL_FLOAT, GL_SHORT etc) - * @param {boolean} [normalize=false] indicate if the data must be normalized + * Add attribute declaration for this buffer. Once the attributes declared, the buffer can be linked to + * the program's attributes using {@link ArrayBuffer#attribPointer}. + * @param {string} name The name of the program's attribute + * @param {number} size The size of the attribute (`1` for a number, `2` for a vec2, etc.) + * @param {GLenum} type The type of data (`GL_FLOAT`, `GL_SHORT`, etc.) + * @param {boolean} [normalize=false] Indicate if the data must be normalized */ attrib(name: string, size: number, type: GLenum, normalize: boolean = false): this { this.attribs.push({ @@ -85,11 +98,6 @@ class ArrayBuffer extends BaseBuffer { return this; } - /** - * Fill webgl buffer with the given data. You can also pass a uint to allocate the buffer to the given size. - * @param {TypedArray|uint} array the data to send to the buffer, or a size. - */ - data(array: BufferSource | GLsizeiptr) { const gl = this.gl; gl.bindBuffer(GL_ARRAY_BUFFER, this.buffer); @@ -100,11 +108,6 @@ class ArrayBuffer extends BaseBuffer { this._computeLength(); } - /** - * Set a part of the buffer with the given data, starting a offset (in bytes) - * @param {typedArray} array the data to send to buffer - * @param {uint} offset the offset in byte where the data will be written - */ subData(array: BufferSource, offset: number) { const gl = this.gl; gl.bindBuffer(GL_ARRAY_BUFFER, this.buffer); @@ -113,9 +116,9 @@ class ArrayBuffer extends BaseBuffer { } /** - * Link given program attributes to this buffer. You should first declare attributes using {@link ArrayBuffer#attrib} + * Link the given program attributes to this buffer. You should first declare attributes using {@link ArrayBuffer#attrib} * before calling this method. - * @param {Program} program the nanogl Program + * @param {Program} program The program to link */ attribPointer(program: Program) { const gl = this.gl; @@ -133,22 +136,22 @@ class ArrayBuffer extends BaseBuffer { } /** - * Shortcut to gl.drawArrays - * @param {GLenum} mode the type of primitive to draw (GL_TRIANGLE, GL_POINTS etc) - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position of the first vertex to draw + * Shortcut to `gl.drawArrays`. + * @param {GLenum} mode The type of primitive to draw (`GL_TRIANGLE`, `GL_POINTS` etc) + * @param {uint} [count=this.length] The number of vertices to draw (the full buffer is used if omited) + * @param {uint} [offset=0] The position of the first vertex to draw */ draw(mode: GLenum, count: number = this.length, offset: number = 0) { this.gl.drawArrays(mode, offset, 0|count); } - /** - * Delete underlying webgl objects - */ dispose() { this.gl.deleteBuffer(this.buffer); } + /** + * Compute the number of vertices in the buffer data. + */ _computeLength() { if (this.stride > 0) { this.length = this.byteLength / this.stride; diff --git a/src/basebuffer.ts b/src/basebuffer.ts index 2473d02..a5a5900 100644 --- a/src/basebuffer.ts +++ b/src/basebuffer.ts @@ -1,89 +1,96 @@ - +/** + * This class is the base for all buffer classes. + */ abstract class BaseBuffer { - + /** + * Bind the underlying webgl buffer. + */ abstract bind(): void; + /** + * Delete all webgl objects related to this BaseBuffer. + */ abstract dispose(): void; + /** + * Fill the webgl buffer with the given data. You can also pass a number instead to allocate the buffer to a given size. + * @param {BufferSource|GLsizeiptr} array The data to use, or a size + */ abstract data(array: BufferSource | GLsizeiptr): void; + /** + * Set part of the buffer with the given data, starting at an offset. + * @param {BufferSource} array The data to use + * @param {number} offset The offset (in bytes) where the data should start to be written + */ abstract subData(array: BufferSource, offset: number): void; + /** + * Shortcut to `gl.drawArrays`. + * @param {GLenum} mode The type of primitive to draw (`GL_TRIANGLE`, `GL_POINTS` etc) + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from + */ abstract draw(mode: GLenum, count?: number, offset?: number): void; /** - * Shortcut to gl.drawArrays( gl.POINTS, offset, count ) - * @function - * @name Drawable#drawPoints - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.POINTS, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawPoints(count?: number, offset?: number) { this.draw(0 /* POINTS */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.LINES, offset, count ) - * @function - * @name Drawable#drawLines - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.LINES, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ - drawLines(count?: number, offset?: number) { this.draw(1 /* LINES */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.LINE_LOOP, offset, count ) - * @function - * @name Drawable#drawLineLoop - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.LINE_LOOP, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawLineLoop(count?: number, offset?: number) { this.draw(2 /* LINE_LOOP */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.LINE_STRIP, offset, count ) - * @function - * @name Drawable#drawLineStrip - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.LINE_STRIP, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawLineStrip(count?: number, offset?: number) { this.draw(3 /* LINE_STRIP */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.TRIANGLES, offset, count ) - * @function - * @name Drawable#drawTriangles - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.TRIANGLES, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawTriangles(count?: number, offset?: number) { this.draw(4 /* TRIANGLES */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.TRIANGLE_STRIP, offset, count ) - * @function - * @name Drawable#drawTriangleStrip - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.TRIANGLE_STRIP, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawTriangleStrip(count?: number, offset?: number) { this.draw(5 /* TRIANGLE_STRIP */, count, offset); } /** - * Shortcut to gl.drawArrays( gl.TRIANGLE_FAN, offset, count ) - * @function - * @name Drawable#drawTriangleFan - * @param {uint} [count] the number of vertices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position in buffer to start from. + * Shortcut to `gl.drawArrays(gl.TRIANGLE_FAN, offset, count)`. + * @param {number} [count] The number of elements to draw (the full buffer is used if omited) + * @param {number} [offset=0] The position in the buffer to start from */ drawTriangleFan(count?: number, offset?: number) { this.draw(6 /* TRIANGLE_FAN */, count, offset); diff --git a/src/fbo.ts b/src/fbo.ts index beed572..3a28ecc 100644 --- a/src/fbo.ts +++ b/src/fbo.ts @@ -14,15 +14,23 @@ function assertIsTexture(target: AttachmentTarget|null, msg:string): asserts tar } } - +/** A target for an Attachment. */ export type AttachmentTarget = Texture2D | RenderBuffer; +/** + * This class manages framebuffer attachments. + */ export class Attachment { - + /** The mipmap level of the target texture (must be `0`) */ level: number; + /** The target (texture or renderbuffer) of this attachment */ readonly target: AttachmentTarget; + /** Whether the attachment target is a texture or not */ private _isTexture: boolean; + /** + * @param {AttachmentTarget} target The texture or renderbuffer to attach + */ constructor(target: AttachmentTarget) { this.target = target; this.level = 0; @@ -30,10 +38,19 @@ export class Attachment { this._isTexture = isTexture(target); } + /** + * Getter for the `_isTexture` property. + * Know whether the attachment target is a texture or not. + */ isTexture() { return this._isTexture; } + /** + * Resize the attachment target. + * @param {number} w The new width + * @param {number} h The new height + */ _resize(w: number, h: number) { if (w > 0 && h > 0) { // const target : @@ -46,6 +63,11 @@ export class Attachment { } } + /** + * Attach the target to the FBO. + * The FBO must be explicitely bound before calling this method. + * @param {GLenum} bindingPoint The binding point of the attachment (`GL_COLOR_ATTACHMENT0`, `GL_DEPTH_ATTACHMENT`, etc.) + */ _attach(bindingPoint: GLenum) { var gl = this.target.gl; if (this._isTexture) { @@ -55,6 +77,11 @@ export class Attachment { } } + /** + * Detach the target from the FBO. + * The FBO must be explicitely bound before calling this method. + * @param {GLenum} bindingPoint The binding point of the attachment (`GL_COLOR_ATTACHMENT0`, `GL_DEPTH_ATTACHMENT`, etc.) + */ _detach(bindingPoint: GLenum) { var gl = this.target.gl; if (this._isTexture) { @@ -64,36 +91,36 @@ export class Attachment { } } + /** + * Delete all webgl objects related to this Attachment. + */ dispose() { this.target.dispose(); } } - - /** - * @class - * @param {WebGLRenderingContext} gl the webgl context this Fbo belongs to - * @param {Object} [opts] - * @param {boolean} [opts.depth=false] if true, a depth renderbuffer is attached - * @param {boolean} [opts.stencil=false] if true, a stencil renderbuffer is attached - * @param {GLenum|GLenum[]} [opts.type=GL_UNSIGNED_BYTE] the pixel type of the Fbo, can be gl.UNSIGNED_BYTE, gl.FLOAT, half.HALF_FLOAT_OES etc. you can also provide an array of types used as cascaded fallbacks - * @param {GLenum} [opts.format=GL_RGB] the color attachment pixel format. - * @param {GLenum} [opts.internal=GL_RGB] the internal color attachment pixel format. - * + * This class manages framebuffers and their attachments. */ class Fbo { - + /** The webgl context this FBO belongs to */ readonly gl: GLContext; + /** The underlying webgl framebuffer */ readonly fbo: WebGLFramebuffer; + /** The list of the attachments setup for this FBO */ readonly attachmentsList: Attachment[]; + /** The list of the bindingPoint/attachment pairs setup for this FBO */ attachments: Record; + /** The width of this FBO */ width: number; + /** The height of this FBO */ height: number; - + /** + * @param {GLContext} gl The webgl context this FBO belongs to + */ constructor( gl: GLContext ) { this.gl = gl; this.width = 0; @@ -106,7 +133,12 @@ class Fbo { this.attachmentsList = []; } - // The Fbo must be explicitely bound before calling this method + /** + * Add an attachment to this FBO. + * The FBO must be explicitely bound before calling this method. + * @param {GLenum} bindingPoint The binding point of the attachment (`GL_COLOR_ATTACHMENT0`, `GL_DEPTH_ATTACHMENT`, etc.) + * @param {AttachmentTarget} res The texture or buffer to attach + */ attach(bindingPoint: GLenum, res: AttachmentTarget): Attachment { const attachment = new Attachment(res); bindingPoint = 0 | bindingPoint; @@ -121,7 +153,11 @@ class Fbo { return attachment; } - // The Fbo must be explicitely bound before calling this method + /** + * Remove an attachment from this FBO. + * The FBO must be explicitely bound before calling this method. + * @param {GLenum} bindingPoint The binding point of the attachment (`GL_COLOR_ATTACHMENT0`, `GL_DEPTH_ATTACHMENT`, etc.) + */ detach(bindingPoint: GLenum) { const att = this.attachments[bindingPoint.toString()]; if (att !== undefined) { @@ -132,7 +168,10 @@ class Fbo { delete this.attachments[bindingPoint.toString()]; } - + /** + * Get a specific attachment of this FBO (if it exists). + * @param {GLenum} bindingPoint The binding point of the attachment (`GL_COLOR_ATTACHMENT0`, `GL_DEPTH_ATTACHMENT`, etc.) + */ getAttachment(bindingPoint: GLenum): Attachment | null { const att = this.attachments[bindingPoint.toString()]; if (att !== undefined) { @@ -141,20 +180,28 @@ class Fbo { return null; } - + /** + * Get the color attachment of this FBO (if it exists). + * @param {number} [index=0] The color attachment index + */ getColor(index: number = 0): AttachmentTarget | null { const att = this.getAttachment(0x8ce0 + index); // COLOR_ATTACHMENT return att ? att.target : null; } - + /** + * Get the color texture of this FBO (if it exists). + * @param {number} [index=0] The color attachment index + */ getColorTexture(index: number = 0): Texture2D { const res = this.getColor( index ); assertIsTexture( res, `Color attachment ${index} is not a texture.` ); return res; } - + /** + * Get the depth attachment of this FBO (if it exists). + */ getDepth(): AttachmentTarget | null { const att = this.getAttachment(0x8d00) || // DEPTH_ATTACHMENT @@ -164,18 +211,23 @@ class Fbo { } /** - * Shortcut to attach texture to color attachment 0 - */ + * Attach a texture to the color attachment 0 of this FBO. + * The FBO must be explicitely bound before calling this method. + * @param {GLenum} [format=GL_RGB] The pixel format of the texture (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_RGB` + * @param {GLenum} [type=GL_UNSIGNED_BYTE] The pixel data type of the texture (`GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc.), defaults to `GL_UNSIGNED_BYTE` + * @param {GLenum} [internal=format] The pixel internal format of the texture, defaults to the `format` parameter value + */ attachColor(format?: GLenum, type?: GLenum, internal?: GLenum) { const t = new Texture2D(this.gl, format, type, internal); return this.attach(0x8ce0, t); } /** - * shortcut to attach depth/stencil renderbuffer/texture to this FBO - * @param {bool} [depth =true ] add depth component to depth/stencil buffer - * @param {bool} [stencil =false] add stencil components to depth/stencil buffer - * @param {bool} [useTexture =false] if true, use Texture instead of RenderBuffer, depth param must also be true. You must ensure Depth Texture capability is available on your context, no test are made here + * Attach a renderbuffer/texture to the depth/stencil attachment of this FBO. + * The FBO must be explicitely bound before calling this method. + * @param {boolean} [depth=true] Add depth component or not + * @param {boolean} [stencil=false] Add stencil component or not + * @param {boolean} [useTexture=false] Use a Texture2D instead of a RenderBuffer. If true, the depth param must also be true. You also must ensure Depth Texture capability is available on your context. */ attachDepth(depth: boolean = true, stencil: boolean = false, useTexture: boolean = false) { let attachment: AttachmentTarget; @@ -191,9 +243,9 @@ class Fbo { } /** - * Resize FBO attachments - * @param {uint} w new width - * @param {uint} h new height + * Resize the FBO and its attachments. + * @param {number} w The new width + * @param {number} h The new height */ resize(w: number, h: number) { if (this.width !== w || this.height !== h) { @@ -204,28 +256,31 @@ class Fbo { } /** - * Bind the Fbo ( simple shortcut for gl.bindFramebuffer(...) ) + * Bind the underlying webgl framebuffer. */ bind() { const gl = this.gl; gl.bindFramebuffer(gl.FRAMEBUFFER, this.fbo); } - /* - * Clear all buffers + /** + * Clear all buffers (color, depth and stencil). */ clear() { // COLOR | DEPTH | STENCIL this.gl.clear(0x4500); } + /** + * Set the webgl viewport to the size of this FBO. + */ defaultViewport() { this.gl.viewport(0, 0, this.width, this.height); } /** - * Check if the Fbo is valid, - * The Fbo must be explicitely bound before calling this method + * Check if the FBO is valid. + * The FBO must be explicitely bound before calling this method. */ isValid() { const gl = this.gl; @@ -233,7 +288,7 @@ class Fbo { } /** - * Delete all webgl objects related to this Fbo (fbo, and all attachments ) + * Delete all webgl objects related to this FBO. */ dispose() { const gl = this.gl; @@ -248,7 +303,9 @@ class Fbo { } - // (re)allocate render buffers to size + /** + * Resize all attachments to the FBO size. + */ _allocate() { for (var attachment of this.attachmentsList) { attachment._resize(this.width, this.height); diff --git a/src/indexbuffer.ts b/src/indexbuffer.ts index efe109a..1c2f3e7 100644 --- a/src/indexbuffer.ts +++ b/src/indexbuffer.ts @@ -7,24 +7,31 @@ import { getComponentSize, isBufferSource } from './utils'; const TGT = 0x8893; /** - * @class - * @implements {Drawable} - * @param {WebGLRenderingContext} gl then webgl context this ArrayBuffer belongs to - * @param {GLenum} [type=GL_UNSIGNED_SHORT] the inetger type of the indices (GL_UNSIGNED_BYTE, GL_UNSIGNED_INT etc) - * @param {TypedArray|uint} [data] optional data to copy to buffer, or the size (in bytes) - * @param {GLenum} [usage=GL_STATIC_DRAW] the usage hint for this buffer. - * + * This class manages ELEMENT_ARRAY_BUFFER type buffers. + * @extends {BaseBuffer} */ class IndexBuffer extends BaseBuffer { - + /** The webgl context this IndexBuffer belongs to */ readonly gl: GLContext; + /** The webgl buffer this IndexBuffer writes to */ readonly buffer: WebGLBuffer; + /** The usage hint for this buffer */ usage: GLenum; + /** The number type of the index data for this buffer */ type : GLenum; + /** The number of bytes for each index in this buffer */ typeSize : number; + /** The length in bytes of the buffer */ byteLength: number; + /** + * @param {GLContext} gl The webgl context this IndexBuffer belongs to + * @param {GLenum} [type=GL_UNSIGNED_SHORT] The number type of the index data (`GL_UNSIGNED_BYTE`, `GL_UNSIGNED_INT`, etc.) + * @param {BufferSource|GLsizeiptr} [data] The data to fill the buffer with, or the size (in bytes) + * @param {GLenum} [usage=GL_STATIC_DRAW] The usage hint for this buffer (`GL_STATIC_DRAW`, `GL_DYNAMIC_DRAW`, etc.) + * @param {WebGLBuffer} [glbuffer] A WebGLBuffer to use instead of creating a new one + */ constructor(gl: GLContext, type: GLenum = gl.UNSIGNED_SHORT, data?: GLsizeiptr | BufferSource, usage: GLenum = gl.STATIC_DRAW, glbuffer? : WebGLBuffer ) { super(); @@ -43,26 +50,19 @@ class IndexBuffer extends BaseBuffer { } } - /** - * Bind the underlying webgl buffer. - */ bind() { this.gl.bindBuffer(TGT, this.buffer); } /** - * Change the type of internal type of the IndexBuffer - * @param {GLenum} type the integer type of the indices (GL_UNSIGNED_BYTE, GL_UNSIGNED_INT etc) + * Change the internal type of the index data of the IndexBuffer. + * @param {GLenum} type the number type of the index data (`GL_UNSIGNED_BYTE`, `GL_UNSIGNED_INT`, etc) */ setType(type: GLenum) { this.type = type; this.typeSize = getComponentSize(type); } - /** - * Fill webgl buffer with the given data. You can also pass a uint to allocate the buffer to the given size. - * @param {TypedArray|uint} array the data to send to the buffer, or a size. - */ data(array: GLsizeiptr | BufferSource) { const gl = this.gl; gl.bindBuffer(TGT, this.buffer); @@ -71,11 +71,6 @@ class IndexBuffer extends BaseBuffer { this.byteLength = isBufferSource(array) ? array.byteLength : array; } - /** - * Set a part of the buffer with the given data, starting a offset (in bytes) - * @param {typedArray} array the data to send to buffer - * @param {uint} offset the offset in byte where the data will be written - */ subData(array: BufferSource, offset: number) { const gl = this.gl; gl.bindBuffer(TGT, this.buffer); @@ -83,18 +78,15 @@ class IndexBuffer extends BaseBuffer { gl.bindBuffer(TGT, null); } - /** - * Delete underlying webgl objects - */ dispose() { this.gl.deleteBuffer(this.buffer); } /** - * Shortcut to gl.drawArrays - * @param {GLenum} mode the type of primitive to draw (GL_TRIANGLE, GL_POINTS etc) - * @param {uint} [count] the number of indices to draw (full buffer is used if omited) - * @param {uint} [offset=0] the position of the first index to draw + * Shortcut to `gl.drawArrays`. + * @param {GLenum} mode The type of primitive to draw (`GL_TRIANGLE`, `GL_POINTS` etc) + * @param {uint} [count=this.length] The number of indices to draw (the full buffer is used if omited) + * @param {uint} [offset=0] The position of the first index to draw */ draw(mode: GLenum, count?: number, offset: number = 0) { count = (count === undefined) ? this.byteLength / this.typeSize : count; diff --git a/src/program.ts b/src/program.ts index ea7f00c..582f3c8 100644 --- a/src/program.ts +++ b/src/program.ts @@ -9,46 +9,41 @@ interface CompilationContext { let _UID: number = 0; /** - * Program constructor. Create gl program and shaders. You can pass optional shader code to immediatly compile shaders - * @param {WebGLRenderingContext} gl webgl context this program belongs to - * @param {String} [vert=undefined] an optional vertex shader code. See {@link Program#compile} - * @param {String} [frag=undefined] an optional fragment shader code See {@link Program#compile} - * @param {String} [defs=undefined] an optional string prepend to both fragment and vertex shader code. See {@link Program#compile}. - * @see {@link Program#compile} - * - * @example For the given vertex shader - * attribute vec3 aPosition; - * uniform mat4 uMVP; - * uniform vec3 uCameraPosition; - * - * @class - * @classdesc Program class provide shader compilation and linking functionality. - * It also give you convenient access to active uniforms and attributes. - * Once compiled, the Program object list all used uniforms/attributes and provide getter/setter function for each one. See {@link Program} constructor. - * + * This class provides provides shader compilation and webgl program linking functionality. + * It also give you convenient access to active uniforms and attributes. */ - class Program { - /** - * Program.debug - * can be set to true to check and log compilation and linking errors (default to false) - */ + /** Can be set to true to check and log compilation and linking errors */ static debug: boolean = false; - + /** The webgl context this Program belongs to */ readonly gl: GLContext; + /** The underlying webgl program */ readonly program: WebGLProgram; + /** The underlying webgl vertex shader */ readonly vShader: WebGLShader; + /** The underlying webgl fragment shader */ readonly fShader: WebGLShader; + /** The list of uniform & attribute names */ protected dyns: string[]; - + + /** Whether the program is ready to use or not */ ready: boolean; + /** Unique id for the program */ _uid: number; + /** Unique id for the program that updates every time it is compiled */ _cuid: number; [k: string]: any; + /** + * You can pass optional shader code to immediatly compile shaders or compile them later with {@link Program#compile}. + * @param {GLContext} gl The webgl context this Program belongs to + * @param {String} [vert] The vertex shader code + * @param {String} [frag] The fragment shader code + * @param {String} [defs] A string to prepend to both fragment and vertex shader code + */ constructor(gl: GLContext, vert?: string, frag?: string, defs?: string) { this.gl = gl; this.program = gl.createProgram(); @@ -68,8 +63,8 @@ class Program { } /** - * Shortcut for gl.useProgram() - * alias program.bind() + * Bind the underlying webgl program. + * Shortcut for `gl.useProgram()`. */ use() { if (!this.ready) { @@ -78,16 +73,19 @@ class Program { this.gl.useProgram(this.program); } + /** + * Alias for {@link Program#use}. + */ bind() { this.use(); } /** - * Compile vertex and fragment shader then link gl program + * Compile vertex and fragment shader, then link webgl program. * This method can be safely called several times. - * @param {String} vert vertex shader code - * @param {String} frag fragment shader code - * @param {String} [prefix=''] an optional string append to both fragment and vertex code + * @param {String} vert The vertex shader code + * @param {String} frag The fragment shader code + * @param {String} [prefix] A string to prepend to both fragment and vertex shader code */ compile(vert: string, frag: string, prefix?: string ): boolean { this.ready = false; @@ -118,7 +116,7 @@ class Program { } /** - * Delete program and shaders + * Delete all webgl objects related to this Program. */ dispose() { if (this.gl !== null) { @@ -130,11 +128,23 @@ class Program { /* * List all uniforms and attributes and create helper function on Program instance - * eg : - * for a uniform vec3 uDirection; + * for a uniform vec3 uDirection; * create a method * program.uDirection( 1, 0, 0 ); */ + /** + * List all uniforms and attributes and create a helper function for each on Program instance. + * + * @example + * For a uniform + * ```glsl + * uniform vec3 uDirection; + * ``` + * it creates a method + * ```js + * program.uDirection(1, 0, 0); + * ``` + */ _grabParameters() { const gl = this.gl, prg = this.program; @@ -275,8 +285,8 @@ USetFMap[String(5126) /*FLOAT */] = '1f'; USetFMap[String(35664) /*FLOAT_VEC2 */] = '2f'; USetFMap[String(35665) /*FLOAT_VEC3 */] = '3f'; USetFMap[String(35666) /*FLOAT_VEC4 */] = '4f'; -USetFMap[String(35670) /*BOOL */] = -USetFMap[String(5124) /*INT */] = +USetFMap[String(35670) /*BOOL */] = +USetFMap[String(5124) /*INT */] = USetFMap[String(35678) /*SAMPLER_2D */] = USetFMap[String(35680) /*SAMPLER_CUBE*/] = USetFMap[String(35866) /*SAMPLER_2D_ARRAY*/] = '1i'; USetFMap[String(35671) /*BOOL_VEC2 */] = USetFMap[String(35667) /*INT_VEC2 */] = '2i'; USetFMap[String(35672) /*BOOL_VEC3 */] = USetFMap[String(35668) /*INT_VEC3 */] = '3i'; diff --git a/src/renderbuffer.ts b/src/renderbuffer.ts index 4aed25d..83e0d1c 100644 --- a/src/renderbuffer.ts +++ b/src/renderbuffer.ts @@ -5,25 +5,33 @@ let _UID = 0; const RENDERBUFFER = 0x8d41; /** - * @class - * @classdesc RenderBuffer class manage renderbuffers - * - * @param {WebGLRenderingContext} gl webgl context the texture belongs to - * @param {GLenum} [format=DEPTH_COMPONENT16] the pixel internal format, default to gl.DEPTH_COMPONENT16 + * This class manages renderbuffers. */ class RenderBuffer { - + /** The webgl context this RenderBuffer belongs to */ readonly gl: GLContext; + /** The underlying webgl renderbuffer */ readonly id: WebGLRenderbuffer; + /** The number of samples used for the renderbuffer storage (webgl2 only) */ readonly samples: number = 0; + /** The pixel internal format of the renderbuffer */ readonly format: GLenum; - + + /** The width of the renderbuffer */ width: number; + /** The height of the renderbuffer */ height: number; + /** Unique id for the RenderBuffer */ readonly _uid: number; + /** Whether the RenderBuffer is valid or not */ private _valid: boolean; + /** + * @param {GLContext} gl The webgl context this RenderBuffer belongs to + * @param {GLenum} [format=GL_DEPTH_COMPONENT16] The pixel internal format of the renderbuffer (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_DEPTH_COMPONENT16` + * @param {number} [samples=0] The number of samples to be used for the renderbuffer storage (webgl2 only) + */ constructor(gl: GLContext, format: GLenum, samples : number = 0) { this._uid = _UID++; this.gl = gl; @@ -47,8 +55,9 @@ class RenderBuffer { } /** - * - * + * Resize the RenderBuffer. + * @param {number} w The new width + * @param {number} h The new height */ resize(w: number, h: number) { if (this.width !== w || this.height !== h) { @@ -59,8 +68,8 @@ class RenderBuffer { } /** - * check renderbuffer for validity and allocate it if invalid. - * this method may leave RENDERBUFFER binding point empty + * Check renderbuffer for validity and allocate it if invalid. + * This method may leave RENDERBUFFER binding point empty. */ allocate() { if (!this._valid && this.width > 0 && this.height > 0) { @@ -70,22 +79,21 @@ class RenderBuffer { } /** - * Bind the renderbuffer + * Bind the underlying webgl renderbuffer. */ bind() { this.gl.bindRenderbuffer(RENDERBUFFER, this.id); } /** - * delete the webgl renderbuffer - * + * Delete all webgl objects related to this RenderBuffer. */ dispose() { this.gl.deleteRenderbuffer(this.id); } - /* - * actual RB gl allocation + /** + * Allocate webgl renderbuffer with current parameters. */ _storage() { const gl = this.gl; diff --git a/src/sampler.ts b/src/sampler.ts index ca81eb4..60e790a 100644 --- a/src/sampler.ts +++ b/src/sampler.ts @@ -3,17 +3,20 @@ import { getTextureFiltering } from './utils'; let _UID = 0; /** - * @class - * @classdesc Sampler class wrapper for GLES3 Samplers - * - * @param {WebGLRenderingContext} gl webgl context the sampler belongs to + * This class manages GLES3 Samplers. */ class Sampler { + /** Unique id for the Sampler */ readonly _uid: number; + /** The webgl context this Sampler belongs to */ gl: WebGL2RenderingContext; + /** The underlying webgl sampler */ id: WebGLSampler; + /** + * @param {WebGL2RenderingContext} gl The webgl2 context this Sampler belongs to + */ constructor(gl: WebGL2RenderingContext) { this._uid = _UID++; this.gl = gl; @@ -22,26 +25,25 @@ class Sampler { } /** - * Bind the sampler - * @param {uint} [unit] texture unit to on which bind the sampler + * Bind the underlying webgl sampler. + * @param {number} [unit] The texture unit to make active before binding */ bind(unit: number) { this.gl.bindSampler(unit, this.id); } /** - * delete the webgl sampler - * + * Delete all webgl objects related to this Sampler. */ dispose() { this.gl.deleteSampler(this.id); } /** - * Change the filtering parameters - * @param {boolean} [smooth=false] if true, use LINEAR filtering - * @param {boolean} [mipmap=false] if true, enable mipmaping - * @param {boolean} [miplinear=false] if true, use linear Mipmapping + * Change the filtering parameters. + * @param {boolean} [smooth=false] Use linear filtering or not + * @param {boolean} [mipmap=false] Enable mipmapping or not + * @param {boolean} [miplinear=false] Use linear mipmapping or not */ setFilter(smooth: boolean = false, mipmap: boolean = false, miplinear: boolean = false) { const gl = this.gl; @@ -50,29 +52,32 @@ class Sampler { } /** - * Set both WRAP_S and WRAP_T property to gl.REPEAT + * Make sampler repeat : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_REPEAT`. */ repeat() { this.wrap(this.gl.REPEAT); } /** - * Set both WRAP_S and WRAP_T property to gl.CLAMP_TO_EDGE + * Make sampler clamp : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_CLAMP_TO_EDGE`. */ clamp() { this.wrap(this.gl.CLAMP_TO_EDGE); } /** - * Set both WRAP_S and WRAP_T property to gl.MIRRORED_REPEAT + * Make sampler mirror : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_MIRRORED_REPEAT`. */ mirror() { this.wrap(this.gl.MIRRORED_REPEAT); } /** - * Set both WRAP_S and WRAP_T property to the given value - * @param {GLenum} wrap the wrap enum + * Set the `WRAP_S` and `WRAP_T` properties to the given value. + * @param {GLenum} wrap The wrap value to use (`GL_REPEAT`, `GL_CLAMP_TO_EDGE`, etc.) */ wrap(wrap: GLenum) { const gl = this.gl; diff --git a/src/texture-2d.ts b/src/texture-2d.ts index 50c0d22..0864499 100644 --- a/src/texture-2d.ts +++ b/src/texture-2d.ts @@ -4,13 +4,7 @@ import { GLContext } from './types'; const GL_TEXTURE_2D = 0x0de1; /** - * @class - * @classdesc Texture class manage TEXTURE_2D types textures - * - * @param {WebGLRenderingContext} gl webgl context the texture belongs to - * @param {GLenum} [format =GL_RGB] the pixel format, default to gl.RGB (can be gl.RGB, gl.RGBA, gl.LUMINANCE...) - * @param {GLenum} [type =GL_UNSIGNED_BYTE] the pixel data type, default to gl.UNSIGNED_BYTE - * @param {GLenum} [internal=format] the pixel internal format, default to the same value than 'format' parameter (which must be in webgl 1) + * This class manages TEXTURE_2D type textures. */ export default class Texture2D extends AbstractTexture { @@ -19,6 +13,12 @@ export default class Texture2D extends AbstractTexture { _target: GLenum = GL_TEXTURE_2D; + /** + * @param {GLContext} gl The webgl context this Texture belongs to + * @param {GLenum} [format=GL_RGB] The pixel format of the texture (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_RGB` + * @param {GLenum} [type=GL_UNSIGNED_BYTE] The pixel data type of the texture (`GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc.), defaults to `GL_UNSIGNED_BYTE` + * @param {GLenum} [internal=format] The pixel internal format of the texture, defaults to the `format` parameter value + */ constructor(gl: GLContext, format?: GLenum, type?: GLenum, internal?: GLenum) { super( gl, format, type, internal ); @@ -28,7 +28,8 @@ export default class Texture2D extends AbstractTexture { /** - * set texture data from html source + * Set the texture data from an HTML source. + * @param img The HTML image, canvas or video element to use as source */ fromImage(img: TexImageSource) { const gl = this.gl; @@ -41,11 +42,11 @@ export default class Texture2D extends AbstractTexture { } /** - * Allocate texture to the given size, with optional data (TypedArray) and data type - * @param {number} width the new texture's width - * @param {number} height the new texture's height - * @param {TypedArray} [data=null] TypedArray of texture data, can be null - * @param {GLenum} [dataType=GL_UNSIGNED_BYTE] can be gl.UNSIGNED_BYTE, gl.FLOAT, half.HALF_FLOAT_OES etc depending on available extensions + * Set the texture data from a TypedArray. + * You can also allocate an empty texture by providing only the size. + * @param {number} width The width of the texture + * @param {number} height The height of the texture + * @param {TypedArray|null} [data=null] The data to fill the texture with, or null to allocate an empty texture */ fromData(width: number, height: number, data: ArrayBufferView|null = null) { const gl = this.gl; diff --git a/src/texture-base.ts b/src/texture-base.ts index 2039225..669068a 100644 --- a/src/texture-base.ts +++ b/src/texture-base.ts @@ -5,7 +5,7 @@ import Texture2D from './texture-2d'; let _UID = 0; - +/** The types of webgl textures. */ export enum TextureType { NONE = 0 , TEXTURE_2D = 0x0de1, @@ -14,40 +14,46 @@ export enum TextureType { TEXTURE_3D = 0x806F, } - +/** A nanogl texture. */ export type Texture = TextureCube | Texture2D; - /** - * @class - * @classdesc Texture class manage TEXTURE_2D types textures - * - * @param {WebGLRenderingContext} gl webgl context the texture belongs to - * @param {GLenum} [format =GL_RGB] the pixel format, default to gl.RGB (can be gl.RGB, gl.RGBA, gl.LUMINANCE...) - * @param {GLenum} [type =GL_UNSIGNED_BYTE] the pixel data type, default to gl.UNSIGNED_BYTE - * @param {GLenum} [internal=format] the pixel internal format, default to the same value than 'format' parameter (which must be in webgl 1) + * This class is the base for all texture classes. */ export default abstract class AbstractTexture { - + /** The type of webgl texture (`TEXTURE_2D`, `TEXTURE_CUBE`, etc) */ readonly textureType : TextureType = TextureType.NONE; - + + /** The webgl context this Texture belongs to */ readonly gl: GLContext; + /** The underlying webgl texture */ readonly id: WebGLTexture; - + /** The width of the texture */ width : number; + /** The height of the texture */ height: number; + /** The pixel format of the texture */ format : GLenum = 0; + /** The pixel internal format of the texture */ internal: GLenum = 0; + /** The pixel data type of the texture */ type : GLenum = 0; + /** Unique id for the Texture */ readonly _uid: number; + /** The binding point for this Texture */ abstract _target : GLenum + /** + * @param {GLContext} gl The webgl context this Texture belongs to + * @param {GLenum} [format=GL_RGB] The pixel format of the texture (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_RGB` + * @param {GLenum} [type=GL_UNSIGNED_BYTE] The pixel data type of the texture (`GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc.), defaults to `GL_UNSIGNED_BYTE` + * @param {GLenum} [internal=format] The pixel internal format of the texture, defaults to the `format` parameter value + */ constructor(gl: GLContext, format?: GLenum, type?: GLenum, internal?: GLenum) { - this._uid = _UID++; this.gl = gl; this.id = gl.createTexture(); @@ -57,10 +63,10 @@ export default abstract class AbstractTexture { } /** - * define underlying format, internal format and data type of texture - * @param {GLenum} [format =GL_RGB] the pixel format, default to gl.RGB (can be gl.RGB, gl.RGBA, gl.LUMINANCE...) - * @param {GLenum} [type =GL_UNSIGNED_BYTE] the pixel data type, default to gl.UNSIGNED_BYTE - * @param {GLenum} [internal=format] the pixel internal format, default to the same value than 'format' parameter (which must be in webgl 1) + * Define underlying format, internal format and data type of the texture. + * @param {GLenum} [format=GL_RGB] The pixel format of the texture (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_RGB` + * @param {GLenum} [type=GL_UNSIGNED_BYTE] The pixel data type of the texture (`GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc.), defaults to `GL_UNSIGNED_BYTE` + * @param {GLenum} [internal=this.format] The pixel internal format of the texture, defaults to the `format` parameter value */ setFormat(format?: GLenum, type?: GLenum, internal?: GLenum) { this.format = format || this.gl.RGB; @@ -68,11 +74,9 @@ export default abstract class AbstractTexture { this.type = type || this.gl.UNSIGNED_BYTE; } - - /** - * Bind the texture - * @param {uint} [unit=undefined] optional texture unit to make active before binding + * Bind the underlying webgl texture. + * @param {number} [unit] The texture unit to make active before binding */ bind(unit?: number) { const gl = this.gl; @@ -83,18 +87,17 @@ export default abstract class AbstractTexture { } /** - * delete the webgl texture - * + * Delete all webgl objects related to this Texture. */ dispose() { this.gl.deleteTexture(this.id); } /** - * Change the filtering parameters - * @param {boolean} [smooth=false] if true, use LINEAR filtering - * @param {boolean} [mipmap=false] if true, enable mipmaping - * @param {boolean} [miplinear=false] if true, use linear Mipmapping + * Change the filtering parameters. + * @param {boolean} [smooth=false] Use linear filtering or not + * @param {boolean} [mipmap=false] Enable mipmapping or not + * @param {boolean} [miplinear=false] Use linear mipmapping or not */ setFilter(smooth: boolean = false, mipmap: boolean = false, miplinear: boolean = false) : this { const gl = this.gl; @@ -104,32 +107,35 @@ export default abstract class AbstractTexture { } /** - * Set both WRAP_S and WRAP_T property to gl.REPEAT + * Make texture repeat : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_REPEAT`. */ repeat() :this { this.wrap(this.gl.REPEAT); return this; } - + /** - * Set both WRAP_S and WRAP_T property to gl.CLAMP_TO_EDGE + * Make texture clamp : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_CLAMP_TO_EDGE`. */ clamp() : this { this.wrap(this.gl.CLAMP_TO_EDGE); return this; } - + /** - * Set both WRAP_S and WRAP_T property to gl.MIRRORED_REPEAT + * Make texture mirror : + * Set the `WRAP_S` and `WRAP_T` properties to `GL_MIRRORED_REPEAT`. */ mirror() : this { this.wrap(this.gl.MIRRORED_REPEAT); return this; } - + /** - * Set both WRAP_S and WRAP_T property to the given value - * @param {GLenum} wrap the wrap enum + * Set the `WRAP_S` and `WRAP_T` properties to the given value. + * @param {GLenum} wrap The wrap value to use (`GL_REPEAT`, `GL_CLAMP_TO_EDGE`, etc.) */ wrap(wrap: GLenum) : this { const gl = this.gl; diff --git a/src/texture-cube.ts b/src/texture-cube.ts index 89318cb..df3c21e 100644 --- a/src/texture-cube.ts +++ b/src/texture-cube.ts @@ -4,13 +4,7 @@ import { GLContext } from './types'; const GL_TEXTURE_CUBE = 0x8513; /** - * @class - * @classdesc Texture class manage TEXTURE_CUBE types textures - * - * @param {WebGLRenderingContext} gl webgl context the texture belongs to - * @param {GLenum} [format =GL_RGB] the pixel format, default to gl.RGB (can be gl.RGB, gl.RGBA, gl.LUMINANCE...) - * @param {GLenum} [type =GL_UNSIGNED_BYTE] the pixel data type, default to gl.UNSIGNED_BYTE - * @param {GLenum} [internal=format] the pixel internal format, default to the same value than 'format' parameter (which must be in webgl 1) + * This class manages TEXTURE_CUBE type textures. */ export default class TextureCube extends AbstractTexture { @@ -19,6 +13,12 @@ export default class TextureCube extends AbstractTexture { _target: GLenum = GL_TEXTURE_CUBE; + /** + * @param {GLContext} gl The webgl context this Texture belongs to + * @param {GLenum} [format=GL_RGB] The pixel format of the texture (`GL_RGB`, `GL_RGBA`, etc.), defaults to `GL_RGB` + * @param {GLenum} [type=GL_UNSIGNED_BYTE] The pixel data type of the texture (`GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc.), defaults to `GL_UNSIGNED_BYTE` + * @param {GLenum} [internal=format] The pixel internal format of the texture, defaults to the `format` parameter value + */ constructor(gl: GLContext, format?: GLenum, type?: GLenum, internal?: GLenum) { super( gl, format, type, internal ); @@ -27,7 +27,10 @@ export default class TextureCube extends AbstractTexture { } - + /** + * Set the texture data from a list of HTML sources. + * @param imgs The list of HTML image, canvas or video elements to use as source + */ fromImages( imgs: TexImageSource[] ){ var gl = this.gl, fmt = this.format, diff --git a/src/types.ts b/src/types.ts index c05fba2..ab59f9b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,5 +1,10 @@ +/** A webgl rendering context. */ export type GLContext = WebGLRenderingContext | WebGL2RenderingContext; +/** + * Know whether the webgl context is webgl2 or not. + * @param {GLContext} context The webgl context to test + */ export function isWebgl2(context: GLContext): context is WebGL2RenderingContext { return (context).fenceSync !== undefined; } diff --git a/src/utils.ts b/src/utils.ts index 25ae3cb..f315925 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,23 +1,36 @@ - +/** + * Know whether the value is a buffer source or not. + * You can use it for values that can be either a size or a buffer source. + * @param {GLsizeiptr|BufferSource} val The value to test + */ export function isBufferSource(val: GLsizeiptr | BufferSource): val is BufferSource { return (val).byteLength !== undefined; } -/* - * compute filtering enum, return one of the following : - * NEAREST - * LINEAR - * NEAREST_MIPMAP_NEAREST - * LINEAR_MIPMAP_NEAREST - * NEAREST_MIPMAP_LINEAR - * LINEAR_MIPMAP_LINEAR +/** + * Compute texture filtering enum from parameters. + * Will return one of the following : + * - `NEAREST` + * - `LINEAR` + * - `NEAREST_MIPMAP_NEAREST` + * - `LINEAR_MIPMAP_NEAREST` + * - `NEAREST_MIPMAP_LINEAR` + * - `LINEAR_MIPMAP_LINEAR` + * @param {boolean} [smooth=false] Use linear filtering or not + * @param {boolean} [mipmap=false] Enable mipmapping or not + * @param {boolean} [miplinear=false] Use linear mipmapping or not */ export function getTextureFiltering(smooth: boolean, mipmap: boolean, miplinear: boolean) : GLenum { return 0x2600 | +smooth | (+mipmap << 8) | (+(mipmap && miplinear) << 1); } -type ComponentSize = 1|2|4 +/** The size in bytes if a component. */ +export type ComponentSize = 1|2|4 +/** + * Get the component size in bytes from a data type. + * @param {GLenum} type The type of data (`GL_FLOAT`, `GL_SHORT`, etc.) + */ export function getComponentSize(type: GLenum): ComponentSize { switch (type) { case 0x1400: //gl.BYTE: diff --git a/texture-base.d.ts b/texture-base.d.ts index 5e35d31..0e575cd 100644 --- a/texture-base.d.ts +++ b/texture-base.d.ts @@ -8,7 +8,7 @@ export declare enum TextureType { TEXTURE_CUBE = 34067, TEXTURE_3D = 32879 } -export declare type Texture = TextureCube | Texture2D; +export type Texture = TextureCube | Texture2D; export default abstract class AbstractTexture { readonly textureType: TextureType; readonly gl: GLContext; diff --git a/tsconfig.json b/tsconfig.json index 3fe3051..98a6d0a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,5 +10,12 @@ "moduleResolution": "node" }, "include": ["src/**/*"], - "exclude": ["node_modules"] + "exclude": ["node_modules"], + "typedocOptions": { + "entryPoints": "src", + "entryPointStrategy": "expand", + "out": "tempdocs", + "json": "tempdocs/data.json", + "githubPages": false + } } \ No newline at end of file diff --git a/types.d.ts b/types.d.ts index bcd40f6..434bf27 100644 --- a/types.d.ts +++ b/types.d.ts @@ -1,2 +1,2 @@ -export declare type GLContext = WebGLRenderingContext | WebGL2RenderingContext; +export type GLContext = WebGLRenderingContext | WebGL2RenderingContext; export declare function isWebgl2(context: GLContext): context is WebGL2RenderingContext; diff --git a/utils.d.ts b/utils.d.ts index 0d72efc..4e33450 100644 --- a/utils.d.ts +++ b/utils.d.ts @@ -1,5 +1,5 @@ export declare function isBufferSource(val: GLsizeiptr | BufferSource): val is BufferSource; export declare function getTextureFiltering(smooth: boolean, mipmap: boolean, miplinear: boolean): GLenum; -declare type ComponentSize = 1 | 2 | 4; +type ComponentSize = 1 | 2 | 4; export declare function getComponentSize(type: GLenum): ComponentSize; export {};