@frictionless-ts/metadata 1.0.1
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/README.md +3 -0
- package/build/assets/dialect-1.0.json +58 -0
- package/build/assets/dialect-2.0.json +98 -0
- package/build/assets/package-1.0.json +1517 -0
- package/build/assets/package-2.0.json +2168 -0
- package/build/assets/resource-1.0.json +1353 -0
- package/build/assets/resource-2.0.json +1987 -0
- package/build/assets/schema-1.0.json +1126 -0
- package/build/assets/schema-2.0.json +1715 -0
- package/build/descriptor/Descriptor.d.ts +2 -0
- package/build/descriptor/Descriptor.js +4 -0
- package/build/descriptor/index.d.ts +6 -0
- package/build/descriptor/index.js +6 -0
- package/build/descriptor/load.d.ts +8 -0
- package/build/descriptor/load.js +36 -0
- package/build/descriptor/load.spec.d.ts +1 -0
- package/build/descriptor/load.spec.js +44 -0
- package/build/descriptor/process/parse.d.ts +2 -0
- package/build/descriptor/process/parse.js +8 -0
- package/build/descriptor/process/stringify.d.ts +2 -0
- package/build/descriptor/process/stringify.js +4 -0
- package/build/descriptor/save.d.ts +9 -0
- package/build/descriptor/save.js +19 -0
- package/build/descriptor/save.spec.d.ts +1 -0
- package/build/descriptor/save.spec.js +99 -0
- package/build/dialect/Dialect.d.ts +89 -0
- package/build/dialect/Dialect.js +2 -0
- package/build/dialect/assert.d.ts +6 -0
- package/build/dialect/assert.js +12 -0
- package/build/dialect/assert.spec.d.ts +1 -0
- package/build/dialect/assert.spec.js +22 -0
- package/build/dialect/convert/fromDescriptor.d.ts +2 -0
- package/build/dialect/convert/fromDescriptor.js +20 -0
- package/build/dialect/convert/toDescriptor.d.ts +3 -0
- package/build/dialect/convert/toDescriptor.js +5 -0
- package/build/dialect/index.d.ts +8 -0
- package/build/dialect/index.js +8 -0
- package/build/dialect/load.d.ts +5 -0
- package/build/dialect/load.js +12 -0
- package/build/dialect/load.spec.d.ts +1 -0
- package/build/dialect/load.spec.js +18 -0
- package/build/dialect/resolve.d.ts +2 -0
- package/build/dialect/resolve.js +11 -0
- package/build/dialect/save.d.ts +9 -0
- package/build/dialect/save.js +16 -0
- package/build/dialect/save.spec.d.ts +1 -0
- package/build/dialect/save.spec.js +52 -0
- package/build/dialect/validate.d.ts +10 -0
- package/build/dialect/validate.js +25 -0
- package/build/dialect/validate.spec.d.ts +1 -0
- package/build/dialect/validate.spec.js +28 -0
- package/build/error/Bound.d.ts +4 -0
- package/build/error/Bound.js +2 -0
- package/build/error/Error.d.ts +3 -0
- package/build/error/Error.js +2 -0
- package/build/error/Unbound.d.ts +6 -0
- package/build/error/Unbound.js +2 -0
- package/build/error/index.d.ts +16 -0
- package/build/error/index.js +2 -0
- package/build/error/types/Base.d.ts +3 -0
- package/build/error/types/Base.js +2 -0
- package/build/error/types/Bytes.d.ts +6 -0
- package/build/error/types/Bytes.js +2 -0
- package/build/error/types/Cell.d.ts +56 -0
- package/build/error/types/Cell.js +2 -0
- package/build/error/types/Data.d.ts +5 -0
- package/build/error/types/Data.js +2 -0
- package/build/error/types/Document.d.ts +7 -0
- package/build/error/types/Document.js +2 -0
- package/build/error/types/Encoding.d.ts +6 -0
- package/build/error/types/Encoding.js +2 -0
- package/build/error/types/Field.d.ts +15 -0
- package/build/error/types/Field.js +2 -0
- package/build/error/types/Fields.d.ts +11 -0
- package/build/error/types/Fields.js +2 -0
- package/build/error/types/File.d.ts +4 -0
- package/build/error/types/File.js +2 -0
- package/build/error/types/ForeignKey.d.ts +7 -0
- package/build/error/types/ForeignKey.js +2 -0
- package/build/error/types/Hash.d.ts +6 -0
- package/build/error/types/Hash.js +2 -0
- package/build/error/types/Metadata.d.ts +9 -0
- package/build/error/types/Metadata.js +2 -0
- package/build/error/types/Row.d.ts +9 -0
- package/build/error/types/Row.js +2 -0
- package/build/error/types/Table.d.ts +6 -0
- package/build/error/types/Table.js +2 -0
- package/build/field/Field.d.ts +5 -0
- package/build/field/Field.js +2 -0
- package/build/field/Type.d.ts +2 -0
- package/build/field/Type.js +2 -0
- package/build/field/convert/fromDescriptor.d.ts +2 -0
- package/build/field/convert/fromDescriptor.js +61 -0
- package/build/field/convert/fromDescriptor.spec.d.ts +1 -0
- package/build/field/convert/fromDescriptor.spec.js +241 -0
- package/build/field/convert/toDescriptor.d.ts +3 -0
- package/build/field/convert/toDescriptor.js +5 -0
- package/build/field/convert/toDescriptor.spec.d.ts +1 -0
- package/build/field/convert/toDescriptor.spec.js +291 -0
- package/build/field/index.d.ts +5 -0
- package/build/field/index.js +3 -0
- package/build/field/types/Any.d.ts +20 -0
- package/build/field/types/Any.js +2 -0
- package/build/field/types/Array.d.ts +32 -0
- package/build/field/types/Array.js +2 -0
- package/build/field/types/Base.d.ts +60 -0
- package/build/field/types/Base.js +2 -0
- package/build/field/types/Boolean.d.ts +28 -0
- package/build/field/types/Boolean.js +2 -0
- package/build/field/types/Date.d.ts +43 -0
- package/build/field/types/Date.js +2 -0
- package/build/field/types/Datetime.d.ts +43 -0
- package/build/field/types/Datetime.js +2 -0
- package/build/field/types/Duration.d.ts +28 -0
- package/build/field/types/Duration.js +2 -0
- package/build/field/types/Geojson.d.ts +30 -0
- package/build/field/types/Geojson.js +2 -0
- package/build/field/types/Geopoint.d.ts +27 -0
- package/build/field/types/Geopoint.js +2 -0
- package/build/field/types/Integer.d.ts +57 -0
- package/build/field/types/Integer.js +2 -0
- package/build/field/types/List.d.ts +36 -0
- package/build/field/types/List.js +2 -0
- package/build/field/types/Number.d.ts +48 -0
- package/build/field/types/Number.js +2 -0
- package/build/field/types/Object.d.ts +32 -0
- package/build/field/types/Object.js +2 -0
- package/build/field/types/String.d.ts +51 -0
- package/build/field/types/String.js +2 -0
- package/build/field/types/Time.d.ts +43 -0
- package/build/field/types/Time.js +2 -0
- package/build/field/types/Year.d.ts +36 -0
- package/build/field/types/Year.js +2 -0
- package/build/field/types/Yearmonth.d.ts +36 -0
- package/build/field/types/Yearmonth.js +2 -0
- package/build/field/types/index.d.ts +16 -0
- package/build/field/types/index.js +17 -0
- package/build/index.d.ts +112 -0
- package/build/index.js +32 -0
- package/build/json/Schema.d.ts +2 -0
- package/build/json/Schema.js +2 -0
- package/build/json/Value.d.ts +1 -0
- package/build/json/Value.js +2 -0
- package/build/json/ajv.d.ts +2 -0
- package/build/json/ajv.js +10 -0
- package/build/json/assert.d.ts +2 -0
- package/build/json/assert.js +10 -0
- package/build/json/cache.d.ts +2 -0
- package/build/json/cache.js +5 -0
- package/build/json/index.d.ts +5 -0
- package/build/json/index.js +4 -0
- package/build/json/inspect/schema.d.ts +4 -0
- package/build/json/inspect/schema.js +10 -0
- package/build/json/inspect/schema.spec.d.ts +1 -0
- package/build/json/inspect/schema.spec.js +132 -0
- package/build/json/inspect/value.d.ts +11 -0
- package/build/json/inspect/value.js +21 -0
- package/build/json/inspect/value.spec.d.ts +1 -0
- package/build/json/inspect/value.spec.js +121 -0
- package/build/json/load.d.ts +3 -0
- package/build/json/load.js +13 -0
- package/build/json/resolve.d.ts +2 -0
- package/build/json/resolve.js +11 -0
- package/build/metadata/Metadata.d.ts +3 -0
- package/build/metadata/Metadata.js +2 -0
- package/build/metadata/index.d.ts +1 -0
- package/build/metadata/index.js +2 -0
- package/build/package/Contributor.d.ts +21 -0
- package/build/package/Contributor.js +2 -0
- package/build/package/Package.d.ts +64 -0
- package/build/package/Package.js +2 -0
- package/build/package/assert.d.ts +8 -0
- package/build/package/assert.js +12 -0
- package/build/package/assert.spec.d.ts +1 -0
- package/build/package/assert.spec.js +26 -0
- package/build/package/convert/fromDescriptor.d.ts +4 -0
- package/build/package/convert/fromDescriptor.js +36 -0
- package/build/package/convert/toDescriptor.d.ts +5 -0
- package/build/package/convert/toDescriptor.js +7 -0
- package/build/package/index.d.ts +8 -0
- package/build/package/index.js +7 -0
- package/build/package/load.d.ts +5 -0
- package/build/package/load.js +14 -0
- package/build/package/load.spec.d.ts +1 -0
- package/build/package/load.spec.js +28 -0
- package/build/package/save.d.ts +9 -0
- package/build/package/save.js +18 -0
- package/build/package/save.spec.d.ts +1 -0
- package/build/package/save.spec.js +311 -0
- package/build/package/validate.d.ts +12 -0
- package/build/package/validate.js +27 -0
- package/build/package/validate.spec.d.ts +1 -0
- package/build/package/validate.spec.js +41 -0
- package/build/path/basepath.d.ts +2 -0
- package/build/path/basepath.js +25 -0
- package/build/path/basepath.spec.d.ts +1 -0
- package/build/path/basepath.spec.js +55 -0
- package/build/path/denormalize.d.ts +3 -0
- package/build/path/denormalize.js +29 -0
- package/build/path/denormalize.spec.d.ts +1 -0
- package/build/path/denormalize.spec.js +45 -0
- package/build/path/index.d.ts +5 -0
- package/build/path/index.js +6 -0
- package/build/path/normalize.d.ts +6 -0
- package/build/path/normalize.js +54 -0
- package/build/path/normalize.spec.d.ts +1 -0
- package/build/path/normalize.spec.js +71 -0
- package/build/path/path.d.ts +5 -0
- package/build/path/path.js +48 -0
- package/build/path/path.spec.d.ts +1 -0
- package/build/path/path.spec.js +111 -0
- package/build/platform/index.d.ts +1 -0
- package/build/platform/index.js +2 -0
- package/build/platform/node.d.ts +130 -0
- package/build/platform/node.js +10 -0
- package/build/platform/node.spec.d.ts +1 -0
- package/build/platform/node.spec.js +16 -0
- package/build/profile/@minify.d.ts +1 -0
- package/build/profile/@minify.js +58 -0
- package/build/profile/Profile.d.ts +9 -0
- package/build/profile/Profile.js +2 -0
- package/build/profile/assert.d.ts +6 -0
- package/build/profile/assert.js +36 -0
- package/build/profile/assert.spec.d.ts +1 -0
- package/build/profile/assert.spec.js +115 -0
- package/build/profile/index.d.ts +2 -0
- package/build/profile/index.js +2 -0
- package/build/profile/load.d.ts +4 -0
- package/build/profile/load.js +12 -0
- package/build/profile/registry.d.ts +2 -0
- package/build/profile/registry.js +83 -0
- package/build/profile/resolve.d.ts +2 -0
- package/build/profile/resolve.js +8 -0
- package/build/profile/validate.d.ts +9 -0
- package/build/profile/validate.js +12 -0
- package/build/report/Report.d.ts +5 -0
- package/build/report/Report.js +2 -0
- package/build/report/create.d.ts +7 -0
- package/build/report/create.js +6 -0
- package/build/report/index.d.ts +2 -0
- package/build/report/index.js +2 -0
- package/build/resource/License.d.ts +18 -0
- package/build/resource/License.js +2 -0
- package/build/resource/Resource.d.ts +93 -0
- package/build/resource/Resource.js +2 -0
- package/build/resource/Source.d.ts +17 -0
- package/build/resource/Source.js +2 -0
- package/build/resource/assert.d.ts +8 -0
- package/build/resource/assert.js +12 -0
- package/build/resource/assert.spec.d.ts +1 -0
- package/build/resource/assert.spec.js +23 -0
- package/build/resource/convert/fromDescriptor.d.ts +4 -0
- package/build/resource/convert/fromDescriptor.js +69 -0
- package/build/resource/convert/toDescriptor.d.ts +5 -0
- package/build/resource/convert/toDescriptor.js +36 -0
- package/build/resource/helpers.d.ts +2 -0
- package/build/resource/helpers.js +6 -0
- package/build/resource/index.d.ts +11 -0
- package/build/resource/index.js +9 -0
- package/build/resource/infer.d.ts +3 -0
- package/build/resource/infer.js +35 -0
- package/build/resource/infer.spec.d.ts +1 -0
- package/build/resource/infer.spec.js +103 -0
- package/build/resource/load.d.ts +5 -0
- package/build/resource/load.js +14 -0
- package/build/resource/load.spec.d.ts +1 -0
- package/build/resource/load.spec.js +22 -0
- package/build/resource/save.d.ts +9 -0
- package/build/resource/save.js +18 -0
- package/build/resource/save.spec.d.ts +1 -0
- package/build/resource/save.spec.js +170 -0
- package/build/resource/validate.d.ts +13 -0
- package/build/resource/validate.js +57 -0
- package/build/resource/validate.spec.d.ts +1 -0
- package/build/resource/validate.spec.js +30 -0
- package/build/schema/ForeignKey.d.ts +23 -0
- package/build/schema/ForeignKey.js +2 -0
- package/build/schema/Schema.d.ts +56 -0
- package/build/schema/Schema.js +2 -0
- package/build/schema/assert.d.ts +6 -0
- package/build/schema/assert.js +12 -0
- package/build/schema/assert.spec.d.ts +1 -0
- package/build/schema/assert.spec.js +34 -0
- package/build/schema/convert/fromDescriptor.d.ts +2 -0
- package/build/schema/convert/fromDescriptor.js +70 -0
- package/build/schema/convert/fromJsonSchema.d.ts +3 -0
- package/build/schema/convert/fromJsonSchema.js +105 -0
- package/build/schema/convert/fromJsonSchema.spec.d.ts +1 -0
- package/build/schema/convert/fromJsonSchema.spec.js +156 -0
- package/build/schema/convert/toDescriptor.d.ts +3 -0
- package/build/schema/convert/toDescriptor.js +5 -0
- package/build/schema/convert/toJsonSchema.d.ts +3 -0
- package/build/schema/convert/toJsonSchema.js +173 -0
- package/build/schema/convert/toJsonSchema.spec.d.ts +1 -0
- package/build/schema/convert/toJsonSchema.spec.js +403 -0
- package/build/schema/index.d.ts +11 -0
- package/build/schema/index.js +10 -0
- package/build/schema/load.d.ts +5 -0
- package/build/schema/load.js +12 -0
- package/build/schema/load.spec.d.ts +1 -0
- package/build/schema/load.spec.js +55 -0
- package/build/schema/resolve.d.ts +2 -0
- package/build/schema/resolve.js +11 -0
- package/build/schema/save.d.ts +9 -0
- package/build/schema/save.js +16 -0
- package/build/schema/save.spec.d.ts +1 -0
- package/build/schema/save.spec.js +58 -0
- package/build/schema/validate.d.ts +10 -0
- package/build/schema/validate.js +25 -0
- package/build/schema/validate.spec.d.ts +1 -0
- package/build/schema/validate.spec.js +41 -0
- package/package.json +37 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { saveDescriptor } from "../descriptor/index.js";
|
|
2
|
+
import { convertDialectToDescriptor } from "./convert/toDescriptor.js";
|
|
3
|
+
const CURRENT_PROFILE = "https://datapackage.org/profiles/2.0/tabledialect.json";
|
|
4
|
+
/**
|
|
5
|
+
* Save a Dialect to a file path
|
|
6
|
+
* Works in Node.js environments
|
|
7
|
+
*/
|
|
8
|
+
export async function saveDialect(dialect, options) {
|
|
9
|
+
const descriptor = convertDialectToDescriptor(dialect);
|
|
10
|
+
descriptor.$schema = descriptor.$schema ?? CURRENT_PROFILE;
|
|
11
|
+
await saveDescriptor(descriptor, {
|
|
12
|
+
path: options.path,
|
|
13
|
+
overwrite: options.overwrite,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2RpYWxlY3Qvc2F2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFdEUsTUFBTSxlQUFlLEdBQUcsd0RBQXdELENBQUE7QUFFaEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQy9CLE9BQWdCLEVBQ2hCLE9BR0M7SUFFRCxNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0RCxVQUFVLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLElBQUksZUFBZSxDQUFBO0lBRTFELE1BQU0sY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMvQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO0tBQzdCLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYXZlRGVzY3JpcHRvciB9IGZyb20gXCIuLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcbmltcG9ydCB0eXBlIHsgRGlhbGVjdCB9IGZyb20gXCIuL0RpYWxlY3QudHNcIlxuaW1wb3J0IHsgY29udmVydERpYWxlY3RUb0Rlc2NyaXB0b3IgfSBmcm9tIFwiLi9jb252ZXJ0L3RvRGVzY3JpcHRvci50c1wiXG5cbmNvbnN0IENVUlJFTlRfUFJPRklMRSA9IFwiaHR0cHM6Ly9kYXRhcGFja2FnZS5vcmcvcHJvZmlsZXMvMi4wL3RhYmxlZGlhbGVjdC5qc29uXCJcblxuLyoqXG4gKiBTYXZlIGEgRGlhbGVjdCB0byBhIGZpbGUgcGF0aFxuICogV29ya3MgaW4gTm9kZS5qcyBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVEaWFsZWN0KFxuICBkaWFsZWN0OiBEaWFsZWN0LFxuICBvcHRpb25zOiB7XG4gICAgcGF0aDogc3RyaW5nXG4gICAgb3ZlcndyaXRlPzogYm9vbGVhblxuICB9LFxuKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBjb252ZXJ0RGlhbGVjdFRvRGVzY3JpcHRvcihkaWFsZWN0KVxuICBkZXNjcmlwdG9yLiRzY2hlbWEgPSBkZXNjcmlwdG9yLiRzY2hlbWEgPz8gQ1VSUkVOVF9QUk9GSUxFXG5cbiAgYXdhaXQgc2F2ZURlc2NyaXB0b3IoZGVzY3JpcHRvciwge1xuICAgIHBhdGg6IG9wdGlvbnMucGF0aCxcbiAgICBvdmVyd3JpdGU6IG9wdGlvbnMub3ZlcndyaXRlLFxuICB9KVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { temporaryDirectory } from "tempy";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { saveDialect } from "./save.js";
|
|
6
|
+
describe("saveDialect", () => {
|
|
7
|
+
const testDialect = {
|
|
8
|
+
delimiter: ";",
|
|
9
|
+
header: true,
|
|
10
|
+
quoteChar: '"',
|
|
11
|
+
doubleQuote: true,
|
|
12
|
+
};
|
|
13
|
+
let testDir;
|
|
14
|
+
let testPath;
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
testDir = temporaryDirectory();
|
|
17
|
+
testPath = path.join(testDir, "dialect.json");
|
|
18
|
+
});
|
|
19
|
+
afterEach(async () => {
|
|
20
|
+
try {
|
|
21
|
+
await fs.rm(testDir, { recursive: true, force: true });
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error instanceof Error && !error.message.includes("ENOENT")) {
|
|
25
|
+
console.error(`Failed to clean up test directory: ${testDir}`, error);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
it("should save a dialect to a file and maintain its structure", async () => {
|
|
30
|
+
await saveDialect(testDialect, { path: testPath });
|
|
31
|
+
const fileExists = await fs
|
|
32
|
+
.stat(testPath)
|
|
33
|
+
.then(() => true)
|
|
34
|
+
.catch(() => false);
|
|
35
|
+
expect(fileExists).toBe(true);
|
|
36
|
+
const content = await fs.readFile(testPath, "utf-8");
|
|
37
|
+
const parsedContent = JSON.parse(content);
|
|
38
|
+
// Remove $schema property for test comparison
|
|
39
|
+
const { $schema, ...dialectWithoutSchema } = parsedContent;
|
|
40
|
+
expect(dialectWithoutSchema).toEqual(testDialect);
|
|
41
|
+
expect($schema).toBe("https://datapackage.org/profiles/2.0/tabledialect.json");
|
|
42
|
+
// Create expected format with $schema for comparison
|
|
43
|
+
const expectedWithSchema = {
|
|
44
|
+
...testDialect,
|
|
45
|
+
$schema: "https://datapackage.org/profiles/2.0/tabledialect.json",
|
|
46
|
+
};
|
|
47
|
+
// Verify the pretty formatting
|
|
48
|
+
const expectedFormat = JSON.stringify(expectedWithSchema, null, 2);
|
|
49
|
+
expect(content).toEqual(expectedFormat);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZGlhbGVjdC9zYXZlLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV2QyxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUMzQixNQUFNLFdBQVcsR0FBWTtRQUMzQixTQUFTLEVBQUUsR0FBRztRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLEdBQUc7UUFDZCxXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFBO0lBRUQsSUFBSSxPQUFlLENBQUE7SUFDbkIsSUFBSSxRQUFnQixDQUFBO0lBRXBCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxPQUFPLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQTtRQUM5QixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDL0MsQ0FBQyxDQUFDLENBQUE7SUFFRixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDeEQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLEtBQUssWUFBWSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDREQUE0RCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzFFLE1BQU0sV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBRWxELE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRTthQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzthQUNoQixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUU3QixNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3BELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFekMsOENBQThDO1FBQzlDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxHQUFHLGFBQWEsQ0FBQTtRQUMxRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbEIsd0RBQXdELENBQ3pELENBQUE7UUFFRCxxREFBcUQ7UUFDckQsTUFBTSxrQkFBa0IsR0FBRztZQUN6QixHQUFHLFdBQVc7WUFDZCxPQUFPLEVBQUUsd0RBQXdEO1NBQ2xFLENBQUE7UUFDRCwrQkFBK0I7UUFDL0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN6QyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB7IHRlbXBvcmFyeURpcmVjdG9yeSB9IGZyb20gXCJ0ZW1weVwiXG5pbXBvcnQgeyBhZnRlckVhY2gsIGJlZm9yZUVhY2gsIGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgdHlwZSB7IERpYWxlY3QgfSBmcm9tIFwiLi9EaWFsZWN0LnRzXCJcbmltcG9ydCB7IHNhdmVEaWFsZWN0IH0gZnJvbSBcIi4vc2F2ZS50c1wiXG5cbmRlc2NyaWJlKFwic2F2ZURpYWxlY3RcIiwgKCkgPT4ge1xuICBjb25zdCB0ZXN0RGlhbGVjdDogRGlhbGVjdCA9IHtcbiAgICBkZWxpbWl0ZXI6IFwiO1wiLFxuICAgIGhlYWRlcjogdHJ1ZSxcbiAgICBxdW90ZUNoYXI6ICdcIicsXG4gICAgZG91YmxlUXVvdGU6IHRydWUsXG4gIH1cblxuICBsZXQgdGVzdERpcjogc3RyaW5nXG4gIGxldCB0ZXN0UGF0aDogc3RyaW5nXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdGVzdERpciA9IHRlbXBvcmFyeURpcmVjdG9yeSgpXG4gICAgdGVzdFBhdGggPSBwYXRoLmpvaW4odGVzdERpciwgXCJkaWFsZWN0Lmpzb25cIilcbiAgfSlcblxuICBhZnRlckVhY2goYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5ybSh0ZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgIWVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoXCJFTk9FTlRcIikpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNsZWFuIHVwIHRlc3QgZGlyZWN0b3J5OiAke3Rlc3REaXJ9YCwgZXJyb3IpXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHNhdmUgYSBkaWFsZWN0IHRvIGEgZmlsZSBhbmQgbWFpbnRhaW4gaXRzIHN0cnVjdHVyZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2F2ZURpYWxlY3QodGVzdERpYWxlY3QsIHsgcGF0aDogdGVzdFBhdGggfSlcblxuICAgIGNvbnN0IGZpbGVFeGlzdHMgPSBhd2FpdCBmc1xuICAgICAgLnN0YXQodGVzdFBhdGgpXG4gICAgICAudGhlbigoKSA9PiB0cnVlKVxuICAgICAgLmNhdGNoKCgpID0+IGZhbHNlKVxuICAgIGV4cGVjdChmaWxlRXhpc3RzKS50b0JlKHRydWUpXG5cbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgZnMucmVhZEZpbGUodGVzdFBhdGgsIFwidXRmLThcIilcbiAgICBjb25zdCBwYXJzZWRDb250ZW50ID0gSlNPTi5wYXJzZShjb250ZW50KVxuXG4gICAgLy8gUmVtb3ZlICRzY2hlbWEgcHJvcGVydHkgZm9yIHRlc3QgY29tcGFyaXNvblxuICAgIGNvbnN0IHsgJHNjaGVtYSwgLi4uZGlhbGVjdFdpdGhvdXRTY2hlbWEgfSA9IHBhcnNlZENvbnRlbnRcbiAgICBleHBlY3QoZGlhbGVjdFdpdGhvdXRTY2hlbWEpLnRvRXF1YWwodGVzdERpYWxlY3QpXG4gICAgZXhwZWN0KCRzY2hlbWEpLnRvQmUoXG4gICAgICBcImh0dHBzOi8vZGF0YXBhY2thZ2Uub3JnL3Byb2ZpbGVzLzIuMC90YWJsZWRpYWxlY3QuanNvblwiLFxuICAgIClcblxuICAgIC8vIENyZWF0ZSBleHBlY3RlZCBmb3JtYXQgd2l0aCAkc2NoZW1hIGZvciBjb21wYXJpc29uXG4gICAgY29uc3QgZXhwZWN0ZWRXaXRoU2NoZW1hID0ge1xuICAgICAgLi4udGVzdERpYWxlY3QsXG4gICAgICAkc2NoZW1hOiBcImh0dHBzOi8vZGF0YXBhY2thZ2Uub3JnL3Byb2ZpbGVzLzIuMC90YWJsZWRpYWxlY3QuanNvblwiLFxuICAgIH1cbiAgICAvLyBWZXJpZnkgdGhlIHByZXR0eSBmb3JtYXR0aW5nXG4gICAgY29uc3QgZXhwZWN0ZWRGb3JtYXQgPSBKU09OLnN0cmluZ2lmeShleHBlY3RlZFdpdGhTY2hlbWEsIG51bGwsIDIpXG4gICAgZXhwZWN0KGNvbnRlbnQpLnRvRXF1YWwoZXhwZWN0ZWRGb3JtYXQpXG4gIH0pXG59KVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Descriptor } from "../descriptor/index.ts";
|
|
2
|
+
import type { Dialect } from "./Dialect.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Validate a Dialect descriptor (JSON Object) against its profile
|
|
5
|
+
*/
|
|
6
|
+
export declare function validateDialect(source: Dialect | Descriptor | string): Promise<{
|
|
7
|
+
dialect: Dialect | undefined;
|
|
8
|
+
errors: import("../index.ts").MetadataError[];
|
|
9
|
+
valid: boolean;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { loadDescriptor } from "../descriptor/index.js";
|
|
2
|
+
import { validateDescriptor } from "../profile/index.js";
|
|
3
|
+
import { convertDialectFromDescriptor } from "./convert/fromDescriptor.js";
|
|
4
|
+
const DEFAULT_PROFILE = "https://datapackage.org/profiles/1.0/tabledialect.json";
|
|
5
|
+
/**
|
|
6
|
+
* Validate a Dialect descriptor (JSON Object) against its profile
|
|
7
|
+
*/
|
|
8
|
+
export async function validateDialect(source) {
|
|
9
|
+
const descriptor = typeof source === "string"
|
|
10
|
+
? await loadDescriptor(source)
|
|
11
|
+
: source;
|
|
12
|
+
const profile = typeof descriptor.$schema === "string"
|
|
13
|
+
? descriptor.$schema
|
|
14
|
+
: DEFAULT_PROFILE;
|
|
15
|
+
const report = await validateDescriptor(descriptor, {
|
|
16
|
+
profile,
|
|
17
|
+
});
|
|
18
|
+
let dialect = undefined;
|
|
19
|
+
if (report.valid) {
|
|
20
|
+
// Validation + normalization = we can cast it
|
|
21
|
+
dialect = convertDialectFromDescriptor(descriptor);
|
|
22
|
+
}
|
|
23
|
+
return { ...report, dialect };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9kaWFsZWN0L3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUUxRSxNQUFNLGVBQWUsR0FBRyx3REFBd0QsQ0FBQTtBQUVoRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLE1BQXFDO0lBQ3pFLE1BQU0sVUFBVSxHQUNkLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFDeEIsQ0FBQyxDQUFDLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUM5QixDQUFDLENBQUUsTUFBcUIsQ0FBQTtJQUU1QixNQUFNLE9BQU8sR0FDWCxPQUFPLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUTtRQUNwQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU87UUFDcEIsQ0FBQyxDQUFDLGVBQWUsQ0FBQTtJQUVyQixNQUFNLE1BQU0sR0FBRyxNQUFNLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtRQUNsRCxPQUFPO0tBQ1IsQ0FBQyxDQUFBO0lBRUYsSUFBSSxPQUFPLEdBQXdCLFNBQVMsQ0FBQTtJQUM1QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQiw4Q0FBOEM7UUFDOUMsT0FBTyxHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBWSxDQUFBO0lBQy9ELENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVzY3JpcHRvciB9IGZyb20gXCIuLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcbmltcG9ydCB7IGxvYWREZXNjcmlwdG9yIH0gZnJvbSBcIi4uL2Rlc2NyaXB0b3IvaW5kZXgudHNcIlxuaW1wb3J0IHsgdmFsaWRhdGVEZXNjcmlwdG9yIH0gZnJvbSBcIi4uL3Byb2ZpbGUvaW5kZXgudHNcIlxuaW1wb3J0IHR5cGUgeyBEaWFsZWN0IH0gZnJvbSBcIi4vRGlhbGVjdC50c1wiXG5pbXBvcnQgeyBjb252ZXJ0RGlhbGVjdEZyb21EZXNjcmlwdG9yIH0gZnJvbSBcIi4vY29udmVydC9mcm9tRGVzY3JpcHRvci50c1wiXG5cbmNvbnN0IERFRkFVTFRfUFJPRklMRSA9IFwiaHR0cHM6Ly9kYXRhcGFja2FnZS5vcmcvcHJvZmlsZXMvMS4wL3RhYmxlZGlhbGVjdC5qc29uXCJcblxuLyoqXG4gKiBWYWxpZGF0ZSBhIERpYWxlY3QgZGVzY3JpcHRvciAoSlNPTiBPYmplY3QpIGFnYWluc3QgaXRzIHByb2ZpbGVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlRGlhbGVjdChzb3VyY2U6IERpYWxlY3QgfCBEZXNjcmlwdG9yIHwgc3RyaW5nKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPVxuICAgIHR5cGVvZiBzb3VyY2UgPT09IFwic3RyaW5nXCJcbiAgICAgID8gYXdhaXQgbG9hZERlc2NyaXB0b3Ioc291cmNlKVxuICAgICAgOiAoc291cmNlIGFzIERlc2NyaXB0b3IpXG5cbiAgY29uc3QgcHJvZmlsZSA9XG4gICAgdHlwZW9mIGRlc2NyaXB0b3IuJHNjaGVtYSA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBkZXNjcmlwdG9yLiRzY2hlbWFcbiAgICAgIDogREVGQVVMVF9QUk9GSUxFXG5cbiAgY29uc3QgcmVwb3J0ID0gYXdhaXQgdmFsaWRhdGVEZXNjcmlwdG9yKGRlc2NyaXB0b3IsIHtcbiAgICBwcm9maWxlLFxuICB9KVxuXG4gIGxldCBkaWFsZWN0OiBEaWFsZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gIGlmIChyZXBvcnQudmFsaWQpIHtcbiAgICAvLyBWYWxpZGF0aW9uICsgbm9ybWFsaXphdGlvbiA9IHdlIGNhbiBjYXN0IGl0XG4gICAgZGlhbGVjdCA9IGNvbnZlcnREaWFsZWN0RnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvcikgYXMgRGlhbGVjdFxuICB9XG5cbiAgcmV0dXJuIHsgLi4ucmVwb3J0LCBkaWFsZWN0IH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { validateDialect } from "./validate.js";
|
|
3
|
+
describe("validateDialect", () => {
|
|
4
|
+
it("returns valid report for valid dialect", async () => {
|
|
5
|
+
const descriptor = {
|
|
6
|
+
delimiter: ";",
|
|
7
|
+
};
|
|
8
|
+
const report = await validateDialect({
|
|
9
|
+
descriptor,
|
|
10
|
+
});
|
|
11
|
+
expect(report.valid).toBe(true);
|
|
12
|
+
expect(report.errors).toEqual([]);
|
|
13
|
+
});
|
|
14
|
+
it("returns validation errors for invalid dialect", async () => {
|
|
15
|
+
const invalidDialect = {
|
|
16
|
+
delimiter: 1, // Should be a string
|
|
17
|
+
};
|
|
18
|
+
const report = await validateDialect(invalidDialect);
|
|
19
|
+
expect(report.valid).toBe(false);
|
|
20
|
+
expect(report.errors.length).toBeGreaterThan(0);
|
|
21
|
+
const error = report.errors[0];
|
|
22
|
+
expect(error).toBeDefined();
|
|
23
|
+
if (error) {
|
|
24
|
+
expect(error.pointer).toBe("/delimiter");
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2RpYWxlY3QvdmFsaWRhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUvQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN0RCxNQUFNLFVBQVUsR0FBRztZQUNqQixTQUFTLEVBQUUsR0FBRztTQUNmLENBQUE7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQztZQUNuQyxVQUFVO1NBQ1gsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbkMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsK0NBQStDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0QsTUFBTSxjQUFjLEdBQUc7WUFDckIsU0FBUyxFQUFFLENBQUMsRUFBRSxxQkFBcUI7U0FDcEMsQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRXBELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUvQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUMzQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDMUMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlc3RcIlxuaW1wb3J0IHsgdmFsaWRhdGVEaWFsZWN0IH0gZnJvbSBcIi4vdmFsaWRhdGUudHNcIlxuXG5kZXNjcmliZShcInZhbGlkYXRlRGlhbGVjdFwiLCAoKSA9PiB7XG4gIGl0KFwicmV0dXJucyB2YWxpZCByZXBvcnQgZm9yIHZhbGlkIGRpYWxlY3RcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB7XG4gICAgICBkZWxpbWl0ZXI6IFwiO1wiLFxuICAgIH1cblxuICAgIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHZhbGlkYXRlRGlhbGVjdCh7XG4gICAgICBkZXNjcmlwdG9yLFxuICAgIH0pXG5cbiAgICBleHBlY3QocmVwb3J0LnZhbGlkKS50b0JlKHRydWUpXG4gICAgZXhwZWN0KHJlcG9ydC5lcnJvcnMpLnRvRXF1YWwoW10pXG4gIH0pXG5cbiAgaXQoXCJyZXR1cm5zIHZhbGlkYXRpb24gZXJyb3JzIGZvciBpbnZhbGlkIGRpYWxlY3RcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGludmFsaWREaWFsZWN0ID0ge1xuICAgICAgZGVsaW1pdGVyOiAxLCAvLyBTaG91bGQgYmUgYSBzdHJpbmdcbiAgICB9XG5cbiAgICBjb25zdCByZXBvcnQgPSBhd2FpdCB2YWxpZGF0ZURpYWxlY3QoaW52YWxpZERpYWxlY3QpXG5cbiAgICBleHBlY3QocmVwb3J0LnZhbGlkKS50b0JlKGZhbHNlKVxuICAgIGV4cGVjdChyZXBvcnQuZXJyb3JzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApXG5cbiAgICBjb25zdCBlcnJvciA9IHJlcG9ydC5lcnJvcnNbMF1cbiAgICBleHBlY3QoZXJyb3IpLnRvQmVEZWZpbmVkKClcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGV4cGVjdChlcnJvci5wb2ludGVyKS50b0JlKFwiL2RlbGltaXRlclwiKVxuICAgIH1cbiAgfSlcbn0pXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9lcnJvci9Cb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVbmJvdW5kRXJyb3IgfSBmcm9tIFwiLi9VbmJvdW5kLnRzXCJcblxuZXhwb3J0IHR5cGUgQm91bmRFcnJvciA9IFVuYm91bmRFcnJvciAmIHsgcmVzb3VyY2U6IHN0cmluZyB9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9lcnJvci9FcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCb3VuZEVycm9yIH0gZnJvbSBcIi4vQm91bmQudHNcIlxuaW1wb3J0IHR5cGUgeyBVbmJvdW5kRXJyb3IgfSBmcm9tIFwiLi9VbmJvdW5kLnRzXCJcblxuZXhwb3J0IHR5cGUgRnJpY3Rpb25sZXNzRXJyb3IgPSBCb3VuZEVycm9yIHwgVW5ib3VuZEVycm9yXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DataError } from "./types/Data.ts";
|
|
2
|
+
import type { DocumentError } from "./types/Document.ts";
|
|
3
|
+
import type { FileError } from "./types/File.ts";
|
|
4
|
+
import type { MetadataError } from "./types/Metadata.ts";
|
|
5
|
+
import type { TableError } from "./types/Table.ts";
|
|
6
|
+
export type UnboundError = MetadataError | DataError | FileError | TableError | DocumentError;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5ib3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Vycm9yL1VuYm91bmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YUVycm9yIH0gZnJvbSBcIi4vdHlwZXMvRGF0YS50c1wiXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50RXJyb3IgfSBmcm9tIFwiLi90eXBlcy9Eb2N1bWVudC50c1wiXG5pbXBvcnQgdHlwZSB7IEZpbGVFcnJvciB9IGZyb20gXCIuL3R5cGVzL0ZpbGUudHNcIlxuaW1wb3J0IHR5cGUgeyBNZXRhZGF0YUVycm9yIH0gZnJvbSBcIi4vdHlwZXMvTWV0YWRhdGEudHNcIlxuaW1wb3J0IHR5cGUgeyBUYWJsZUVycm9yIH0gZnJvbSBcIi4vdHlwZXMvVGFibGUudHNcIlxuXG5leHBvcnQgdHlwZSBVbmJvdW5kRXJyb3IgPVxuICB8IE1ldGFkYXRhRXJyb3JcbiAgfCBEYXRhRXJyb3JcbiAgfCBGaWxlRXJyb3JcbiAgfCBUYWJsZUVycm9yXG4gIHwgRG9jdW1lbnRFcnJvclxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type { FrictionlessError } from "./Error.ts";
|
|
2
|
+
export type { BoundError } from "./Bound.ts";
|
|
3
|
+
export type { UnboundError } from "./Unbound.ts";
|
|
4
|
+
export type * from "./types/Bytes.ts";
|
|
5
|
+
export type * from "./types/Cell.ts";
|
|
6
|
+
export type * from "./types/Data.ts";
|
|
7
|
+
export type * from "./types/Document.ts";
|
|
8
|
+
export type * from "./types/Encoding.ts";
|
|
9
|
+
export type * from "./types/Field.ts";
|
|
10
|
+
export type * from "./types/Fields.ts";
|
|
11
|
+
export type * from "./types/File.ts";
|
|
12
|
+
export type * from "./types/ForeignKey.ts";
|
|
13
|
+
export type * from "./types/Hash.ts";
|
|
14
|
+
export type * from "./types/Metadata.ts";
|
|
15
|
+
export type * from "./types/Row.ts";
|
|
16
|
+
export type * from "./types/Table.ts";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9lcnJvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBGcmljdGlvbmxlc3NFcnJvciB9IGZyb20gXCIuL0Vycm9yLnRzXCJcbmV4cG9ydCB0eXBlIHsgQm91bmRFcnJvciB9IGZyb20gXCIuL0JvdW5kLnRzXCJcbmV4cG9ydCB0eXBlIHsgVW5ib3VuZEVycm9yIH0gZnJvbSBcIi4vVW5ib3VuZC50c1wiXG5cbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvQnl0ZXMudHNcIlxuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi90eXBlcy9DZWxsLnRzXCJcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvRGF0YS50c1wiXG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL3R5cGVzL0RvY3VtZW50LnRzXCJcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvRW5jb2RpbmcudHNcIlxuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi90eXBlcy9GaWVsZC50c1wiXG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL3R5cGVzL0ZpZWxkcy50c1wiXG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL3R5cGVzL0ZpbGUudHNcIlxuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi90eXBlcy9Gb3JlaWduS2V5LnRzXCJcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvSGFzaC50c1wiXG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL3R5cGVzL01ldGFkYXRhLnRzXCJcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvUm93LnRzXCJcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdHlwZXMvVGFibGUudHNcIlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQmFzZUVycm9yIHtcbiAgdHlwZTogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnl0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9CeXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBCeXRlc0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgdHlwZTogXCJmaWxlL2J5dGVzXCJcbiAgYnl0ZXM6IG51bWJlclxuICBhY3R1YWxCeXRlczogbnVtYmVyXG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { FieldType } from "../../field/index.ts";
|
|
2
|
+
import type { BaseError } from "./Base.ts";
|
|
3
|
+
export type CellError = CellTypeError | CellRequiredError | CellMinimumError | CellMaximumError | CellExclusiveMinimumError | CellExclusiveMaximumError | CellMinLengthError | CellMaxLengthError | CellPatternError | CellUniqueError | CellEnumError | CellJsonSchemaError;
|
|
4
|
+
export interface BaseCellError extends BaseError {
|
|
5
|
+
fieldName: string;
|
|
6
|
+
rowNumber: number;
|
|
7
|
+
cell: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CellTypeError extends BaseCellError {
|
|
10
|
+
type: "cell/type";
|
|
11
|
+
fieldType: FieldType;
|
|
12
|
+
fieldFormat?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CellRequiredError extends BaseCellError {
|
|
15
|
+
type: "cell/required";
|
|
16
|
+
}
|
|
17
|
+
export interface CellMinimumError extends BaseCellError {
|
|
18
|
+
type: "cell/minimum";
|
|
19
|
+
minimum: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CellMaximumError extends BaseCellError {
|
|
22
|
+
type: "cell/maximum";
|
|
23
|
+
maximum: string;
|
|
24
|
+
}
|
|
25
|
+
export interface CellExclusiveMinimumError extends BaseCellError {
|
|
26
|
+
type: "cell/exclusiveMinimum";
|
|
27
|
+
minimum: string;
|
|
28
|
+
}
|
|
29
|
+
export interface CellExclusiveMaximumError extends BaseCellError {
|
|
30
|
+
type: "cell/exclusiveMaximum";
|
|
31
|
+
maximum: string;
|
|
32
|
+
}
|
|
33
|
+
export interface CellMinLengthError extends BaseCellError {
|
|
34
|
+
type: "cell/minLength";
|
|
35
|
+
minLength: number;
|
|
36
|
+
}
|
|
37
|
+
export interface CellMaxLengthError extends BaseCellError {
|
|
38
|
+
type: "cell/maxLength";
|
|
39
|
+
maxLength: number;
|
|
40
|
+
}
|
|
41
|
+
export interface CellPatternError extends BaseCellError {
|
|
42
|
+
type: "cell/pattern";
|
|
43
|
+
pattern: string;
|
|
44
|
+
}
|
|
45
|
+
export interface CellUniqueError extends BaseCellError {
|
|
46
|
+
type: "cell/unique";
|
|
47
|
+
}
|
|
48
|
+
export interface CellEnumError extends BaseCellError {
|
|
49
|
+
type: "cell/enum";
|
|
50
|
+
enum: string[];
|
|
51
|
+
}
|
|
52
|
+
export interface CellJsonSchemaError extends BaseCellError {
|
|
53
|
+
type: "cell/jsonSchema";
|
|
54
|
+
pointer: string;
|
|
55
|
+
message: string;
|
|
56
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0NlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uLy4uL2ZpZWxkL2luZGV4LnRzXCJcbmltcG9ydCB0eXBlIHsgQmFzZUVycm9yIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbmV4cG9ydCB0eXBlIENlbGxFcnJvciA9XG4gIHwgQ2VsbFR5cGVFcnJvclxuICB8IENlbGxSZXF1aXJlZEVycm9yXG4gIHwgQ2VsbE1pbmltdW1FcnJvclxuICB8IENlbGxNYXhpbXVtRXJyb3JcbiAgfCBDZWxsRXhjbHVzaXZlTWluaW11bUVycm9yXG4gIHwgQ2VsbEV4Y2x1c2l2ZU1heGltdW1FcnJvclxuICB8IENlbGxNaW5MZW5ndGhFcnJvclxuICB8IENlbGxNYXhMZW5ndGhFcnJvclxuICB8IENlbGxQYXR0ZXJuRXJyb3JcbiAgfCBDZWxsVW5pcXVlRXJyb3JcbiAgfCBDZWxsRW51bUVycm9yXG4gIHwgQ2VsbEpzb25TY2hlbWFFcnJvclxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDZWxsRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICBmaWVsZE5hbWU6IHN0cmluZ1xuICByb3dOdW1iZXI6IG51bWJlclxuICBjZWxsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsVHlwZUVycm9yIGV4dGVuZHMgQmFzZUNlbGxFcnJvciB7XG4gIHR5cGU6IFwiY2VsbC90eXBlXCJcbiAgZmllbGRUeXBlOiBGaWVsZFR5cGVcbiAgZmllbGRGb3JtYXQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsUmVxdWlyZWRFcnJvciBleHRlbmRzIEJhc2VDZWxsRXJyb3Ige1xuICB0eXBlOiBcImNlbGwvcmVxdWlyZWRcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlbGxNaW5pbXVtRXJyb3IgZXh0ZW5kcyBCYXNlQ2VsbEVycm9yIHtcbiAgdHlwZTogXCJjZWxsL21pbmltdW1cIlxuICBtaW5pbXVtOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsTWF4aW11bUVycm9yIGV4dGVuZHMgQmFzZUNlbGxFcnJvciB7XG4gIHR5cGU6IFwiY2VsbC9tYXhpbXVtXCJcbiAgbWF4aW11bTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbEV4Y2x1c2l2ZU1pbmltdW1FcnJvciBleHRlbmRzIEJhc2VDZWxsRXJyb3Ige1xuICB0eXBlOiBcImNlbGwvZXhjbHVzaXZlTWluaW11bVwiXG4gIG1pbmltdW06IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlbGxFeGNsdXNpdmVNYXhpbXVtRXJyb3IgZXh0ZW5kcyBCYXNlQ2VsbEVycm9yIHtcbiAgdHlwZTogXCJjZWxsL2V4Y2x1c2l2ZU1heGltdW1cIlxuICBtYXhpbXVtOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsTWluTGVuZ3RoRXJyb3IgZXh0ZW5kcyBCYXNlQ2VsbEVycm9yIHtcbiAgdHlwZTogXCJjZWxsL21pbkxlbmd0aFwiXG4gIG1pbkxlbmd0aDogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbE1heExlbmd0aEVycm9yIGV4dGVuZHMgQmFzZUNlbGxFcnJvciB7XG4gIHR5cGU6IFwiY2VsbC9tYXhMZW5ndGhcIlxuICBtYXhMZW5ndGg6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlbGxQYXR0ZXJuRXJyb3IgZXh0ZW5kcyBCYXNlQ2VsbEVycm9yIHtcbiAgdHlwZTogXCJjZWxsL3BhdHRlcm5cIlxuICBwYXR0ZXJuOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZWxsVW5pcXVlRXJyb3IgZXh0ZW5kcyBCYXNlQ2VsbEVycm9yIHtcbiAgdHlwZTogXCJjZWxsL3VuaXF1ZVwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbEVudW1FcnJvciBleHRlbmRzIEJhc2VDZWxsRXJyb3Ige1xuICB0eXBlOiBcImNlbGwvZW51bVwiXG4gIGVudW06IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbEpzb25TY2hlbWFFcnJvciBleHRlbmRzIEJhc2VDZWxsRXJyb3Ige1xuICB0eXBlOiBcImNlbGwvanNvblNjaGVtYVwiXG4gIHBvaW50ZXI6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUVycm9yIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgdHlwZTogXCJkYXRhXCJcbiAgbWVzc2FnZTogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9Eb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRFcnJvciA9IEpzb25Eb2N1bWVudEVycm9yXG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbkRvY3VtZW50RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICB0eXBlOiBcImRvY3VtZW50L2pzb25cIlxuICBwb2ludGVyOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9FbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBFbmNvZGluZ0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgdHlwZTogXCJmaWxlL2VuY29kaW5nXCJcbiAgZW5jb2Rpbmc6IHN0cmluZ1xuICBhY3R1YWxFbmNvZGluZzogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FieldType } from "../../field/index.ts";
|
|
2
|
+
import type { BaseError } from "./Base.ts";
|
|
3
|
+
export type FieldError = FieldNameError | FieldTypeError;
|
|
4
|
+
export interface BaseFieldError extends BaseError {
|
|
5
|
+
fieldName: string;
|
|
6
|
+
}
|
|
7
|
+
export interface FieldNameError extends BaseFieldError {
|
|
8
|
+
type: "field/name";
|
|
9
|
+
actualFieldName: string;
|
|
10
|
+
}
|
|
11
|
+
export interface FieldTypeError extends BaseFieldError {
|
|
12
|
+
type: "field/type";
|
|
13
|
+
fieldType: FieldType;
|
|
14
|
+
actualFieldType: FieldType;
|
|
15
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9GaWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi4vZmllbGQvaW5kZXgudHNcIlxuaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuZXhwb3J0IHR5cGUgRmllbGRFcnJvciA9IEZpZWxkTmFtZUVycm9yIHwgRmllbGRUeXBlRXJyb3JcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRmllbGRFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIGZpZWxkTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGROYW1lRXJyb3IgZXh0ZW5kcyBCYXNlRmllbGRFcnJvciB7XG4gIHR5cGU6IFwiZmllbGQvbmFtZVwiXG4gIGFjdHVhbEZpZWxkTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRUeXBlRXJyb3IgZXh0ZW5kcyBCYXNlRmllbGRFcnJvciB7XG4gIHR5cGU6IFwiZmllbGQvdHlwZVwiXG4gIGZpZWxkVHlwZTogRmllbGRUeXBlXG4gIGFjdHVhbEZpZWxkVHlwZTogRmllbGRUeXBlXG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BaseError } from "./Base.ts";
|
|
2
|
+
export type FieldsError = FieldsMissingError | FieldsExtraError;
|
|
3
|
+
export interface BaseFieldsError extends BaseError {
|
|
4
|
+
fieldNames: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface FieldsMissingError extends BaseFieldsError {
|
|
7
|
+
type: "fields/missing";
|
|
8
|
+
}
|
|
9
|
+
export interface FieldsExtraError extends BaseFieldsError {
|
|
10
|
+
type: "fields/extra";
|
|
11
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXJyb3IvdHlwZXMvRmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VFcnJvciB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG5leHBvcnQgdHlwZSBGaWVsZHNFcnJvciA9IEZpZWxkc01pc3NpbmdFcnJvciB8IEZpZWxkc0V4dHJhRXJyb3JcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRmllbGRzRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICBmaWVsZE5hbWVzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkc01pc3NpbmdFcnJvciBleHRlbmRzIEJhc2VGaWVsZHNFcnJvciB7XG4gIHR5cGU6IFwiZmllbGRzL21pc3NpbmdcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkc0V4dHJhRXJyb3IgZXh0ZW5kcyBCYXNlRmllbGRzRXJyb3Ige1xuICB0eXBlOiBcImZpZWxkcy9leHRyYVwiXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQnl0ZXNFcnJvciB9IGZyb20gXCIuL0J5dGVzLnRzXCJcbmltcG9ydCB0eXBlIHsgRW5jb2RpbmdFcnJvciB9IGZyb20gXCIuL0VuY29kaW5nLnRzXCJcbmltcG9ydCB0eXBlIHsgSGFzaEVycm9yIH0gZnJvbSBcIi4vSGFzaC50c1wiXG5cbmV4cG9ydCB0eXBlIEZpbGVFcnJvciA9IEJ5dGVzRXJyb3IgfCBIYXNoRXJyb3IgfCBFbmNvZGluZ0Vycm9yXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9yZWlnbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0ZvcmVpZ25LZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRm9yZWlnbktleSB9IGZyb20gXCIuLi8uLi9zY2hlbWEvaW5kZXgudHNcIlxuaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuZXhwb3J0IGludGVyZmFjZSBGb3JlaWduS2V5RXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuICB0eXBlOiBcImZvcmVpZ25LZXlcIlxuICBmb3JlaWduS2V5OiBGb3JlaWduS2V5XG4gIGNlbGxzOiBzdHJpbmdbXVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vycm9yL3R5cGVzL0hhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUVycm9yIH0gZnJvbSBcIi4vQmFzZS50c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzaEVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgdHlwZTogXCJmaWxlL2hhc2hcIlxuICBoYXNoOiBzdHJpbmdcbiAgYWN0dWFsSGFzaDogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9NZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlRXJyb3IgfSBmcm9tIFwiLi9CYXNlLnRzXCJcblxuLyoqXG4gKiBBIGRlc2NyaXB0b3IgZXJyb3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YUVycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgdHlwZTogXCJtZXRhZGF0YVwiXG4gIHBvaW50ZXI6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BaseError } from "./Base.ts";
|
|
2
|
+
export type RowError = RowUniqueError;
|
|
3
|
+
export interface BaseRowError extends BaseError {
|
|
4
|
+
rowNumber: number;
|
|
5
|
+
}
|
|
6
|
+
export interface RowUniqueError extends BaseRowError {
|
|
7
|
+
type: "row/unique";
|
|
8
|
+
fieldNames: string[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXJyb3IvdHlwZXMvUm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VFcnJvciB9IGZyb20gXCIuL0Jhc2UudHNcIlxuXG5leHBvcnQgdHlwZSBSb3dFcnJvciA9IFJvd1VuaXF1ZUVycm9yXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVJvd0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgcm93TnVtYmVyOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3dVbmlxdWVFcnJvciBleHRlbmRzIEJhc2VSb3dFcnJvciB7XG4gIHR5cGU6IFwicm93L3VuaXF1ZVwiXG4gIGZpZWxkTmFtZXM6IHN0cmluZ1tdXG4gIC8vIFRPRE86IGFkZCBjZWxscz9cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CellError } from "./Cell.ts";
|
|
2
|
+
import type { FieldError } from "./Field.ts";
|
|
3
|
+
import type { FieldsError } from "./Fields.ts";
|
|
4
|
+
import type { ForeignKeyError } from "./ForeignKey.ts";
|
|
5
|
+
import type { RowError } from "./Row.ts";
|
|
6
|
+
export type TableError = FieldsError | FieldError | RowError | CellError | ForeignKeyError;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lcnJvci90eXBlcy9UYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDZWxsRXJyb3IgfSBmcm9tIFwiLi9DZWxsLnRzXCJcbmltcG9ydCB0eXBlIHsgRmllbGRFcnJvciB9IGZyb20gXCIuL0ZpZWxkLnRzXCJcbmltcG9ydCB0eXBlIHsgRmllbGRzRXJyb3IgfSBmcm9tIFwiLi9GaWVsZHMudHNcIlxuaW1wb3J0IHR5cGUgeyBGb3JlaWduS2V5RXJyb3IgfSBmcm9tIFwiLi9Gb3JlaWduS2V5LnRzXCJcbmltcG9ydCB0eXBlIHsgUm93RXJyb3IgfSBmcm9tIFwiLi9Sb3cudHNcIlxuXG5leHBvcnQgdHlwZSBUYWJsZUVycm9yID1cbiAgfCBGaWVsZHNFcnJvclxuICB8IEZpZWxkRXJyb3JcbiAgfCBSb3dFcnJvclxuICB8IENlbGxFcnJvclxuICB8IEZvcmVpZ25LZXlFcnJvclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type * as fields from "./types/index.ts";
|
|
2
|
+
/**
|
|
3
|
+
* A Table Schema field
|
|
4
|
+
*/
|
|
5
|
+
export type Field = fields.StringField | fields.NumberField | fields.IntegerField | fields.BooleanField | fields.ObjectField | fields.ArrayField | fields.ListField | fields.DateField | fields.TimeField | fields.DatetimeField | fields.YearField | fields.YearmonthField | fields.DurationField | fields.GeopointField | fields.GeojsonField | fields.AnyField;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9maWVsZC9GaWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBmaWVsZHMgZnJvbSBcIi4vdHlwZXMvaW5kZXgudHNcIlxuXG4vKipcbiAqIEEgVGFibGUgU2NoZW1hIGZpZWxkXG4gKi9cbmV4cG9ydCB0eXBlIEZpZWxkID1cbiAgfCBmaWVsZHMuU3RyaW5nRmllbGRcbiAgfCBmaWVsZHMuTnVtYmVyRmllbGRcbiAgfCBmaWVsZHMuSW50ZWdlckZpZWxkXG4gIHwgZmllbGRzLkJvb2xlYW5GaWVsZFxuICB8IGZpZWxkcy5PYmplY3RGaWVsZFxuICB8IGZpZWxkcy5BcnJheUZpZWxkXG4gIHwgZmllbGRzLkxpc3RGaWVsZFxuICB8IGZpZWxkcy5EYXRlRmllbGRcbiAgfCBmaWVsZHMuVGltZUZpZWxkXG4gIHwgZmllbGRzLkRhdGV0aW1lRmllbGRcbiAgfCBmaWVsZHMuWWVhckZpZWxkXG4gIHwgZmllbGRzLlllYXJtb250aEZpZWxkXG4gIHwgZmllbGRzLkR1cmF0aW9uRmllbGRcbiAgfCBmaWVsZHMuR2VvcG9pbnRGaWVsZFxuICB8IGZpZWxkcy5HZW9qc29uRmllbGRcbiAgfCBmaWVsZHMuQW55RmllbGRcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2ZpZWxkL1R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwiLi9GaWVsZC50c1wiXG5cbmV4cG9ydCB0eXBlIEZpZWxkVHlwZSA9IEV4Y2x1ZGU8RmllbGRbXCJ0eXBlXCJdLCB1bmRlZmluZWQ+XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export function convertFieldFromDescriptor(descriptor) {
|
|
2
|
+
descriptor = globalThis.structuredClone(descriptor);
|
|
3
|
+
convertFormat(descriptor);
|
|
4
|
+
convertMissingValues(descriptor);
|
|
5
|
+
convertCategories(descriptor);
|
|
6
|
+
convertCategoriesOrdered(descriptor);
|
|
7
|
+
convertJsonschema(descriptor);
|
|
8
|
+
return descriptor;
|
|
9
|
+
}
|
|
10
|
+
function convertFormat(descriptor) {
|
|
11
|
+
const format = descriptor.format;
|
|
12
|
+
if (!format) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (typeof format === "string") {
|
|
16
|
+
if (format.startsWith("fmt:")) {
|
|
17
|
+
descriptor.format = format.slice(4);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function convertMissingValues(descriptor) {
|
|
22
|
+
const missingValues = descriptor.missingValues;
|
|
23
|
+
if (!missingValues) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!Array.isArray(missingValues)) {
|
|
27
|
+
descriptor.missingValues = undefined;
|
|
28
|
+
console.warn(`Ignoring v2.0 incompatible missingValues: ${missingValues}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function convertCategories(descriptor) {
|
|
32
|
+
const categories = descriptor.categories;
|
|
33
|
+
if (!categories) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (categories && !Array.isArray(categories)) {
|
|
37
|
+
descriptor.categories = undefined;
|
|
38
|
+
console.warn(`Ignoring v2.0 incompatible categories: ${categories}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function convertCategoriesOrdered(descriptor) {
|
|
42
|
+
const categoriesOrdered = descriptor.categoriesOrdered;
|
|
43
|
+
if (!categoriesOrdered) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (typeof categoriesOrdered !== "boolean") {
|
|
47
|
+
descriptor.categoriesOrdered = undefined;
|
|
48
|
+
console.warn(`Ignoring v2.0 incompatible categoriesOrdered: ${categoriesOrdered}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function convertJsonschema(descriptor) {
|
|
52
|
+
const jsonschema = descriptor.jsonschema;
|
|
53
|
+
if (!jsonschema) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (typeof jsonschema !== "object") {
|
|
57
|
+
descriptor.jsonschema = undefined;
|
|
58
|
+
console.warn(`Ignoring v2.0 incompatible jsonschema: ${jsonschema}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbURlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9maWVsZC9jb252ZXJ0L2Zyb21EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxVQUFzQjtJQUMvRCxVQUFVLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUVuRCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekIsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDaEMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0Isd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDcEMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFN0IsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFVBQXNCO0lBQzNDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUE7SUFDaEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTTtJQUNSLENBQUM7SUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFVBQXNCO0lBQ2xELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7SUFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE9BQU07SUFDUixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxVQUFVLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQTtRQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxhQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQzVFLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxVQUFzQjtJQUMvQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFBO0lBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzdDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQTBDLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDdEUsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLFVBQXNCO0lBQ3RELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFBO0lBQ3RELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLE9BQU07SUFDUixDQUFDO0lBRUQsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUE7UUFDeEMsT0FBTyxDQUFDLElBQUksQ0FDVixpREFBaUQsaUJBQWlCLEVBQUUsQ0FDckUsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxVQUFzQjtJQUMvQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFBO0lBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsVUFBVSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVzY3JpcHRvciB9IGZyb20gXCIuLi8uLi9kZXNjcmlwdG9yL2luZGV4LnRzXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGaWVsZEZyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpIHtcbiAgZGVzY3JpcHRvciA9IGdsb2JhbFRoaXMuc3RydWN0dXJlZENsb25lKGRlc2NyaXB0b3IpXG5cbiAgY29udmVydEZvcm1hdChkZXNjcmlwdG9yKVxuICBjb252ZXJ0TWlzc2luZ1ZhbHVlcyhkZXNjcmlwdG9yKVxuICBjb252ZXJ0Q2F0ZWdvcmllcyhkZXNjcmlwdG9yKVxuICBjb252ZXJ0Q2F0ZWdvcmllc09yZGVyZWQoZGVzY3JpcHRvcilcbiAgY29udmVydEpzb25zY2hlbWEoZGVzY3JpcHRvcilcblxuICByZXR1cm4gZGVzY3JpcHRvclxufVxuXG5mdW5jdGlvbiBjb252ZXJ0Rm9ybWF0KGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpIHtcbiAgY29uc3QgZm9ybWF0ID0gZGVzY3JpcHRvci5mb3JtYXRcbiAgaWYgKCFmb3JtYXQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmICh0eXBlb2YgZm9ybWF0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGZvcm1hdC5zdGFydHNXaXRoKFwiZm10OlwiKSkge1xuICAgICAgZGVzY3JpcHRvci5mb3JtYXQgPSBmb3JtYXQuc2xpY2UoNClcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29udmVydE1pc3NpbmdWYWx1ZXMoZGVzY3JpcHRvcjogRGVzY3JpcHRvcikge1xuICBjb25zdCBtaXNzaW5nVmFsdWVzID0gZGVzY3JpcHRvci5taXNzaW5nVmFsdWVzXG4gIGlmICghbWlzc2luZ1ZhbHVlcykge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KG1pc3NpbmdWYWx1ZXMpKSB7XG4gICAgZGVzY3JpcHRvci5taXNzaW5nVmFsdWVzID0gdW5kZWZpbmVkXG4gICAgY29uc29sZS53YXJuKGBJZ25vcmluZyB2Mi4wIGluY29tcGF0aWJsZSBtaXNzaW5nVmFsdWVzOiAke21pc3NpbmdWYWx1ZXN9YClcbiAgfVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0Q2F0ZWdvcmllcyhkZXNjcmlwdG9yOiBEZXNjcmlwdG9yKSB7XG4gIGNvbnN0IGNhdGVnb3JpZXMgPSBkZXNjcmlwdG9yLmNhdGVnb3JpZXNcbiAgaWYgKCFjYXRlZ29yaWVzKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAoY2F0ZWdvcmllcyAmJiAhQXJyYXkuaXNBcnJheShjYXRlZ29yaWVzKSkge1xuICAgIGRlc2NyaXB0b3IuY2F0ZWdvcmllcyA9IHVuZGVmaW5lZFxuICAgIGNvbnNvbGUud2FybihgSWdub3JpbmcgdjIuMCBpbmNvbXBhdGlibGUgY2F0ZWdvcmllczogJHtjYXRlZ29yaWVzfWApXG4gIH1cbn1cblxuZnVuY3Rpb24gY29udmVydENhdGVnb3JpZXNPcmRlcmVkKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpIHtcbiAgY29uc3QgY2F0ZWdvcmllc09yZGVyZWQgPSBkZXNjcmlwdG9yLmNhdGVnb3JpZXNPcmRlcmVkXG4gIGlmICghY2F0ZWdvcmllc09yZGVyZWQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmICh0eXBlb2YgY2F0ZWdvcmllc09yZGVyZWQgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgZGVzY3JpcHRvci5jYXRlZ29yaWVzT3JkZXJlZCA9IHVuZGVmaW5lZFxuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBJZ25vcmluZyB2Mi4wIGluY29tcGF0aWJsZSBjYXRlZ29yaWVzT3JkZXJlZDogJHtjYXRlZ29yaWVzT3JkZXJlZH1gLFxuICAgIClcbiAgfVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0SnNvbnNjaGVtYShkZXNjcmlwdG9yOiBEZXNjcmlwdG9yKSB7XG4gIGNvbnN0IGpzb25zY2hlbWEgPSBkZXNjcmlwdG9yLmpzb25zY2hlbWFcbiAgaWYgKCFqc29uc2NoZW1hKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAodHlwZW9mIGpzb25zY2hlbWEgIT09IFwib2JqZWN0XCIpIHtcbiAgICBkZXNjcmlwdG9yLmpzb25zY2hlbWEgPSB1bmRlZmluZWRcbiAgICBjb25zb2xlLndhcm4oYElnbm9yaW5nIHYyLjAgaW5jb21wYXRpYmxlIGpzb25zY2hlbWE6ICR7anNvbnNjaGVtYX1gKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|