{
    "Amplify PubSub AWS IoT Configuration": {
        "prefix": "PubSub",
        "scope": "javascript,javascriptreact,typescript",
        "body": [
            "import Amplify, { PubSub } from 'aws-amplify';",
            "import { AWSIoTProvider } from 'aws-amplify/lib/PubSub/Providers';\n",
            "// Apply plugin with configuration",
            "Amplify.addPluggable(new AWSIoTProvider({",
            "\taws_pubsub_region: ${1:'<YOUR-AWS-REGION>'},",
            "\taws_pubsub_endpoint: ${2:'wss://xxxxxxxxxxxxx.iot.<YOUR-AWS-REGION>.amazonaws.com/mqtt'},",
            "}));"
        ]
    },
    "Amplify PubSub MQTT Configuration": {
        "prefix": "PubSub",
        "scope": "javascript,javascriptreact,typescript",
        "body": [
            "import Amplify, { PubSub } from 'aws-amplify';",
            "import { MqttOverWSProvider } from 'aws-amplify/lib/PubSub/Providers';\n",
            "// Apply plugin with configuration",
            "Amplify.addPluggable(new MqttOverWSProvider({",
            "\taws_pubsub_endpoint: ${1:'wss://iot.eclipse.org:443/mqtt'},",
            "}));"
        ]
    },
    "PubSub.subscribe": {
        "prefix": "PubSub.subscribe",
        "scope": "javascript,javascriptreact,typescript",
        "body":[
            "PubSub.subscribe(${1:'myTopic'}).subscribe({",
            "\tnext: data => console.log('Message received', data),",
            "\terror: error => console.error(error),",
            "\tclose: () => console.log('Done'),",
            "});"
        ]
    },
    "Publish One Topic PubSub": {
        "prefix": "PubSub.publish One Topic",
        "scope": "javascript,javascriptreact,typescript",
        "body": [
            "PubSub.publish(${2:'myTopic1'}, { msg: ${2:'Hello to all subscribers!'} });"
        ]
    },
    "Publish Multiple Topics PubSub": {
        "prefix": "PubSub.publish Multiple Topics",
        "scope": "javascript,javascriptreact,typescript",
        "body": [
            "PubSub.publish(${1:['myTopic1','myTopic2']}, { ${2:msg: 'Hello to all subscribers!'} });"
        ]
    }
}