tangled
alpha
login
or
join now
thisismissem.social
/
slices
forked from
slices.network/slices
0
fork
atom
Highly ambitious ATProtocol AppView service and sdks
0
fork
atom
overview
issues
pulls
pipelines
move rust pkgs to crates folder
chadtmiller.com
5 months ago
0a876a16
895b1f79
+14
-16
40 changed files
expand all
collapse all
unified
split
.github
workflows
api.yml
api
Cargo.toml
flake.nix
crates
slices-lexicon
.gitignore
CLAUDE.md
Cargo.lock
Cargo.toml
LICENSE
README.md
src
errors.rs
lib.rs
types.rs
validation
constraints.rs
context.rs
field
array.rs
mod.rs
object.rs
reference.rs
union.rs
meta
mod.rs
token.rs
unknown.rs
mod.rs
primary
mod.rs
procedure.rs
query.rs
record.rs
subscription.rs
primitive
blob.rs
boolean.rs
bytes.rs
cid_link.rs
integer.rs
mod.rs
null.rs
string.rs
resolution.rs
traits.rs
deno.json
packages
lexicon
deno.json
+4
-4
.github/workflows/api.yml
···
3
3
on:
4
4
workflow_dispatch:
5
5
pull_request:
6
6
-
branches: [ main ]
7
7
-
paths: [ 'api/**', 'packages/lexicon-rs/**' ]
6
6
+
branches: [main]
7
7
+
paths: ["api/**", "crates/slices-lexicon/**"]
8
8
push:
9
9
-
branches: [ main ]
10
10
-
paths: [ 'api/**', 'packages/lexicon-rs/**' ]
9
9
+
branches: [main]
10
10
+
paths: ["api/**", "crates/slicese-lexicon/**"]
11
11
12
12
jobs:
13
13
build:
+1
-1
api/Cargo.toml
···
15
15
serde_json = "1.0"
16
16
17
17
# Lexicon validation
18
18
-
slices-lexicon = { path = "../packages/lexicon-rs" }
18
18
+
slices-lexicon = { path = "../crates/slices-lexicon" }
19
19
20
20
# HTTP client and server
21
21
reqwest = { version = "0.12", features = ["json", "stream"] }
+1
-1
api/flake.nix
···
37
37
(pkgs.lib.hasSuffix "/.sqlx" path) ||
38
38
(pkgs.lib.hasInfix "/scripts/" path) ||
39
39
(pkgs.lib.hasSuffix "/scripts" path) ||
40
40
-
(pkgs.lib.hasInfix "/packages/lexicon-rs/" path);
40
40
+
(pkgs.lib.hasInfix "/crates/slices-lexicon/" path);
41
41
};
42
42
43
43
commonArgs = {
+1
-1
deno.json
···
12
12
"dev:cli": "deno run --allow-all packages/cli/src/mod.ts",
13
13
"build:cli": "cd packages/cli && deno compile --allow-all --output bin/slices src/mod.ts",
14
14
"build:lexicon": "cd packages/lexicon && deno task build",
15
15
-
"build:lexicon-intellisense": "cd ./packages/lexicon-rs && wasm-pack build --target web --features wasm && cp pkg/* ../lexicon-intellisense/wasm/",
15
15
+
"build:lexicon-intellisense": "cd ./crates/slices-lexicon && wasm-pack build --target web --features wasm && cp pkg/* ../../packages/lexicon-intellisense/wasm/",
16
16
"codegen:cli": "deno task dev:cli codegen --lexicons ./lexicons --slice at://did:plc:bcgltzqazw5tb6k2g3ttenbj/network.slices.slice/3lymhd4jhrd2z --output ./packages/cli/src/generated_client.ts --include-slices",
17
17
"codegen:frontend": "deno task dev:cli codegen --lexicons ./lexicons --slice at://did:plc:bcgltzqazw5tb6k2g3ttenbj/network.slices.slice/3lymhd4jhrd2z --output ./frontend/src/client.ts --include-slices",
18
18
"dev:frontend": "cd frontend && deno task dev",
packages/lexicon-rs/.gitignore
crates/slices-lexicon/.gitignore
packages/lexicon-rs/CLAUDE.md
crates/slices-lexicon/CLAUDE.md
packages/lexicon-rs/Cargo.lock
crates/slices-lexicon/Cargo.lock
packages/lexicon-rs/Cargo.toml
crates/slices-lexicon/Cargo.toml
packages/lexicon-rs/LICENSE
crates/slices-lexicon/LICENSE
+6
-8
packages/lexicon-rs/README.md
crates/slices-lexicon/README.md
···
95
95
Use in JavaScript environments:
96
96
97
97
```javascript
98
98
-
import init, {
99
99
-
WasmLexiconValidator,
100
100
-
} from "./pkg/slices_lexicon.js";
98
98
+
import init, { WasmLexiconValidator } from "./pkg/slices_lexicon.js";
101
99
102
100
await init();
103
101
···
113
111
type: "object",
114
112
required: ["text"],
115
113
properties: {
116
116
-
text: { type: "string", maxLength: 300 }
117
117
-
}
118
118
-
}
119
119
-
}
120
120
-
}
114
114
+
text: { type: "string", maxLength: 300 },
115
115
+
},
116
116
+
},
117
117
+
},
118
118
+
},
121
119
}];
122
120
123
121
const validator = new WasmLexiconValidator(JSON.stringify(lexicons));
packages/lexicon-rs/src/errors.rs
crates/slices-lexicon/src/errors.rs
packages/lexicon-rs/src/lib.rs
crates/slices-lexicon/src/lib.rs
packages/lexicon-rs/src/types.rs
crates/slices-lexicon/src/types.rs
packages/lexicon-rs/src/validation/constraints.rs
crates/slices-lexicon/src/validation/constraints.rs
packages/lexicon-rs/src/validation/context.rs
crates/slices-lexicon/src/validation/context.rs
packages/lexicon-rs/src/validation/field/array.rs
crates/slices-lexicon/src/validation/field/array.rs
packages/lexicon-rs/src/validation/field/mod.rs
crates/slices-lexicon/src/validation/field/mod.rs
packages/lexicon-rs/src/validation/field/object.rs
crates/slices-lexicon/src/validation/field/object.rs
packages/lexicon-rs/src/validation/field/reference.rs
crates/slices-lexicon/src/validation/field/reference.rs
packages/lexicon-rs/src/validation/field/union.rs
crates/slices-lexicon/src/validation/field/union.rs
packages/lexicon-rs/src/validation/meta/mod.rs
crates/slices-lexicon/src/validation/meta/mod.rs
packages/lexicon-rs/src/validation/meta/token.rs
crates/slices-lexicon/src/validation/meta/token.rs
packages/lexicon-rs/src/validation/meta/unknown.rs
crates/slices-lexicon/src/validation/meta/unknown.rs
packages/lexicon-rs/src/validation/mod.rs
crates/slices-lexicon/src/validation/mod.rs
packages/lexicon-rs/src/validation/primary/mod.rs
crates/slices-lexicon/src/validation/primary/mod.rs
packages/lexicon-rs/src/validation/primary/procedure.rs
crates/slices-lexicon/src/validation/primary/procedure.rs
packages/lexicon-rs/src/validation/primary/query.rs
crates/slices-lexicon/src/validation/primary/query.rs
packages/lexicon-rs/src/validation/primary/record.rs
crates/slices-lexicon/src/validation/primary/record.rs
packages/lexicon-rs/src/validation/primary/subscription.rs
crates/slices-lexicon/src/validation/primary/subscription.rs
packages/lexicon-rs/src/validation/primitive/blob.rs
crates/slices-lexicon/src/validation/primitive/blob.rs
packages/lexicon-rs/src/validation/primitive/boolean.rs
crates/slices-lexicon/src/validation/primitive/boolean.rs
packages/lexicon-rs/src/validation/primitive/bytes.rs
crates/slices-lexicon/src/validation/primitive/bytes.rs
packages/lexicon-rs/src/validation/primitive/cid_link.rs
crates/slices-lexicon/src/validation/primitive/cid_link.rs
packages/lexicon-rs/src/validation/primitive/integer.rs
crates/slices-lexicon/src/validation/primitive/integer.rs
packages/lexicon-rs/src/validation/primitive/mod.rs
crates/slices-lexicon/src/validation/primitive/mod.rs
packages/lexicon-rs/src/validation/primitive/null.rs
crates/slices-lexicon/src/validation/primitive/null.rs
packages/lexicon-rs/src/validation/primitive/string.rs
crates/slices-lexicon/src/validation/primitive/string.rs
packages/lexicon-rs/src/validation/resolution.rs
crates/slices-lexicon/src/validation/resolution.rs
packages/lexicon-rs/src/validation/traits.rs
crates/slices-lexicon/src/validation/traits.rs
+1
-1
packages/lexicon/deno.json
···
14
14
},
15
15
"tasks": {
16
16
"dev": "deno run --watch mod.ts",
17
17
-
"build": "cd ../lexicon-rs && wasm-pack build --target web --features wasm && cp pkg/* ../lexicon/wasm/",
17
17
+
"build": "cd ../../crates/slices-lexicon && wasm-pack build --target web --features wasm && cp pkg/* ../../packages/lexicon/wasm/",
18
18
"test": "deno test lexicons_test.ts --allow-read",
19
19
"check": "deno check mod.ts"
20
20
}