@fewangsit/wangsvue-gsts 2.0.0-alpha.4 → 2.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scanner.worker-Bk2e5hSA.js.map +1 -0
- package/dialogconfirm/index.d.ts +1 -0
- package/icon/index.d.ts +2 -0
- package/mcp/components.json +35 -44
- package/mcp/components.summary.txt +4 -7
- package/mcp/main.js +60 -60
- package/mcp/package.json +6 -6
- package/mcp/skills/api-service-generator/SKILL.md +93 -93
- package/mcp/skills/committing-changes/SKILL.md +38 -38
- package/mcp/skills/figma-datatable-generator/SKILL.md +93 -93
- package/mcp/skills/figma-to-code/SKILL.md +117 -117
- package/mcp/skills/import-validator/SKILL.md +54 -54
- package/mcp/skills/wangsvue-code-review/SKILL.md +70 -70
- package/mcp/skills/wangsvue-workflow/SKILL.md +91 -91
- package/package.json +1 -1
- package/stats.html +1 -1
- package/style.css +1 -1
- package/wangsvue-gsts.es.js +1799 -1785
- package/wangsvue-gsts.es.js.map +1 -1
- package/wangsvue-gsts.system.js +36 -36
- package/wangsvue-gsts.system.js.map +1 -1
- package/assets/scanner.worker-DQsz7oT_.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.worker-DQsz7oT_.js","sources":["../../../library/components/buttonscan/workers/scanner.worker.ts"],"sourcesContent":["interface ConnectionOption {\r\n onopen: (ws: WebSocket, connectionState: ConnectionState) => void;\r\n onmessage: (event: MessageEvent) => void;\r\n onerror: (error: Event) => void;\r\n timeout?: number;\r\n}\r\n\r\ninterface WorkerMessage {\r\n command: string;\r\n sessionId: string;\r\n scanCommand?: string;\r\n userId?: string;\r\n companyCode?: string;\r\n serialNumber?: string;\r\n jenisDevice?: string;\r\n}\r\n\r\ntype ConnectionState = 'established' | 'reused';\r\n\r\nlet socket: WebSocket | null = null;\r\nlet timeoutId: NodeJS.Timeout | null = null; // Stores timeout ID for idle socket connection\r\nlet currentUserId: string | undefined;\r\nlet currentCompanyCode: string | undefined;\r\nlet sessionId: string = ''; // The unique session ID for the current connection\r\n\r\nself.onmessage = (event): void => {\r\n const message: WorkerMessage = event.data;\r\n currentCompanyCode = message.companyCode;\r\n\r\n switch (message.command) {\r\n case 'sync':\r\n sync(message);\r\n break;\r\n case 'connect':\r\n connect(message);\r\n break;\r\n case 'scan':\r\n scan(message);\r\n break;\r\n case 'stopscan':\r\n stopScan(message);\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\n/**\r\n * Opens a WebSocket connection if not already open.\r\n * If the connection is open, the `onopen` callback is immediately called.\r\n * @returns {WebSocket} The WebSocket instance.\r\n */\r\nconst openConnection = (opt: ConnectionOption): void => {\r\n let connectionState: ConnectionState = 'established';\r\n if (socket && socket.readyState === WebSocket.OPEN) {\r\n // If the socket is already open, immediately call the onopen callback\r\n connectionState = 'reused';\r\n opt.onopen(socket, connectionState);\r\n resetTimeOut(opt.timeout);\r\n } else {\r\n // If the socket is not open or undefined, create a new connection\r\n socket = new WebSocket(`${import.meta.env.VITE_APP_READER_API}`);\r\n }\r\n\r\n // Handle successful connection\r\n socket.onopen = (): void => {\r\n sessionId =\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15); // Generate a random session ID\r\n\r\n connectionState = 'established';\r\n\r\n if (socket) opt.onopen(socket, connectionState); // Execute the onopen callback once the connection is established\r\n resetTimeOut(opt.timeout);\r\n };\r\n\r\n socket.onmessage = (event): void => {\r\n opt.onmessage(event);\r\n resetTimeOut(opt.timeout);\r\n };\r\n\r\n socket.onerror = (error): void => {\r\n console.error('🚀 ~ Scanner Worker: openConnection ~ error:', error);\r\n opt.onerror(error);\r\n socket?.close();\r\n socket = null;\r\n if (timeoutId) clearTimeout(timeoutId);\r\n };\r\n};\r\n\r\nconst handleSocketTimeout = (): void => {\r\n stopScan({ userId: currentUserId });\r\n currentUserId = undefined;\r\n if (socket) socket.close();\r\n socket = null;\r\n if (timeoutId) clearTimeout(timeoutId);\r\n console.info('Socket connection has been closed!');\r\n};\r\n\r\nconst resetTimeOut = (timeout = 0): void => {\r\n if (timeout) {\r\n // Adding this conditional to disable timout, may be sometimes it need to be enable, simpli remove the condition\r\n if (timeoutId) clearTimeout(timeoutId);\r\n timeoutId = setTimeout(handleSocketTimeout, timeout); // Timed out after 3 Minutes\r\n }\r\n};\r\n\r\nconst sync = ({ userId }: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket): void => {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'connect',\r\n userId,\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n source: 'app',\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({ status: 'synced', ...JSON.parse(event.data) });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'sync_error', error });\r\n },\r\n });\r\n};\r\n\r\nconst connect = ({ userId }: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket, state): void => {\r\n if (state === 'established') {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'connect',\r\n userId,\r\n source: 'app',\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n } else {\r\n postMessage({\r\n status: 'connection_reused',\r\n });\r\n }\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({\r\n status: 'connection_established',\r\n ...JSON.parse(event.data),\r\n });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'error_connecting', error });\r\n },\r\n });\r\n};\r\n\r\nconst scan = ({\r\n scanCommand,\r\n userId,\r\n serialNumber,\r\n jenisDevice,\r\n}: WorkerMessage): void => {\r\n currentUserId = userId;\r\n\r\n openConnection({\r\n onopen: (ws: WebSocket): void => {\r\n ws.send(\r\n JSON.stringify({\r\n data: {\r\n command: scanCommand,\r\n userId,\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n source: 'app',\r\n serialNumber,\r\n jenisDevice,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n\r\n postMessage({ status: 'scan_started' });\r\n },\r\n\r\n onmessage: (event): void => {\r\n postMessage({ status: 'scanned', ...JSON.parse(event.data) });\r\n },\r\n\r\n onerror: (error): void => {\r\n postMessage({ status: 'scan_error', error });\r\n },\r\n });\r\n};\r\n\r\n/**\r\n * Single Scan:\r\n * - Stop Scan will be invoked on socket timeout\r\n *\r\n * Bulk Scan:\r\n * - Stop Scan will also be invoked on stopScan by user interaction\r\n */\r\nconst stopScan = ({ userId }: Partial<WorkerMessage>): void => {\r\n if (socket && socket.readyState === WebSocket.OPEN) {\r\n socket.send(\r\n JSON.stringify({\r\n data: {\r\n command: 'stopscan',\r\n userId,\r\n source: 'app',\r\n sessionId,\r\n companyCode: currentCompanyCode,\r\n },\r\n event: 'reader',\r\n }),\r\n );\r\n\r\n postMessage({ status: 'scan_stopped' });\r\n console.info('Scan Process Stopped!');\r\n }\r\n};\r\n"],"names":["socket","timeoutId","currentUserId","currentCompanyCode","sessionId","event","message","sync","connect","scan","stopScan","openConnection","opt","connectionState","resetTimeOut","error","handleSocketTimeout","timeout","userId","ws","state","scanCommand","serialNumber","jenisDevice"],"mappings":"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"}
|