dirsql 0.3.66__tar.gz → 0.3.67__tar.gz
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.
- {dirsql-0.3.66 → dirsql-0.3.67}/Cargo.lock +1 -1
- {dirsql-0.3.66 → dirsql-0.3.67}/PKG-INFO +1 -1
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/Cargo.toml +1 -1
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/cli/init.rs +42 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/cli/mod.rs +22 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/cli/router.rs +34 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/Cargo.toml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/README.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/_async.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/cli/binary_path.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/cli/is_windows.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/cli/main.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/py.typed +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/resolve_config_extensions.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/AGENTS.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/explanation.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/getting-started.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/embed.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/persist.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/index.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/migrations.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/package.json +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/playwright.config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/cli.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/columns.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/config.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/hooks.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/http-api.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/reference/sdk.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/tests/integration/home.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/tests/integration/language-flag.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/tests/integration/sidebar.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/tests/unit/config.test.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/tests/unit/lang.test.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/docs/vitest.config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/README.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/conftest.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/index.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/migrations.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/package.json +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/playwright.config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/integration/home.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/integration/language-flag.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/integration/sidebar.spec.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/unit/config.test.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/unit/lang.test.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/vitest.config.ts +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/e2e-attestation.json +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/src/lib.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/binding/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/python/tests/smoke/__init__.py +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/Cargo.toml +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/README.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/index.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/migrations.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/command.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/config.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/db.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/lib.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/matcher.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.3.66 → dirsql-0.3.67}/pyproject.toml +0 -0
|
@@ -4,7 +4,7 @@ name = "dirsql-py-ext"
|
|
|
4
4
|
# pypi/maturin handler can rewrite it via `write-version` before
|
|
5
5
|
# `maturin build`. `pyproject.toml` declares `dynamic = ["version"]`
|
|
6
6
|
# and maturin reads this field. Mirrors `packages/rust/Cargo.toml`.
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.67"
|
|
8
8
|
edition.workspace = true
|
|
9
9
|
publish = false
|
|
10
10
|
readme = "README.md"
|
|
@@ -166,4 +166,46 @@ mod tests {
|
|
|
166
166
|
"got: {err:?}"
|
|
167
167
|
);
|
|
168
168
|
}
|
|
169
|
+
|
|
170
|
+
// The spawn / non-zero-exit / write failure arms of `run` require actually
|
|
171
|
+
// invoking `claude` and touching the filesystem, so they are exercised at
|
|
172
|
+
// the e2e tier. Their `Display` renderings, however, are pure and covered
|
|
173
|
+
// here (the values are constructed inline, no process or fs I/O).
|
|
174
|
+
|
|
175
|
+
#[test]
|
|
176
|
+
fn spawn_error_display_mentions_spawn() {
|
|
177
|
+
let err = InitError::Spawn(std::io::Error::new(
|
|
178
|
+
std::io::ErrorKind::PermissionDenied,
|
|
179
|
+
"denied",
|
|
180
|
+
));
|
|
181
|
+
let msg = format!("{err}");
|
|
182
|
+
assert!(msg.contains("failed to spawn"), "got: {msg}");
|
|
183
|
+
assert!(msg.contains("denied"), "got: {msg}");
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
#[test]
|
|
187
|
+
fn write_error_display_names_the_path_and_source() {
|
|
188
|
+
let err = InitError::Write {
|
|
189
|
+
path: PathBuf::from("/tmp/out.toml"),
|
|
190
|
+
source: std::io::Error::other("disk full"),
|
|
191
|
+
};
|
|
192
|
+
let msg = format!("{err}");
|
|
193
|
+
assert!(msg.contains("/tmp/out.toml"), "got: {msg}");
|
|
194
|
+
assert!(msg.contains("disk full"), "got: {msg}");
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
#[test]
|
|
198
|
+
fn invalid_utf8_error_display_mentions_utf8() {
|
|
199
|
+
// A non-UTF8 byte sequence yields the `FromUtf8Error` that `#[from]`
|
|
200
|
+
// converts into `InitError::InvalidUtf8`.
|
|
201
|
+
let utf8_err = String::from_utf8(vec![0xff, 0xfe]).unwrap_err();
|
|
202
|
+
let err: InitError = utf8_err.into();
|
|
203
|
+
let msg = format!("{err}");
|
|
204
|
+
assert!(msg.contains("non-UTF8"), "got: {msg}");
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// NOTE: `InitError::ClaudeFailed`'s `Display` is not unit-tested -- building
|
|
208
|
+
// it needs an `ExitStatus`, and `std::process::ExitStatus::from_raw` is
|
|
209
|
+
// effectful std the unit-isolation lint (`no-out-of-module-call`) forbids.
|
|
210
|
+
// Its rendering is covered end-to-end at the e2e tier instead.
|
|
169
211
|
}
|
|
@@ -330,4 +330,26 @@ mod tests {
|
|
|
330
330
|
assert_eq!(pq.command, "reshape {args}");
|
|
331
331
|
assert_eq!(pq.config_dir, PathBuf::from("/proj"));
|
|
332
332
|
}
|
|
333
|
+
|
|
334
|
+
#[test]
|
|
335
|
+
fn with_query_timeout_overrides_the_default() {
|
|
336
|
+
// The builder replaces the 30s default with the supplied timeout and
|
|
337
|
+
// leaves the rest of the config untouched.
|
|
338
|
+
let cfg = ServerConfig::bind("127.0.0.1", 8080).with_query_timeout(Duration::from_secs(5));
|
|
339
|
+
assert_eq!(cfg.query_timeout, Duration::from_secs(5));
|
|
340
|
+
assert_eq!(cfg.host, "127.0.0.1");
|
|
341
|
+
assert_eq!(cfg.port, 8080);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
#[test]
|
|
345
|
+
fn app_state_from_string_builds_the_unavailable_arm() {
|
|
346
|
+
// `String -> AppState` yields the degraded arm carrying the diagnostic
|
|
347
|
+
// verbatim (the `/query`/`/events` 503 body). `AppState` isn't `Debug`,
|
|
348
|
+
// so match rather than assert on a rendering.
|
|
349
|
+
let state: AppState = "config failed to load".to_string().into();
|
|
350
|
+
match state {
|
|
351
|
+
AppState::Unavailable(reason) => assert_eq!(reason, "config failed to load"),
|
|
352
|
+
AppState::Ready(_) => panic!("String must map to the Unavailable arm"),
|
|
353
|
+
}
|
|
354
|
+
}
|
|
333
355
|
}
|
|
@@ -356,4 +356,38 @@ mod tests {
|
|
|
356
356
|
"application/json"
|
|
357
357
|
);
|
|
358
358
|
}
|
|
359
|
+
|
|
360
|
+
// `parse_sql_body` is the no-`pre-query` request path: it is pure (serde
|
|
361
|
+
// only), so it is unit-tested here directly rather than through the async
|
|
362
|
+
// `handle_query` handler (which needs a live server and is covered at the
|
|
363
|
+
// integration tier).
|
|
364
|
+
|
|
365
|
+
#[test]
|
|
366
|
+
fn parse_sql_body_returns_trimmed_sql() {
|
|
367
|
+
// Surrounding whitespace is stripped; the inner SQL is returned as-is.
|
|
368
|
+
let sql = parse_sql_body(r#"{"sql": " SELECT 1 "}"#).expect("valid body");
|
|
369
|
+
assert_eq!(sql, "SELECT 1");
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
#[test]
|
|
373
|
+
fn parse_sql_body_rejects_malformed_json() {
|
|
374
|
+
// A body that isn't JSON fails at the serde step -> 400.
|
|
375
|
+
let resp = parse_sql_body("not json").expect_err("malformed JSON must be rejected");
|
|
376
|
+
assert_eq!(resp.status(), StatusCode::BAD_REQUEST);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
#[test]
|
|
380
|
+
fn parse_sql_body_rejects_whitespace_only_sql() {
|
|
381
|
+
// A present-but-blank `sql` trims to empty -> 400 (the `Some(_)` arm,
|
|
382
|
+
// and the `false` side of the `!s.is_empty()` guard).
|
|
383
|
+
let resp = parse_sql_body(r#"{"sql": " "}"#).expect_err("empty sql must be rejected");
|
|
384
|
+
assert_eq!(resp.status(), StatusCode::BAD_REQUEST);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
#[test]
|
|
388
|
+
fn parse_sql_body_rejects_missing_sql_field() {
|
|
389
|
+
// Valid JSON object with no `sql` key -> the `None` arm -> 400.
|
|
390
|
+
let resp = parse_sql_body("{}").expect_err("missing sql must be rejected");
|
|
391
|
+
assert_eq!(resp.status(), StatusCode::BAD_REQUEST);
|
|
392
|
+
}
|
|
359
393
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.66 → dirsql-0.3.67}/packages/python/docs/tests/integration/language-flag.spec.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|