[
  {
    "__docId__": 0,
    "kind": "file",
    "name": "src/AsyncState.js",
    "content": "import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cx from 'classnames';\r\n\r\nconst groups = {\r\n    default: []\r\n};\r\n\r\nexport default class AsyncState extends Component {\r\n    static propTypes = {\r\n        successDuration: PropTypes.number,\r\n        errorDuration: PropTypes.number,\r\n        successClass: PropTypes.string,\r\n        errorClass: PropTypes.string,\r\n        children: PropTypes.element,\r\n        initialPending: PropTypes.bool,\r\n        pendingProp: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\r\n        pendingGroupProp: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\r\n        group: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.bool]),\r\n        trigger: PropTypes.string,\r\n        // if true, and a promise is resolved, but its payload is of type Error, the promise will be treated as if rejected\r\n        rejectResolvedErrors: PropTypes.string\r\n    };\r\n    static defaultProps = {\r\n        successClass: 'success',\r\n        successDuration: 1000,\r\n        errorClass: 'danger',\r\n        errorDuration: 1000,\r\n        pendingProp: ['isPending', 'disabled'],\r\n        pendingGroupProp: ['disabled'],\r\n        trigger: 'onClick',\r\n        rejectResolvedErrors: true\r\n    };\r\n    get child() {\r\n        return React.Children.only(this.props.children);\r\n    }\r\n    state = {\r\n        isPending: this.initialPending,\r\n        isPendingGroup: false,\r\n        hintSuccess: false,\r\n        hintError: false,\r\n    };\r\n    componentDidMount() {\r\n        this._isMounted = true;\r\n        if (this.props.group) {\r\n            this.registerGroup(this.props.group);\r\n        }\r\n    }\r\n    componentWillReceiveProps(nextProps) {\r\n        if (nextProps.group !== this.props.group) {\r\n            this.unregisterGroup(this.props.group);\r\n            this.registerGroup(nextProps.group);\r\n        }\r\n    }\r\n    componentWillUnmount() {\r\n        this._isMounted = false;\r\n        this.clearTimeouts();\r\n        if (this.props.group) {\r\n            this.unregisterGroup(this.props.group);\r\n        }\r\n    }\r\n    setStateSafely(nextState) {\r\n        this._isMounted && this.setState(nextState);\r\n    }\r\n    render() {\r\n        return React.cloneElement(this.child, this.createChildProps(this.child));\r\n    }\r\n    createChildProps() {\r\n        const {successClass, errorClass, trigger} = this.props;\r\n        const {...childProps} = this.child.props;\r\n        if (childProps[trigger]) {\r\n            childProps[trigger] = this.handleTrigger;\r\n        }\r\n        const applyPendingProp = (props, value) => {\r\n            if (typeof value === 'string') {\r\n                props[value] = true;\r\n            }\r\n            else {\r\n                value.forEach(prop => props[prop] = true);\r\n            }\r\n        };\r\n        if (this.state.isPending) {\r\n            applyPendingProp(childProps, this.props.pendingProp);\r\n        }\r\n        if (this.state.isPendingGroup) {\r\n            applyPendingProp(childProps, this.props.pendingGroupProp);\r\n        }\r\n        childProps.className = cx(\r\n            childProps.className,\r\n            {[successClass]: this.state.hintSuccess},\r\n            {[errorClass]: this.state.hintError},\r\n        );\r\n        return childProps;\r\n    }\r\n    getPromise(value) {\r\n        if (value && typeof value.then === 'function') {\r\n            return value;\r\n        }\r\n        return undefined;\r\n    }\r\n    handleTrigger = (e) => {\r\n        const {trigger} = this.props;\r\n        const callback = this.child.props[trigger];\r\n        const callbackResult = typeof callback === 'function' && callback(e);\r\n        const promise = this.getPromise(callbackResult);\r\n        // console.log('handleTrigger', {callback, callbackResult, promise});\r\n        if (promise) {\r\n\r\n            const handleResult = () => { \r\n                this.setStateSafely({\r\n                    isPending: false,\r\n                    hintSuccess: true,\r\n                    hintError: false\r\n                });\r\n                this.setGroupPending(this.props.group, false);\r\n                this._successTimeout = window.setTimeout(() => {\r\n                    this.setStateSafely({hintSuccess: false})\r\n                }, this.props.successDuration);\r\n            }\r\n            const handleError = () => { \r\n                this.setStateSafely({\r\n                    isPending: false,\r\n                    hintError: true,\r\n                    hintSuccess: false\r\n                });\r\n                this.setGroupPending(this.props.group, false);\r\n                this._errorTimeout = window.setTimeout(() => {\r\n                    this.setStateSafely({hintError: false})\r\n                }, this.props.errorDuration);\r\n            }  \r\n\r\n            this.clearTimeouts();\r\n            this.setState({isPending: true});\r\n            if (this.props.group) {\r\n                this.setGroupPending(this.props.group, true);\r\n            }\r\n            promise.catch(handleError);\r\n            promise.then((result) => {\r\n                if (this.props.rejectResolvedErrors && result instanceof Error) {\r\n                    return handleError(result)\r\n                }\r\n                return handleResult(result);\r\n                \r\n            });\r\n\r\n        }\r\n        return callbackResult;\r\n    }\r\n\r\n\r\n    //-----------------------------------\r\n    //\r\n    // GROUP HANDLING\r\n    //\r\n    //-----------------------------------\r\n\r\n\r\n    clearTimeouts = () => {\r\n        window.clearTimeout(this._successTimeout);\r\n        window.clearTimeout(this._errorTimeout);\r\n    }\r\n    getGroupName(group) {\r\n        switch (typeof group) {\r\n            case 'boolean': return 'default';\r\n            case 'string': return group;\r\n            case 'function': return this.getGroupName(group(this));\r\n        }\r\n    }\r\n    registerGroup(group) {\r\n        if (group) {\r\n            const groupName = this.getGroupName(group);\r\n            groups[groupName] = [...(groups[groupName] || []), this];\r\n        }\r\n    }\r\n    unregisterGroup(group) {\r\n        if (group) {\r\n            const groupName = this.getGroupName(group);\r\n            groups[groupName] = (groups[groupName] || []).filter(component => component !== this);\r\n        }\r\n    }\r\n    setGroupPending(group, isPendingGroup) {\r\n        const groupName = this.getGroupName(group);\r\n        const groupMembers = groups[groupName];\r\n        // console.info('setGroupPending', {groupName, groupMembers});\r\n        if (groupMembers) {\r\n            groupMembers\r\n                .filter(component => component !== this)\r\n                .forEach(component => {\r\n                    // console.info('setGroupPending', {component, isPendingGroup});\r\n                    component.setStateSafely({isPendingGroup});\r\n                })\r\n            ;\r\n        }\r\n    }\r\n}\r\n",
    "static": true,
    "longname": "src/AsyncState.js",
    "access": null,
    "description": null,
    "lineNumber": 1
  },
  {
    "__docId__": 1,
    "kind": "variable",
    "name": "groups",
    "memberof": "src/AsyncState.js",
    "static": true,
    "longname": "src/AsyncState.js~groups",
    "access": null,
    "export": false,
    "importPath": "@loopmode/async-state/src/AsyncState.js",
    "importStyle": null,
    "description": null,
    "lineNumber": 5,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "{\"default\": *}"
      ]
    }
  },
  {
    "__docId__": 2,
    "kind": "class",
    "name": "AsyncState",
    "memberof": "src/AsyncState.js",
    "static": true,
    "longname": "src/AsyncState.js~AsyncState",
    "access": null,
    "export": true,
    "importPath": "@loopmode/async-state/src/AsyncState.js",
    "importStyle": "AsyncState",
    "description": null,
    "lineNumber": 9,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "interface": false,
    "extends": [
      "react~Component"
    ]
  },
  {
    "__docId__": 3,
    "kind": "member",
    "name": "propTypes",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": true,
    "longname": "src/AsyncState.js~AsyncState.propTypes",
    "access": null,
    "description": null,
    "lineNumber": 10,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "{\"successDuration\": *, \"errorDuration\": *, \"successClass\": *, \"errorClass\": *, \"children\": *, \"initialPending\": *, \"pendingProp\": *, \"pendingGroupProp\": *, \"group\": *, \"trigger\": *, \"rejectResolvedErrors\": *}"
      ]
    }
  },
  {
    "__docId__": 4,
    "kind": "member",
    "name": "defaultProps",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": true,
    "longname": "src/AsyncState.js~AsyncState.defaultProps",
    "access": null,
    "description": null,
    "lineNumber": 24,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "{\"successClass\": string, \"successDuration\": number, \"errorClass\": string, \"errorDuration\": number, \"pendingProp\": *, \"pendingGroupProp\": *, \"trigger\": string, \"rejectResolvedErrors\": boolean}"
      ]
    }
  },
  {
    "__docId__": 5,
    "kind": "get",
    "name": "child",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#child",
    "access": null,
    "description": null,
    "lineNumber": 34,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 6,
    "kind": "member",
    "name": "state",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#state",
    "access": null,
    "description": null,
    "lineNumber": 37,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "{\"isPending\": *, \"isPendingGroup\": *, \"hintSuccess\": *, \"hintError\": *}"
      ]
    }
  },
  {
    "__docId__": 7,
    "kind": "method",
    "name": "componentDidMount",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#componentDidMount",
    "access": null,
    "description": null,
    "lineNumber": 43,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": []
  },
  {
    "__docId__": 8,
    "kind": "member",
    "name": "_isMounted",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#_isMounted",
    "access": null,
    "description": null,
    "lineNumber": 44,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "boolean"
      ]
    }
  },
  {
    "__docId__": 9,
    "kind": "method",
    "name": "componentWillReceiveProps",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#componentWillReceiveProps",
    "access": null,
    "description": null,
    "lineNumber": 49,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "nextProps",
        "types": [
          "*"
        ]
      }
    ]
  },
  {
    "__docId__": 10,
    "kind": "method",
    "name": "componentWillUnmount",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#componentWillUnmount",
    "access": null,
    "description": null,
    "lineNumber": 55,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": []
  },
  {
    "__docId__": 11,
    "kind": "member",
    "name": "_isMounted",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#_isMounted",
    "access": null,
    "description": null,
    "lineNumber": 56,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "boolean"
      ]
    }
  },
  {
    "__docId__": 12,
    "kind": "method",
    "name": "setStateSafely",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#setStateSafely",
    "access": null,
    "description": null,
    "lineNumber": 62,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "nextState",
        "types": [
          "*"
        ]
      }
    ]
  },
  {
    "__docId__": 13,
    "kind": "member",
    "name": "_isMounted",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#_isMounted",
    "access": null,
    "description": null,
    "lineNumber": 63,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 14,
    "kind": "method",
    "name": "render",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#render",
    "access": null,
    "description": null,
    "lineNumber": 65,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 15,
    "kind": "method",
    "name": "createChildProps",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#createChildProps",
    "access": null,
    "description": null,
    "lineNumber": 68,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [],
    "return": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 16,
    "kind": "method",
    "name": "getPromise",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#getPromise",
    "access": null,
    "description": null,
    "lineNumber": 95,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "value",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 17,
    "kind": "member",
    "name": "handleTrigger",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#handleTrigger",
    "access": null,
    "description": null,
    "lineNumber": 101,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 18,
    "kind": "member",
    "name": "_successTimeout",
    "memberof": "src/AsyncState.js~AsyncState",
    "longname": "src/AsyncState.js~AsyncState#_successTimeout",
    "access": null,
    "description": null,
    "lineNumber": 116,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 19,
    "kind": "member",
    "name": "_errorTimeout",
    "memberof": "src/AsyncState.js~AsyncState",
    "longname": "src/AsyncState.js~AsyncState#_errorTimeout",
    "access": null,
    "description": null,
    "lineNumber": 127,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 20,
    "kind": "member",
    "name": "clearTimeouts",
    "memberof": "src/AsyncState.js~AsyncState",
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#clearTimeouts",
    "access": null,
    "description": null,
    "lineNumber": 158,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "type": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 21,
    "kind": "method",
    "name": "getGroupName",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#getGroupName",
    "access": null,
    "description": null,
    "lineNumber": 162,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "group",
        "types": [
          "*"
        ]
      }
    ],
    "return": {
      "types": [
        "*"
      ]
    }
  },
  {
    "__docId__": 22,
    "kind": "method",
    "name": "registerGroup",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#registerGroup",
    "access": null,
    "description": null,
    "lineNumber": 169,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "group",
        "types": [
          "*"
        ]
      }
    ]
  },
  {
    "__docId__": 23,
    "kind": "method",
    "name": "unregisterGroup",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#unregisterGroup",
    "access": null,
    "description": null,
    "lineNumber": 175,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "group",
        "types": [
          "*"
        ]
      }
    ]
  },
  {
    "__docId__": 24,
    "kind": "method",
    "name": "setGroupPending",
    "memberof": "src/AsyncState.js~AsyncState",
    "generator": false,
    "async": false,
    "static": false,
    "longname": "src/AsyncState.js~AsyncState#setGroupPending",
    "access": null,
    "description": null,
    "lineNumber": 181,
    "undocument": true,
    "unknown": [
      {
        "tagName": "@_undocument",
        "tagValue": ""
      }
    ],
    "params": [
      {
        "name": "group",
        "types": [
          "*"
        ]
      },
      {
        "name": "isPendingGroup",
        "types": [
          "*"
        ]
      }
    ]
  },
  {
    "__docId__": 25,
    "kind": "file",
    "name": "src/index.js",
    "content": "export default from './AsyncState.js';\r\n",
    "static": true,
    "longname": "src/index.js",
    "access": null,
    "description": null,
    "lineNumber": 1
  },
  {
    "__docId__": 27,
    "kind": "external",
    "name": "Infinity",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Infinity",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 28,
    "kind": "external",
    "name": "NaN",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~NaN",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 29,
    "kind": "external",
    "name": "undefined",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~undefined",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 30,
    "kind": "external",
    "name": "null",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~null",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 31,
    "kind": "external",
    "name": "Object",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Object",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 32,
    "kind": "external",
    "name": "object",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~object",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 33,
    "kind": "external",
    "name": "Function",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Function",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 34,
    "kind": "external",
    "name": "function",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~function",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 35,
    "kind": "external",
    "name": "Boolean",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Boolean",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 36,
    "kind": "external",
    "name": "boolean",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~boolean",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 37,
    "kind": "external",
    "name": "Symbol",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Symbol",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 38,
    "kind": "external",
    "name": "Error",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Error",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 39,
    "kind": "external",
    "name": "EvalError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~EvalError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 40,
    "kind": "external",
    "name": "InternalError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~InternalError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 41,
    "kind": "external",
    "name": "RangeError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~RangeError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 42,
    "kind": "external",
    "name": "ReferenceError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~ReferenceError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 43,
    "kind": "external",
    "name": "SyntaxError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~SyntaxError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 44,
    "kind": "external",
    "name": "TypeError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~TypeError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 45,
    "kind": "external",
    "name": "URIError",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~URIError",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 46,
    "kind": "external",
    "name": "Number",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Number",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 47,
    "kind": "external",
    "name": "number",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~number",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 48,
    "kind": "external",
    "name": "Date",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Date",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 49,
    "kind": "external",
    "name": "String",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~String",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 50,
    "kind": "external",
    "name": "string",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~string",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 51,
    "kind": "external",
    "name": "RegExp",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~RegExp",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 52,
    "kind": "external",
    "name": "Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 53,
    "kind": "external",
    "name": "Int8Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int8Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 54,
    "kind": "external",
    "name": "Uint8Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 55,
    "kind": "external",
    "name": "Uint8ClampedArray",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8ClampedArray",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 56,
    "kind": "external",
    "name": "Int16Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int16Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 57,
    "kind": "external",
    "name": "Uint16Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint16Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 58,
    "kind": "external",
    "name": "Int32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Int32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 59,
    "kind": "external",
    "name": "Uint32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 60,
    "kind": "external",
    "name": "Float32Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Float32Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 61,
    "kind": "external",
    "name": "Float64Array",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Float64Array",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 62,
    "kind": "external",
    "name": "Map",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Map",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 63,
    "kind": "external",
    "name": "Set",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Set",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 64,
    "kind": "external",
    "name": "WeakMap",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakMap",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 65,
    "kind": "external",
    "name": "WeakSet",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakSet",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 66,
    "kind": "external",
    "name": "ArrayBuffer",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~ArrayBuffer",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 67,
    "kind": "external",
    "name": "DataView",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~DataView",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 68,
    "kind": "external",
    "name": "JSON",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~JSON",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 69,
    "kind": "external",
    "name": "Promise",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Promise",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 70,
    "kind": "external",
    "name": "Generator",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Generator",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 71,
    "kind": "external",
    "name": "GeneratorFunction",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~GeneratorFunction",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 72,
    "kind": "external",
    "name": "Reflect",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Reflect",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 73,
    "kind": "external",
    "name": "Proxy",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
    "memberof": "BuiltinExternal/ECMAScriptExternal.js",
    "static": true,
    "longname": "BuiltinExternal/ECMAScriptExternal.js~Proxy",
    "access": null,
    "description": "",
    "lineNumber": 193,
    "builtinExternal": true
  },
  {
    "__docId__": 75,
    "kind": "external",
    "name": "CanvasRenderingContext2D",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~CanvasRenderingContext2D",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 76,
    "kind": "external",
    "name": "DocumentFragment",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~DocumentFragment",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 77,
    "kind": "external",
    "name": "Element",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Element",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~Element",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 78,
    "kind": "external",
    "name": "Event",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Event",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~Event",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 79,
    "kind": "external",
    "name": "Node",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Node",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~Node",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 80,
    "kind": "external",
    "name": "NodeList",
    "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/NodeList",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~NodeList",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 81,
    "kind": "external",
    "name": "XMLHttpRequest",
    "externalLink": "https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~XMLHttpRequest",
    "access": null,
    "description": "",
    "builtinExternal": true
  },
  {
    "__docId__": 82,
    "kind": "external",
    "name": "AudioContext",
    "externalLink": "https://developer.mozilla.org/en/docs/Web/API/AudioContext",
    "memberof": "BuiltinExternal/WebAPIExternal.js",
    "static": true,
    "longname": "BuiltinExternal/WebAPIExternal.js~AudioContext",
    "access": null,
    "description": "",
    "lineNumber": 34,
    "builtinExternal": true
  }
]