@willwade/aac-processors 0.0.30 → 0.1.0

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.
Files changed (92) hide show
  1. package/README.md +52 -852
  2. package/dist/browser/core/baseProcessor.js +241 -0
  3. package/dist/browser/core/stringCasing.js +179 -0
  4. package/dist/browser/core/treeStructure.js +255 -0
  5. package/dist/browser/index.browser.js +73 -0
  6. package/dist/browser/processors/applePanelsProcessor.js +582 -0
  7. package/dist/browser/processors/astericsGridProcessor.js +1509 -0
  8. package/dist/browser/processors/dotProcessor.js +221 -0
  9. package/dist/browser/processors/gridset/commands.js +962 -0
  10. package/dist/browser/processors/gridset/crypto.js +53 -0
  11. package/dist/browser/processors/gridset/password.js +43 -0
  12. package/dist/browser/processors/gridset/pluginTypes.js +277 -0
  13. package/dist/browser/processors/gridset/resolver.js +137 -0
  14. package/dist/browser/processors/gridset/symbolAlignment.js +276 -0
  15. package/dist/browser/processors/gridset/symbols.js +421 -0
  16. package/dist/browser/processors/gridsetProcessor.js +2002 -0
  17. package/dist/browser/processors/obfProcessor.js +705 -0
  18. package/dist/browser/processors/opmlProcessor.js +274 -0
  19. package/dist/browser/types/aac.js +38 -0
  20. package/dist/browser/utilities/analytics/utils/idGenerator.js +89 -0
  21. package/dist/browser/utilities/translation/translationProcessor.js +200 -0
  22. package/dist/browser/utils/io.js +95 -0
  23. package/dist/browser/validation/baseValidator.js +156 -0
  24. package/dist/browser/validation/gridsetValidator.js +355 -0
  25. package/dist/browser/validation/obfValidator.js +500 -0
  26. package/dist/browser/validation/validationTypes.js +46 -0
  27. package/dist/cli/index.js +5 -5
  28. package/dist/core/analyze.d.ts +2 -2
  29. package/dist/core/analyze.js +2 -2
  30. package/dist/core/baseProcessor.d.ts +5 -4
  31. package/dist/core/baseProcessor.js +22 -27
  32. package/dist/core/treeStructure.d.ts +5 -5
  33. package/dist/core/treeStructure.js +1 -4
  34. package/dist/index.browser.d.ts +37 -0
  35. package/dist/index.browser.js +99 -0
  36. package/dist/index.d.ts +1 -48
  37. package/dist/index.js +1 -136
  38. package/dist/index.node.d.ts +48 -0
  39. package/dist/index.node.js +152 -0
  40. package/dist/processors/applePanelsProcessor.d.ts +5 -4
  41. package/dist/processors/applePanelsProcessor.js +58 -62
  42. package/dist/processors/astericsGridProcessor.d.ts +7 -6
  43. package/dist/processors/astericsGridProcessor.js +31 -42
  44. package/dist/processors/dotProcessor.d.ts +5 -4
  45. package/dist/processors/dotProcessor.js +25 -33
  46. package/dist/processors/excelProcessor.d.ts +4 -3
  47. package/dist/processors/excelProcessor.js +6 -3
  48. package/dist/processors/gridset/crypto.d.ts +18 -0
  49. package/dist/processors/gridset/crypto.js +57 -0
  50. package/dist/processors/gridset/helpers.d.ts +1 -1
  51. package/dist/processors/gridset/helpers.js +18 -8
  52. package/dist/processors/gridset/password.d.ts +20 -3
  53. package/dist/processors/gridset/password.js +17 -3
  54. package/dist/processors/gridset/wordlistHelpers.d.ts +3 -3
  55. package/dist/processors/gridset/wordlistHelpers.js +21 -20
  56. package/dist/processors/gridsetProcessor.d.ts +7 -12
  57. package/dist/processors/gridsetProcessor.js +116 -77
  58. package/dist/processors/obfProcessor.d.ts +9 -7
  59. package/dist/processors/obfProcessor.js +131 -56
  60. package/dist/processors/obfsetProcessor.d.ts +5 -4
  61. package/dist/processors/obfsetProcessor.js +10 -16
  62. package/dist/processors/opmlProcessor.d.ts +5 -4
  63. package/dist/processors/opmlProcessor.js +27 -34
  64. package/dist/processors/snapProcessor.d.ts +8 -7
  65. package/dist/processors/snapProcessor.js +15 -12
  66. package/dist/processors/touchchatProcessor.d.ts +8 -7
  67. package/dist/processors/touchchatProcessor.js +22 -17
  68. package/dist/types/aac.d.ts +0 -2
  69. package/dist/types/aac.js +2 -0
  70. package/dist/utils/io.d.ts +12 -0
  71. package/dist/utils/io.js +107 -0
  72. package/dist/validation/gridsetValidator.js +7 -7
  73. package/dist/validation/snapValidator.js +28 -35
  74. package/docs/BROWSER_USAGE.md +618 -0
  75. package/examples/README.md +77 -0
  76. package/examples/browser-test-server.js +81 -0
  77. package/examples/browser-test.html +331 -0
  78. package/examples/vitedemo/QUICKSTART.md +74 -0
  79. package/examples/vitedemo/README.md +157 -0
  80. package/examples/vitedemo/index.html +376 -0
  81. package/examples/vitedemo/package-lock.json +1221 -0
  82. package/examples/vitedemo/package.json +18 -0
  83. package/examples/vitedemo/src/main.ts +519 -0
  84. package/examples/vitedemo/test-files/example.dot +14 -0
  85. package/examples/vitedemo/test-files/example.grd +1 -0
  86. package/examples/vitedemo/test-files/example.gridset +0 -0
  87. package/examples/vitedemo/test-files/example.obz +0 -0
  88. package/examples/vitedemo/test-files/example.opml +18 -0
  89. package/examples/vitedemo/test-files/simple.obf +53 -0
  90. package/examples/vitedemo/tsconfig.json +24 -0
  91. package/examples/vitedemo/vite.config.ts +34 -0
  92. package/package.json +20 -4
@@ -0,0 +1,53 @@
1
+ {
2
+ "format": "open-board-0.1",
3
+ "id": "inline_images",
4
+ "locale": "en",
5
+ "name": "Simple Images Board",
6
+ "description_html": "This is an .obf file with images included as data attributes within the file. It also includes some simple styling.",
7
+ "grid": {
8
+ "rows": 2,
9
+ "columns": 2,
10
+ "order": [
11
+ [1, null],
12
+ [null, 2]
13
+ ]
14
+ },
15
+ "buttons": [
16
+ {
17
+ "id": 1,
18
+ "label": "kids",
19
+ "vocalization": "children",
20
+ "ext_speaker_best": true,
21
+ "image_id": "12345",
22
+ "background_color": "rgb(255, 255, 255)",
23
+ "border_color": "rgba(150, 150, 150, 0.5)"
24
+ },
25
+ {
26
+ "id": 2,
27
+ "label": "cat",
28
+ "vocalization": "feline",
29
+ "image_id": 119,
30
+ "background_color": "rgba(0, 255, 0, 0.5)",
31
+ "border_color": "rgb(150, 150, 150)"
32
+ }
33
+ ],
34
+ "images": [
35
+
36
+ {
37
+ "id":"12345",
38
+ "width":100,
39
+ "height":100,
40
+ "url":"https://d18vdu4p71yql0.cloudfront.net/libraries/noun-project/No-09d75d7313.svg",
41
+ "data":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAwIDEwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBzdHlsZT0iZmlsbDojMDEwMTAxOyIgZD0iTTUwLDBDMjIuMzg4LDAsMCwyMi4zODgsMCw1MHMyMi4zODgsNTAsNTAsNTBzNTAtMjIuMzg4LDUwLTUwUzc3LjYxMiwwLDUwLDB6IE01MCwxMi41ICBjOC4wOTQsMCwxNS41MzksMi42MzcsMjEuNjY4LDcuMDA3TDE5LjQ5NCw3MS42NTVDMTUuMTI1LDY1LjUyNywxMi41LDU4LjA4MSwxMi41LDUwQzEyLjUsMjkuMzIxLDI5LjMyMSwxMi41LDUwLDEyLjV6IE01MCw4Ny41ICBjLTguMDk0LDAtMTUuNTM5LTIuNjM3LTIxLjY2OC03LjAwN2w1Mi4xNzQtNTIuMTQ4Qzg0Ljg3NSwzNC40NzMsODcuNSw0MS45MTksODcuNSw1MEM4Ny41LDcwLjY3OSw3MC42NzksODcuNSw1MCw4Ny41eiIvPgo8L3N2Zz4K",
42
+ "content_type":"image/svg+xml"
43
+ },
44
+ {
45
+ "id":119,
46
+ "width":100,
47
+ "height":100,
48
+ "url":"https://d18vdu4p71yql0.cloudfront.net/libraries/noun-project/No-09d75d7313.svg",
49
+ "content_type":"image/svg+xml"
50
+ }
51
+ ],
52
+ "sounds": []
53
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "module": "ESNext",
6
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "jsx": "preserve",
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true
22
+ },
23
+ "include": ["src"]
24
+ }
@@ -0,0 +1,34 @@
1
+ import { defineConfig } from 'vite';
2
+ import path from 'path';
3
+
4
+ export default defineConfig({
5
+ resolve: {
6
+ alias: {
7
+ 'aac-processors': path.resolve(__dirname, '../../src/index.browser.ts')
8
+ }
9
+ },
10
+ optimizeDeps: {
11
+ exclude: ['aac-processors'],
12
+ include: []
13
+ },
14
+ define: {
15
+ 'process.env': '{}',
16
+ 'process.version': '"v18.0.0"',
17
+ 'process.platform': '"browser"',
18
+ 'process.cwd': '(() => "/")',
19
+ 'process.browser': 'true',
20
+ 'global': 'globalThis'
21
+ },
22
+ server: {
23
+ port: 3000,
24
+ open: true
25
+ },
26
+ build: {
27
+ outDir: 'dist',
28
+ sourcemap: true,
29
+ commonjsOptions: {
30
+ // Ignore Node.js built-in modules
31
+ ignore: ['crypto', 'stream', 'timers', 'events', 'fs', 'path', 'os']
32
+ }
33
+ }
34
+ });
package/package.json CHANGED
@@ -1,13 +1,24 @@
1
1
  {
2
2
  "name": "@willwade/aac-processors",
3
- "version": "0.0.30",
3
+ "version": "0.1.0",
4
4
  "description": "A comprehensive TypeScript library for processing AAC (Augmentative and Alternative Communication) file formats with translation support",
5
5
  "main": "dist/index.js",
6
+ "browser": "dist/browser/index.browser.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
9
10
  "types": "./dist/index.d.ts",
10
- "default": "./dist/index.js"
11
+ "node": "./dist/index.node.js",
12
+ "browser": "./dist/browser/index.browser.js",
13
+ "default": "./dist/index.node.js"
14
+ },
15
+ "./node": {
16
+ "types": "./dist/index.node.d.ts",
17
+ "default": "./dist/index.node.js"
18
+ },
19
+ "./browser": {
20
+ "types": "./dist/index.browser.d.ts",
21
+ "default": "./dist/browser/index.browser.js"
11
22
  },
12
23
  "./gridset": {
13
24
  "types": "./dist/gridset.d.ts",
@@ -71,8 +82,11 @@
71
82
  "test": "test"
72
83
  },
73
84
  "scripts": {
74
- "build": "rimraf dist && mkdir dist && tsc && npm run copy:assets",
75
- "build:watch": "tsc --watch",
85
+ "build": "npm run build:all",
86
+ "build:node": "rimraf dist && mkdir dist && tsc -p tsconfig.node.json && npm run copy:assets",
87
+ "build:browser": "tsc -p tsconfig.browser.json",
88
+ "build:all": "npm run build:node && npm run build:browser",
89
+ "build:watch": "tsc -p tsconfig.node.json --watch",
76
90
  "clean": "rimraf dist coverage",
77
91
  "copy:assets": "cp -r src/utilities/analytics/reference/data dist/utilities/analytics/reference/",
78
92
  "lint": "eslint \"src/**/*.{js,ts}\" \"test/**/*.{js,ts}\"",
@@ -83,6 +97,7 @@
83
97
  "test:watch": "npm run build && jest --watch",
84
98
  "test:coverage": "npm run build && jest --coverage",
85
99
  "test:ci": "npm run build && jest --coverage --ci --watchAll=false --testTimeout=30000",
100
+ "publish:ci": "npm run build:all && npm publish --access public",
86
101
  "docs": "typedoc",
87
102
  "coverage:report": "node scripts/coverage-analysis.js",
88
103
  "type-check": "tsc --noEmit",
@@ -155,6 +170,7 @@
155
170
  "commander": "^13.1.0",
156
171
  "exceljs": "^4.4.0",
157
172
  "fast-xml-parser": "^5.2.0",
173
+ "jszip": "^3.10.1",
158
174
  "plist": "^3.1.0",
159
175
  "xml2js": "^0.6.2",
160
176
  "yauzl": "^3.2.0"