feat: add mail-parser-wasm-worker (#301)

This commit is contained in:
Dream Hunter
2024-06-04 21:57:42 +08:00
committed by GitHub
parent c5d01e09e8
commit da2e72e523
18 changed files with 1260 additions and 1070 deletions

View File

@@ -12,3 +12,4 @@ Cargo.lock
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
web/

View File

@@ -1,6 +1,6 @@
[package]
name = "mail-parser-wasm"
version = "0.1.6"
version = "0.1.8"
edition = "2021"
description = "A simple mail parser for wasm"
license = "MIT"

View File

@@ -1,16 +1,45 @@
# mail-parser-wasm
# mail-parser-wasm web and cf worker
## usage
## [mail-parser-wasm](https://www.npmjs.com/package/mail-parser-wasm)
### mail-parser-wasm usage
```bash
pnpm add mail-parser-wasm
```
```js
import { parse_message } from 'mail-parser-wasm'
const parsedEmail = parse_message(item.raw);
const parsedEmail = parse_message(rawEmail);
```
## build
### mail-parser-wasm build
```bash
wasm-pack build --release
wasm-pack publish
```
## [mail-parser-wasm-worker](https://www.npmjs.com/package/mail-parser-wasm-worker)
### mail-parser-wasm-worker usage
```bash
pnpm add mail-parser-wasm-worker
```
```js
import { parse_message_wrapper } from 'mail-parser-wasm-worker'
const parsedEmail = parse_message_wrapper(rawEmail);
```
### mail-parser-wasm-worker build
```bash
wasm-pack build --out-dir web --target web --release
find web/ -type f ! -name '*.json' ! -name '.gitignore' -exec cp {} worker/ \;
# modify worker/package.json version or whatever
pnpm publish worker --no-git-checks
```

9
mail-parser-wasm/worker/index.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import initAsync, { MessageResult } from './mail_parser_wasm';
import MODULE from './mail_parser_wasm_bg.wasm';
export { initAsync, MODULE };
export * from './mail_parser_wasm';
/**
* @param {string} raw_message
* @returns {MessageResult}
*/
export function parse_message_wrapper(raw_message: string): MessageResult;

View File

@@ -0,0 +1,12 @@
import initAsync, { initSync, parse_message } from './mail_parser_wasm';
import MODULE from './mail_parser_wasm_bg.wasm';
initSync(MODULE);
export { initAsync, MODULE };
export * from './mail_parser_wasm';
export const parse_message_wrapper = (raw_message) => {
initSync(MODULE);
return parse_message(raw_message);
}

View File

@@ -0,0 +1,24 @@
{
"name": "mail-parser-wasm-worker",
"description": "A simple mail parser for worker",
"homepage": "https://github.com/dreamhunter2333/cloudflare_temp_email/tree/main/mail-parser-wasm",
"repository": {
"type": "git",
"url": "https://github.com/dreamhunter2333/cloudflare_temp_email",
"directory": "mail-parser-wasm"
},
"version": "0.1.8",
"license": "MIT",
"files": [
"mail_parser_wasm_bg.wasm",
"mail_parser_wasm.js",
"mail_parser_wasm.d.ts",
"index.js",
"index.d.ts"
],
"module": "index.js",
"types": "index.d.ts",
"sideEffects": [
"./snippets/*"
]
}