{"nodes": [{"id": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "label": "haptics.web.ts", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L1"}, {"id": "web_haptics_web_notificationfeedbacktype", "label": "NotificationFeedbackType", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L1"}, {"id": "web_haptics_web_impactfeedbackstyle", "label": "ImpactFeedbackStyle", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L7"}, {"id": "web_haptics_web_vibrationpatterns", "label": "vibrationPatterns", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L15"}, {"id": "web_haptics_web_isvibrationavailable", "label": "isVibrationAvailable()", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L30"}, {"id": "web_haptics_web_selectionasync", "label": "selectionAsync()", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L38"}, {"id": "web_haptics_web_notificationasync", "label": "notificationAsync()", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L45"}, {"id": "web_haptics_web_impactasync", "label": "impactAsync()", "file_type": "code", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L54"}], "edges": [{"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_notificationfeedbacktype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L1", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_impactfeedbackstyle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L7", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_vibrationpatterns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L15", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_isvibrationavailable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L30", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_selectionasync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L38", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_notificationasync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L45", "weight": 1.0}, {"source": "root_socialdesk_apps_mobile_polyfills_web_haptics_web_ts", "target": "web_haptics_web_impactasync", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L54", "weight": 1.0}, {"source": "web_haptics_web_selectionasync", "target": "web_haptics_web_isvibrationavailable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L39", "weight": 1.0}, {"source": "web_haptics_web_notificationasync", "target": "web_haptics_web_isvibrationavailable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L48", "weight": 1.0}, {"source": "web_haptics_web_impactasync", "target": "web_haptics_web_isvibrationavailable", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L57", "weight": 1.0}], "raw_calls": [{"caller_nid": "web_haptics_web_selectionasync", "callee": "vibrate", "is_member_call": true, "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L42"}, {"caller_nid": "web_haptics_web_notificationasync", "callee": "vibrate", "is_member_call": true, "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L51"}, {"caller_nid": "web_haptics_web_impactasync", "callee": "vibrate", "is_member_call": true, "source_file": "/root/socialdesk/apps/mobile/polyfills/web/haptics.web.ts", "source_location": "L60"}]}