livemark 0.2.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.
- package/README.md +3 -0
- package/build/descriptor/index.d.ts +3 -0
- package/build/descriptor/index.js +4 -0
- package/build/descriptor/load.d.ts +8 -0
- package/build/descriptor/load.js +40 -0
- package/build/descriptor/node.d.ts +125 -0
- package/build/descriptor/node.js +9 -0
- package/build/descriptor/save.d.ts +8 -0
- package/build/descriptor/save.js +17 -0
- package/build/descriptor/save.spec.d.ts +1 -0
- package/build/descriptor/save.spec.js +80 -0
- package/build/descriptor/validate.d.ts +9 -0
- package/build/descriptor/validate.js +14 -0
- package/build/descriptor/validate.spec.d.ts +1 -0
- package/build/descriptor/validate.spec.js +124 -0
- package/build/dialect/Dialect.d.ts +88 -0
- package/build/dialect/Dialect.js +2 -0
- package/build/dialect/index.d.ts +3 -0
- package/build/dialect/index.js +3 -0
- package/build/dialect/load.d.ts +4 -0
- package/build/dialect/load.js +7 -0
- package/build/dialect/save.d.ts +9 -0
- package/build/dialect/save.js +13 -0
- package/build/dialect/validate.d.ts +1 -0
- package/build/dialect/validate.js +4 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +5 -0
- package/build/metadata/index.d.ts +3 -0
- package/build/metadata/index.js +4 -0
- package/build/metadata/load.d.ts +10 -0
- package/build/metadata/load.js +55 -0
- package/build/metadata/node.d.ts +125 -0
- package/build/metadata/node.js +9 -0
- package/build/metadata/save.d.ts +8 -0
- package/build/metadata/save.js +17 -0
- package/build/metadata/save.spec.d.ts +1 -0
- package/build/metadata/save.spec.js +80 -0
- package/build/metadata/validate.d.ts +9 -0
- package/build/metadata/validate.js +14 -0
- package/build/metadata/validate.spec.d.ts +1 -0
- package/build/metadata/validate.spec.js +124 -0
- package/build/package/Contributor.d.ts +21 -0
- package/build/package/Contributor.js +2 -0
- package/build/package/Package.d.ts +65 -0
- package/build/package/Package.js +2 -0
- package/build/package/index.d.ts +4 -0
- package/build/package/index.js +3 -0
- package/build/package/load.d.ts +4 -0
- package/build/package/load.js +7 -0
- package/build/package/save.d.ts +9 -0
- package/build/package/save.js +13 -0
- package/build/package/validate.d.ts +1 -0
- package/build/package/validate.js +4 -0
- package/build/resource/License.d.ts +18 -0
- package/build/resource/License.js +2 -0
- package/build/resource/Resource.d.ts +67 -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/index.d.ts +5 -0
- package/build/resource/index.js +2 -0
- package/build/resource/load.d.ts +1 -0
- package/build/resource/load.js +2 -0
- package/build/resource/save.d.ts +9 -0
- package/build/resource/save.js +13 -0
- package/build/resource/types/index.d.ts +1 -0
- package/build/resource/types/index.js +2 -0
- package/build/resource/types/table.d.ts +29 -0
- package/build/resource/types/table.js +2 -0
- package/build/resource/validate.d.ts +1 -0
- package/build/resource/validate.js +4 -0
- package/build/schema/Field.d.ts +5 -0
- package/build/schema/Field.js +2 -0
- package/build/schema/Schema.d.ts +55 -0
- package/build/schema/Schema.js +2 -0
- package/build/schema/fields/any.d.ts +20 -0
- package/build/schema/fields/any.js +2 -0
- package/build/schema/fields/array.d.ts +32 -0
- package/build/schema/fields/array.js +2 -0
- package/build/schema/fields/base.d.ts +42 -0
- package/build/schema/fields/base.js +2 -0
- package/build/schema/fields/boolean.d.ts +28 -0
- package/build/schema/fields/boolean.js +2 -0
- package/build/schema/fields/date.d.ts +35 -0
- package/build/schema/fields/date.js +2 -0
- package/build/schema/fields/datetime.d.ts +35 -0
- package/build/schema/fields/datetime.js +2 -0
- package/build/schema/fields/duration.d.ts +28 -0
- package/build/schema/fields/duration.js +2 -0
- package/build/schema/fields/geojson.d.ts +26 -0
- package/build/schema/fields/geojson.js +2 -0
- package/build/schema/fields/geopoint.d.ts +27 -0
- package/build/schema/fields/geopoint.js +2 -0
- package/build/schema/fields/index.d.ts +16 -0
- package/build/schema/fields/index.js +17 -0
- package/build/schema/fields/integer.d.ts +37 -0
- package/build/schema/fields/integer.js +2 -0
- package/build/schema/fields/list.d.ts +36 -0
- package/build/schema/fields/list.js +2 -0
- package/build/schema/fields/number.d.ts +40 -0
- package/build/schema/fields/number.js +2 -0
- package/build/schema/fields/object.d.ts +32 -0
- package/build/schema/fields/object.js +2 -0
- package/build/schema/fields/string.d.ts +40 -0
- package/build/schema/fields/string.js +2 -0
- package/build/schema/fields/time.d.ts +35 -0
- package/build/schema/fields/time.js +2 -0
- package/build/schema/fields/year.d.ts +28 -0
- package/build/schema/fields/year.js +2 -0
- package/build/schema/fields/yearmonth.d.ts +28 -0
- package/build/schema/fields/yearmonth.js +2 -0
- package/build/schema/index.d.ts +4 -0
- package/build/schema/index.js +2 -0
- package/build/schema/load.d.ts +1 -0
- package/build/schema/load.js +2 -0
- package/build/schema/save.d.ts +9 -0
- package/build/schema/save.js +13 -0
- package/build/schema/validate.d.ts +1 -0
- package/build/schema/validate.js +4 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/index.ts +0 -0
- package/package.json +21 -0
- package/tsconfig.json +10 -0
- package/typedoc.json +4 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { License } from "../resource/License.js";
|
|
2
|
+
import type { Resource } from "../resource/Resource.js";
|
|
3
|
+
import type { Source } from "../resource/Source.js";
|
|
4
|
+
import type { Contributor } from "./Contributor.js";
|
|
5
|
+
/**
|
|
6
|
+
* Data Package interface based on the Frictionless Data specification
|
|
7
|
+
* @see https://datapackage.org/standard/data-package/
|
|
8
|
+
*/
|
|
9
|
+
export interface Package {
|
|
10
|
+
/**
|
|
11
|
+
* Unique package identifier
|
|
12
|
+
* Should use lowercase alphanumeric characters, periods, hyphens, and underscores
|
|
13
|
+
*/
|
|
14
|
+
name: string;
|
|
15
|
+
/**
|
|
16
|
+
* Package schema URL for validation
|
|
17
|
+
*/
|
|
18
|
+
$schema?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Human-readable title
|
|
21
|
+
*/
|
|
22
|
+
title?: string;
|
|
23
|
+
/**
|
|
24
|
+
* A description of the package
|
|
25
|
+
*/
|
|
26
|
+
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* A URL for the home page of the package
|
|
29
|
+
*/
|
|
30
|
+
homepage?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Version of the package using SemVer
|
|
33
|
+
* @example "1.0.0"
|
|
34
|
+
*/
|
|
35
|
+
version?: string;
|
|
36
|
+
/**
|
|
37
|
+
* License information
|
|
38
|
+
*/
|
|
39
|
+
licenses?: License[];
|
|
40
|
+
/**
|
|
41
|
+
* List of contributors
|
|
42
|
+
*/
|
|
43
|
+
contributors?: Contributor[];
|
|
44
|
+
/**
|
|
45
|
+
* Data sources for this package
|
|
46
|
+
*/
|
|
47
|
+
sources?: Source[];
|
|
48
|
+
/**
|
|
49
|
+
* Keywords for the package
|
|
50
|
+
*/
|
|
51
|
+
keywords?: string[];
|
|
52
|
+
/**
|
|
53
|
+
* Create time of the package
|
|
54
|
+
* @format ISO 8601 format
|
|
55
|
+
*/
|
|
56
|
+
created?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Data resources in this package (required)
|
|
59
|
+
*/
|
|
60
|
+
resources: Resource[];
|
|
61
|
+
/**
|
|
62
|
+
* Package image
|
|
63
|
+
*/
|
|
64
|
+
image?: string;
|
|
65
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3BhY2thZ2UvUGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaWNlbnNlIH0gZnJvbSBcIi4uL3Jlc291cmNlL0xpY2Vuc2UuanNcIlxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZS9SZXNvdXJjZS5qc1wiXG5pbXBvcnQgdHlwZSB7IFNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZS9Tb3VyY2UuanNcIlxuaW1wb3J0IHR5cGUgeyBDb250cmlidXRvciB9IGZyb20gXCIuL0NvbnRyaWJ1dG9yLmpzXCJcblxuLyoqXG4gKiBEYXRhIFBhY2thZ2UgaW50ZXJmYWNlIGJhc2VkIG9uIHRoZSBGcmljdGlvbmxlc3MgRGF0YSBzcGVjaWZpY2F0aW9uXG4gKiBAc2VlIGh0dHBzOi8vZGF0YXBhY2thZ2Uub3JnL3N0YW5kYXJkL2RhdGEtcGFja2FnZS9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBwYWNrYWdlIGlkZW50aWZpZXJcbiAgICogU2hvdWxkIHVzZSBsb3dlcmNhc2UgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIHBlcmlvZHMsIGh5cGhlbnMsIGFuZCB1bmRlcnNjb3Jlc1xuICAgKi9cbiAgbmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFBhY2thZ2Ugc2NoZW1hIFVSTCBmb3IgdmFsaWRhdGlvblxuICAgKi9cbiAgJHNjaGVtYT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmdcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFja2FnZVxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcblxuICAvKipcbiAgICogQSBVUkwgZm9yIHRoZSBob21lIHBhZ2Ugb2YgdGhlIHBhY2thZ2VcbiAgICovXG4gIGhvbWVwYWdlPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIHBhY2thZ2UgdXNpbmcgU2VtVmVyXG4gICAqIEBleGFtcGxlIFwiMS4wLjBcIlxuICAgKi9cbiAgdmVyc2lvbj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBMaWNlbnNlIGluZm9ybWF0aW9uXG4gICAqL1xuICBsaWNlbnNlcz86IExpY2Vuc2VbXVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRyaWJ1dG9yc1xuICAgKi9cbiAgY29udHJpYnV0b3JzPzogQ29udHJpYnV0b3JbXVxuXG4gIC8qKlxuICAgKiBEYXRhIHNvdXJjZXMgZm9yIHRoaXMgcGFja2FnZVxuICAgKi9cbiAgc291cmNlcz86IFNvdXJjZVtdXG5cbiAgLyoqXG4gICAqIEtleXdvcmRzIGZvciB0aGUgcGFja2FnZVxuICAgKi9cbiAga2V5d29yZHM/OiBzdHJpbmdbXVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGltZSBvZiB0aGUgcGFja2FnZVxuICAgKiBAZm9ybWF0IElTTyA4NjAxIGZvcm1hdFxuICAgKi9cbiAgY3JlYXRlZD86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBEYXRhIHJlc291cmNlcyBpbiB0aGlzIHBhY2thZ2UgKHJlcXVpcmVkKVxuICAgKi9cbiAgcmVzb3VyY2VzOiBSZXNvdXJjZVtdXG5cbiAgLyoqXG4gICAqIFBhY2thZ2UgaW1hZ2VcbiAgICovXG4gIGltYWdlPzogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { validatePackage } from "./validate.js";
|
|
2
|
+
export { loadPackage } from "./load.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9wYWNrYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHZhbGlkYXRlUGFja2FnZSB9IGZyb20gXCIuL3ZhbGlkYXRlLmpzXCJcbmV4cG9ydCB0eXBlIHsgUGFja2FnZSB9IGZyb20gXCIuL1BhY2thZ2UuanNcIlxuZXhwb3J0IHR5cGUgeyBDb250cmlidXRvciB9IGZyb20gXCIuL0NvbnRyaWJ1dG9yLmpzXCJcbmV4cG9ydCB7IGxvYWRQYWNrYWdlIH0gZnJvbSBcIi4vbG9hZC5qc1wiXG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { loadDescriptor } from "../descriptor/load.js";
|
|
2
|
+
export async function loadPackage(props) {
|
|
3
|
+
const descriptor = await loadDescriptor(props);
|
|
4
|
+
// TODO: validate descriptor against schema
|
|
5
|
+
return descriptor;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3BhY2thZ2UvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHdEQsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsS0FBdUI7SUFDdkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUMsMkNBQTJDO0lBQzNDLE9BQU8sVUFBcUIsQ0FBQTtBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZERlc2NyaXB0b3IgfSBmcm9tIFwiLi4vZGVzY3JpcHRvci9sb2FkLmpzXCJcbmltcG9ydCB0eXBlIHsgUGFja2FnZSB9IGZyb20gXCIuL1BhY2thZ2UuanNcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFBhY2thZ2UocHJvcHM6IHsgcGF0aDogc3RyaW5nIH0pIHtcbiAgY29uc3QgZGVzY3JpcHRvciA9IGF3YWl0IGxvYWREZXNjcmlwdG9yKHByb3BzKVxuICAvLyBUT0RPOiB2YWxpZGF0ZSBkZXNjcmlwdG9yIGFnYWluc3Qgc2NoZW1hXG4gIHJldHVybiBkZXNjcmlwdG9yIGFzIFBhY2thZ2Vcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { saveDescriptor } from "../descriptor/save.js";
|
|
2
|
+
/**
|
|
3
|
+
* Save a Package to a file path
|
|
4
|
+
* Works in Node.js environments
|
|
5
|
+
*/
|
|
6
|
+
export async function savePackage(props) {
|
|
7
|
+
const { package: pkg, path } = props;
|
|
8
|
+
return saveDescriptor({
|
|
9
|
+
descriptor: pkg,
|
|
10
|
+
path,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3BhY2thZ2Uvc2F2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHdEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsS0FHakM7SUFDQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFcEMsT0FBTyxjQUFjLENBQUM7UUFDcEIsVUFBVSxFQUFFLEdBQUc7UUFDZixJQUFJO0tBQ0wsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNhdmVEZXNjcmlwdG9yIH0gZnJvbSBcIi4uL2Rlc2NyaXB0b3Ivc2F2ZS5qc1wiXG5pbXBvcnQgdHlwZSB7IFBhY2thZ2UgfSBmcm9tIFwiLi9QYWNrYWdlLmpzXCJcblxuLyoqXG4gKiBTYXZlIGEgUGFja2FnZSB0byBhIGZpbGUgcGF0aFxuICogV29ya3MgaW4gTm9kZS5qcyBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVQYWNrYWdlKHByb3BzOiB7XG4gIHBhY2thZ2U6IFBhY2thZ2VcbiAgcGF0aDogc3RyaW5nXG59KSB7XG4gIGNvbnN0IHsgcGFja2FnZTogcGtnLCBwYXRoIH0gPSBwcm9wc1xuXG4gIHJldHVybiBzYXZlRGVzY3JpcHRvcih7XG4gICAgZGVzY3JpcHRvcjogcGtnLFxuICAgIHBhdGgsXG4gIH0pXG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function validatePackage(dpackage: string): Promise<string>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export async function validatePackage(dpackage) {
|
|
2
|
+
return dpackage;
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9wYWNrYWdlL3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLFFBQWdCO0lBQ3BELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVQYWNrYWdlKGRwYWNrYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGRwYWNrYWdlXG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* License information
|
|
3
|
+
*/
|
|
4
|
+
export interface License {
|
|
5
|
+
/**
|
|
6
|
+
* The name of the license
|
|
7
|
+
* @example "MIT", "Apache-2.0"
|
|
8
|
+
*/
|
|
9
|
+
name?: string;
|
|
10
|
+
/**
|
|
11
|
+
* A URL to the license text
|
|
12
|
+
*/
|
|
13
|
+
path?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Human-readable title of the license
|
|
16
|
+
*/
|
|
17
|
+
title?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGljZW5zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Jlc291cmNlL0xpY2Vuc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGljZW5zZSBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpY2Vuc2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxpY2Vuc2VcbiAgICogQGV4YW1wbGUgXCJNSVRcIiwgXCJBcGFjaGUtMi4wXCJcbiAgICovXG4gIG5hbWU/OiBzdHJpbmdcblxuICAvKipcbiAgICogQSBVUkwgdG8gdGhlIGxpY2Vuc2UgdGV4dFxuICAgKi9cbiAgcGF0aD86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSB0aXRsZSBvZiB0aGUgbGljZW5zZVxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { License } from "./License.js";
|
|
2
|
+
import type { Source } from "./Source.js";
|
|
3
|
+
/**
|
|
4
|
+
* Data Resource interface based on the Frictionless Data specification
|
|
5
|
+
* @see https://datapackage.org/standard/data-resource/
|
|
6
|
+
*/
|
|
7
|
+
export interface Resource {
|
|
8
|
+
/**
|
|
9
|
+
* Unique resource identifier
|
|
10
|
+
* Should use lowercase alphanumeric characters, periods, hyphens, and underscores
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* A reference to the data itself, can be a path URL or array of paths
|
|
15
|
+
* Either path or data must be provided
|
|
16
|
+
*/
|
|
17
|
+
path?: string | string[];
|
|
18
|
+
/**
|
|
19
|
+
* Inline data content instead of referencing an external file
|
|
20
|
+
* Either path or data must be provided
|
|
21
|
+
*/
|
|
22
|
+
data?: unknown;
|
|
23
|
+
/**
|
|
24
|
+
* The resource type
|
|
25
|
+
* @example "table"
|
|
26
|
+
*/
|
|
27
|
+
type?: "table";
|
|
28
|
+
/**
|
|
29
|
+
* The file format
|
|
30
|
+
* @example "csv", "json", "xlsx"
|
|
31
|
+
*/
|
|
32
|
+
format?: string;
|
|
33
|
+
/**
|
|
34
|
+
* The media type of the resource
|
|
35
|
+
* @example "text/csv", "application/json"
|
|
36
|
+
*/
|
|
37
|
+
mediatype?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Character encoding of the resource
|
|
40
|
+
* @default "utf-8"
|
|
41
|
+
*/
|
|
42
|
+
encoding?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Human-readable title
|
|
45
|
+
*/
|
|
46
|
+
title?: string;
|
|
47
|
+
/**
|
|
48
|
+
* A description of the resource
|
|
49
|
+
*/
|
|
50
|
+
description?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Size of the file in bytes
|
|
53
|
+
*/
|
|
54
|
+
bytes?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Hash of the resource data
|
|
57
|
+
*/
|
|
58
|
+
hash?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Data sources
|
|
61
|
+
*/
|
|
62
|
+
sources?: Source[];
|
|
63
|
+
/**
|
|
64
|
+
* License information
|
|
65
|
+
*/
|
|
66
|
+
licenses?: License[];
|
|
67
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvdXJjZS9SZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaWNlbnNlIH0gZnJvbSBcIi4vTGljZW5zZS5qc1wiXG5pbXBvcnQgdHlwZSB7IFNvdXJjZSB9IGZyb20gXCIuL1NvdXJjZS5qc1wiXG5cbi8qKlxuICogRGF0YSBSZXNvdXJjZSBpbnRlcmZhY2UgYmFzZWQgb24gdGhlIEZyaWN0aW9ubGVzcyBEYXRhIHNwZWNpZmljYXRpb25cbiAqIEBzZWUgaHR0cHM6Ly9kYXRhcGFja2FnZS5vcmcvc3RhbmRhcmQvZGF0YS1yZXNvdXJjZS9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBVbmlxdWUgcmVzb3VyY2UgaWRlbnRpZmllclxuICAgKiBTaG91bGQgdXNlIGxvd2VyY2FzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgcGVyaW9kcywgaHlwaGVucywgYW5kIHVuZGVyc2NvcmVzXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIGRhdGEgaXRzZWxmLCBjYW4gYmUgYSBwYXRoIFVSTCBvciBhcnJheSBvZiBwYXRoc1xuICAgKiBFaXRoZXIgcGF0aCBvciBkYXRhIG11c3QgYmUgcHJvdmlkZWRcbiAgICovXG4gIHBhdGg/OiBzdHJpbmcgfCBzdHJpbmdbXVxuXG4gIC8qKlxuICAgKiBJbmxpbmUgZGF0YSBjb250ZW50IGluc3RlYWQgb2YgcmVmZXJlbmNpbmcgYW4gZXh0ZXJuYWwgZmlsZVxuICAgKiBFaXRoZXIgcGF0aCBvciBkYXRhIG11c3QgYmUgcHJvdmlkZWRcbiAgICovXG4gIGRhdGE/OiB1bmtub3duXG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSB0eXBlXG4gICAqIEBleGFtcGxlIFwidGFibGVcIlxuICAgKi9cbiAgdHlwZT86IFwidGFibGVcIlxuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSBmb3JtYXRcbiAgICogQGV4YW1wbGUgXCJjc3ZcIiwgXCJqc29uXCIsIFwieGxzeFwiXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIG1lZGlhIHR5cGUgb2YgdGhlIHJlc291cmNlXG4gICAqIEBleGFtcGxlIFwidGV4dC9jc3ZcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICovXG4gIG1lZGlhdHlwZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBDaGFyYWN0ZXIgZW5jb2Rpbmcgb2YgdGhlIHJlc291cmNlXG4gICAqIEBkZWZhdWx0IFwidXRmLThcIlxuICAgKi9cbiAgZW5jb2Rpbmc/OiBzdHJpbmdcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgdGl0bGVcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHJlc291cmNlXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBmaWxlIGluIGJ5dGVzXG4gICAqL1xuICBieXRlcz86IG51bWJlclxuXG4gIC8qKlxuICAgKiBIYXNoIG9mIHRoZSByZXNvdXJjZSBkYXRhXG4gICAqL1xuICBoYXNoPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIERhdGEgc291cmNlc1xuICAgKi9cbiAgc291cmNlcz86IFNvdXJjZVtdXG5cbiAgLyoqXG4gICAqIExpY2Vuc2UgaW5mb3JtYXRpb25cbiAgICovXG4gIGxpY2Vuc2VzPzogTGljZW5zZVtdXG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source information
|
|
3
|
+
*/
|
|
4
|
+
export interface Source {
|
|
5
|
+
/**
|
|
6
|
+
* Human-readable title of the source
|
|
7
|
+
*/
|
|
8
|
+
title?: string;
|
|
9
|
+
/**
|
|
10
|
+
* URL or path to the source
|
|
11
|
+
*/
|
|
12
|
+
path?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Email contact for the source
|
|
15
|
+
*/
|
|
16
|
+
email?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vcmVzb3VyY2UvU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNvdXJjZSBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZSB7XG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSB0aXRsZSBvZiB0aGUgc291cmNlXG4gICAqL1xuICB0aXRsZT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBVUkwgb3IgcGF0aCB0byB0aGUgc291cmNlXG4gICAqL1xuICBwYXRoPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEVtYWlsIGNvbnRhY3QgZm9yIHRoZSBzb3VyY2VcbiAgICovXG4gIGVtYWlsPzogc3RyaW5nXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { validateResource } from "./validate.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvdXJjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB2YWxpZGF0ZVJlc291cmNlIH0gZnJvbSBcIi4vdmFsaWRhdGUuanNcIlxuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gXCIuL1Jlc291cmNlLmpzXCJcbmV4cG9ydCB0eXBlIHsgU291cmNlIH0gZnJvbSBcIi4vU291cmNlLmpzXCJcbmV4cG9ydCB0eXBlIHsgTGljZW5zZSB9IGZyb20gXCIuL0xpY2Vuc2UuanNcIlxuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi90eXBlcy9pbmRleC5qc1wiXG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { saveDescriptor } from "../descriptor/save.js";
|
|
2
|
+
/**
|
|
3
|
+
* Save a Resource to a file path
|
|
4
|
+
* Works in Node.js environments
|
|
5
|
+
*/
|
|
6
|
+
export async function saveResource(props) {
|
|
7
|
+
const { resource, path } = props;
|
|
8
|
+
return saveDescriptor({
|
|
9
|
+
descriptor: resource,
|
|
10
|
+
path,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Jlc291cmNlL3NhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBR3REOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLEtBR2xDO0lBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUE7SUFFaEMsT0FBTyxjQUFjLENBQUM7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsSUFBSTtLQUNMLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYXZlRGVzY3JpcHRvciB9IGZyb20gXCIuLi9kZXNjcmlwdG9yL3NhdmUuanNcIlxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gXCIuL1Jlc291cmNlLmpzXCJcblxuLyoqXG4gKiBTYXZlIGEgUmVzb3VyY2UgdG8gYSBmaWxlIHBhdGhcbiAqIFdvcmtzIGluIE5vZGUuanMgZW52aXJvbm1lbnRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzYXZlUmVzb3VyY2UocHJvcHM6IHtcbiAgcmVzb3VyY2U6IFJlc291cmNlXG4gIHBhdGg6IHN0cmluZ1xufSkge1xuICBjb25zdCB7IHJlc291cmNlLCBwYXRoIH0gPSBwcm9wc1xuXG4gIHJldHVybiBzYXZlRGVzY3JpcHRvcih7XG4gICAgZGVzY3JpcHRvcjogcmVzb3VyY2UsXG4gICAgcGF0aCxcbiAgfSlcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { TableResource } from "./table.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9yZXNvdXJjZS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBUYWJsZVJlc291cmNlIH0gZnJvbSBcIi4vdGFibGUuanNcIlxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Dialect } from "../../dialect/Dialect.js";
|
|
2
|
+
import type { Resource } from "../../resource/Resource.js";
|
|
3
|
+
import type { Schema } from "../../schema/Schema.js";
|
|
4
|
+
/**
|
|
5
|
+
* Table Resource interface extending the base Resource interface
|
|
6
|
+
* @see https://datapackage.org/standard/table-resource/
|
|
7
|
+
*/
|
|
8
|
+
export interface TableResource extends Resource {
|
|
9
|
+
/**
|
|
10
|
+
* Resource type must be "table"
|
|
11
|
+
*/
|
|
12
|
+
type: "table";
|
|
13
|
+
/**
|
|
14
|
+
* Inline tabular data
|
|
15
|
+
*/
|
|
16
|
+
data: any[][] | Record<string, any>[];
|
|
17
|
+
/**
|
|
18
|
+
* CSV dialect specification
|
|
19
|
+
* Describes delimiters, quote characters, etc.
|
|
20
|
+
* @see https://datapackage.org/standard/table-dialect/
|
|
21
|
+
*/
|
|
22
|
+
dialect?: Dialect;
|
|
23
|
+
/**
|
|
24
|
+
* Schema for the tabular data
|
|
25
|
+
* Describes fields in the table, constraints, etc.
|
|
26
|
+
* @see https://datapackage.org/standard/table-schema/
|
|
27
|
+
*/
|
|
28
|
+
schema: Schema;
|
|
29
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9yZXNvdXJjZS90eXBlcy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaWFsZWN0IH0gZnJvbSBcIi4uLy4uL2RpYWxlY3QvRGlhbGVjdC5qc1wiXG5pbXBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlL1Jlc291cmNlLmpzXCJcbmltcG9ydCB0eXBlIHsgU2NoZW1hIH0gZnJvbSBcIi4uLy4uL3NjaGVtYS9TY2hlbWEuanNcIlxuXG4vKipcbiAqIFRhYmxlIFJlc291cmNlIGludGVyZmFjZSBleHRlbmRpbmcgdGhlIGJhc2UgUmVzb3VyY2UgaW50ZXJmYWNlXG4gKiBAc2VlIGh0dHBzOi8vZGF0YXBhY2thZ2Uub3JnL3N0YW5kYXJkL3RhYmxlLXJlc291cmNlL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUmVzb3VyY2UgZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSB0eXBlIG11c3QgYmUgXCJ0YWJsZVwiXG4gICAqL1xuICB0eXBlOiBcInRhYmxlXCJcblxuICAvKipcbiAgICogSW5saW5lIHRhYnVsYXIgZGF0YVxuICAgKi9cbiAgZGF0YTogYW55W11bXSB8IFJlY29yZDxzdHJpbmcsIGFueT5bXVxuXG4gIC8qKlxuICAgKiBDU1YgZGlhbGVjdCBzcGVjaWZpY2F0aW9uXG4gICAqIERlc2NyaWJlcyBkZWxpbWl0ZXJzLCBxdW90ZSBjaGFyYWN0ZXJzLCBldGMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kYXRhcGFja2FnZS5vcmcvc3RhbmRhcmQvdGFibGUtZGlhbGVjdC9cbiAgICovXG4gIGRpYWxlY3Q/OiBEaWFsZWN0XG5cbiAgLyoqXG4gICAqIFNjaGVtYSBmb3IgdGhlIHRhYnVsYXIgZGF0YVxuICAgKiBEZXNjcmliZXMgZmllbGRzIGluIHRoZSB0YWJsZSwgY29uc3RyYWludHMsIGV0Yy5cbiAgICogQHNlZSBodHRwczovL2RhdGFwYWNrYWdlLm9yZy9zdGFuZGFyZC90YWJsZS1zY2hlbWEvXG4gICAqL1xuICBzY2hlbWE6IFNjaGVtYVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function validateResource(resource: string): Promise<string>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export async function validateResource(resource) {
|
|
2
|
+
return resource;
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvdXJjZS92YWxpZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUFDLFFBQWdCO0lBQ3JELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVSZXNvdXJjZShyZXNvdXJjZTogc3RyaW5nKSB7XG4gIHJldHVybiByZXNvdXJjZVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type * as fields from "./fields/index.js";
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zY2hlbWEvRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgZmllbGRzIGZyb20gXCIuL2ZpZWxkcy9pbmRleC5qc1wiXG5cbi8qKlxuICogQSBUYWJsZSBTY2hlbWEgZmllbGRcbiAqL1xuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IGZpZWxkcy5TdHJpbmdGaWVsZFxuICB8IGZpZWxkcy5OdW1iZXJGaWVsZFxuICB8IGZpZWxkcy5JbnRlZ2VyRmllbGRcbiAgfCBmaWVsZHMuQm9vbGVhbkZpZWxkXG4gIHwgZmllbGRzLk9iamVjdEZpZWxkXG4gIHwgZmllbGRzLkFycmF5RmllbGRcbiAgfCBmaWVsZHMuTGlzdEZpZWxkXG4gIHwgZmllbGRzLkRhdGVGaWVsZFxuICB8IGZpZWxkcy5UaW1lRmllbGRcbiAgfCBmaWVsZHMuRGF0ZXRpbWVGaWVsZFxuICB8IGZpZWxkcy5ZZWFyRmllbGRcbiAgfCBmaWVsZHMuWWVhcm1vbnRoRmllbGRcbiAgfCBmaWVsZHMuRHVyYXRpb25GaWVsZFxuICB8IGZpZWxkcy5HZW9wb2ludEZpZWxkXG4gIHwgZmllbGRzLkdlb2pzb25GaWVsZFxuICB8IGZpZWxkcy5BbnlGaWVsZFxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Field } from "./Field.js";
|
|
2
|
+
/**
|
|
3
|
+
* Table Schema definition
|
|
4
|
+
* Based on the specification at https://datapackage.org/standard/table-schema/
|
|
5
|
+
*/
|
|
6
|
+
export interface Schema {
|
|
7
|
+
/**
|
|
8
|
+
* Fields in this schema (required)
|
|
9
|
+
*/
|
|
10
|
+
fields: Field[];
|
|
11
|
+
/**
|
|
12
|
+
* URL of schema (optional)
|
|
13
|
+
*/
|
|
14
|
+
$schema?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Field matching rule (optional)
|
|
17
|
+
* Default: "exact"
|
|
18
|
+
*/
|
|
19
|
+
fieldsMatch?: "exact" | "equal" | "subset" | "superset" | "partial";
|
|
20
|
+
/**
|
|
21
|
+
* Values representing missing data (optional)
|
|
22
|
+
* Default: [""]
|
|
23
|
+
*/
|
|
24
|
+
missingValues?: string[];
|
|
25
|
+
/**
|
|
26
|
+
* Fields uniquely identifying each row (optional)
|
|
27
|
+
*/
|
|
28
|
+
primaryKey?: string[];
|
|
29
|
+
/**
|
|
30
|
+
* Field combinations that must be unique (optional)
|
|
31
|
+
*/
|
|
32
|
+
uniqueKeys?: string[][];
|
|
33
|
+
/**
|
|
34
|
+
* Foreign key relationships (optional)
|
|
35
|
+
*/
|
|
36
|
+
foreignKeys?: {
|
|
37
|
+
/**
|
|
38
|
+
* Source field(s) in this schema
|
|
39
|
+
*/
|
|
40
|
+
fields: string[];
|
|
41
|
+
/**
|
|
42
|
+
* Reference to fields in another resource
|
|
43
|
+
*/
|
|
44
|
+
reference: {
|
|
45
|
+
/**
|
|
46
|
+
* Target resource name (optional)
|
|
47
|
+
*/
|
|
48
|
+
resource?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Target field(s) in the referenced resource
|
|
51
|
+
*/
|
|
52
|
+
fields: string[];
|
|
53
|
+
};
|
|
54
|
+
}[];
|
|
55
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc2NoZW1hL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gXCIuL0ZpZWxkLmpzXCJcblxuLyoqXG4gKiBUYWJsZSBTY2hlbWEgZGVmaW5pdGlvblxuICogQmFzZWQgb24gdGhlIHNwZWNpZmljYXRpb24gYXQgaHR0cHM6Ly9kYXRhcGFja2FnZS5vcmcvc3RhbmRhcmQvdGFibGUtc2NoZW1hL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gIC8qKlxuICAgKiBGaWVsZHMgaW4gdGhpcyBzY2hlbWEgKHJlcXVpcmVkKVxuICAgKi9cbiAgZmllbGRzOiBGaWVsZFtdXG5cbiAgLyoqXG4gICAqIFVSTCBvZiBzY2hlbWEgKG9wdGlvbmFsKVxuICAgKi9cbiAgJHNjaGVtYT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBGaWVsZCBtYXRjaGluZyBydWxlIChvcHRpb25hbClcbiAgICogRGVmYXVsdDogXCJleGFjdFwiXG4gICAqL1xuICBmaWVsZHNNYXRjaD86IFwiZXhhY3RcIiB8IFwiZXF1YWxcIiB8IFwic3Vic2V0XCIgfCBcInN1cGVyc2V0XCIgfCBcInBhcnRpYWxcIlxuXG4gIC8qKlxuICAgKiBWYWx1ZXMgcmVwcmVzZW50aW5nIG1pc3NpbmcgZGF0YSAob3B0aW9uYWwpXG4gICAqIERlZmF1bHQ6IFtcIlwiXVxuICAgKi9cbiAgbWlzc2luZ1ZhbHVlcz86IHN0cmluZ1tdXG5cbiAgLyoqXG4gICAqIEZpZWxkcyB1bmlxdWVseSBpZGVudGlmeWluZyBlYWNoIHJvdyAob3B0aW9uYWwpXG4gICAqL1xuICBwcmltYXJ5S2V5Pzogc3RyaW5nW11cblxuICAvKipcbiAgICogRmllbGQgY29tYmluYXRpb25zIHRoYXQgbXVzdCBiZSB1bmlxdWUgKG9wdGlvbmFsKVxuICAgKi9cbiAgdW5pcXVlS2V5cz86IHN0cmluZ1tdW11cblxuICAvKipcbiAgICogRm9yZWlnbiBrZXkgcmVsYXRpb25zaGlwcyAob3B0aW9uYWwpXG4gICAqL1xuICBmb3JlaWduS2V5cz86IHtcbiAgICAvKipcbiAgICAgKiBTb3VyY2UgZmllbGQocykgaW4gdGhpcyBzY2hlbWFcbiAgICAgKi9cbiAgICBmaWVsZHM6IHN0cmluZ1tdXG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gZmllbGRzIGluIGFub3RoZXIgcmVzb3VyY2VcbiAgICAgKi9cbiAgICByZWZlcmVuY2U6IHtcbiAgICAgIC8qKlxuICAgICAgICogVGFyZ2V0IHJlc291cmNlIG5hbWUgKG9wdGlvbmFsKVxuICAgICAgICovXG4gICAgICByZXNvdXJjZT86IHN0cmluZ1xuXG4gICAgICAvKipcbiAgICAgICAqIFRhcmdldCBmaWVsZChzKSBpbiB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZVxuICAgICAgICovXG4gICAgICBmaWVsZHM6IHN0cmluZ1tdXG4gICAgfVxuICB9W11cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BaseConstraints, BaseField } from "./base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Any field type (unspecified/mixed)
|
|
4
|
+
*/
|
|
5
|
+
export interface AnyField extends BaseField<AnyConstraints> {
|
|
6
|
+
/**
|
|
7
|
+
* Field type - discriminator property
|
|
8
|
+
*/
|
|
9
|
+
type?: "any";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Any field constraints
|
|
13
|
+
*/
|
|
14
|
+
export interface AnyConstraints extends BaseConstraints {
|
|
15
|
+
/**
|
|
16
|
+
* Restrict values to a specified set
|
|
17
|
+
* For any field type, can be an array of any values
|
|
18
|
+
*/
|
|
19
|
+
enum?: any[];
|
|
20
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2NoZW1hL2ZpZWxkcy9hbnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZUNvbnN0cmFpbnRzLCBCYXNlRmllbGQgfSBmcm9tIFwiLi9iYXNlLmpzXCJcblxuLyoqXG4gKiBBbnkgZmllbGQgdHlwZSAodW5zcGVjaWZpZWQvbWl4ZWQpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW55RmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8QW55Q29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlPzogXCJhbnlcIlxufVxuXG4vKipcbiAqIEFueSBmaWVsZCBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFueUNvbnN0cmFpbnRzIGV4dGVuZHMgQmFzZUNvbnN0cmFpbnRzIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHZhbHVlcyB0byBhIHNwZWNpZmllZCBzZXRcbiAgICogRm9yIGFueSBmaWVsZCB0eXBlLCBjYW4gYmUgYW4gYXJyYXkgb2YgYW55IHZhbHVlc1xuICAgKi9cbiAgZW51bT86IGFueVtdXG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BaseConstraints, BaseField } from "./base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Array field type (serialized JSON array)
|
|
4
|
+
*/
|
|
5
|
+
export interface ArrayField extends BaseField<ArrayConstraints> {
|
|
6
|
+
/**
|
|
7
|
+
* Field type - discriminator property
|
|
8
|
+
*/
|
|
9
|
+
type: "array";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Array-specific constraints
|
|
13
|
+
*/
|
|
14
|
+
export interface ArrayConstraints extends BaseConstraints {
|
|
15
|
+
/**
|
|
16
|
+
* Minimum array length
|
|
17
|
+
*/
|
|
18
|
+
minLength?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Maximum array length
|
|
21
|
+
*/
|
|
22
|
+
maxLength?: number;
|
|
23
|
+
/**
|
|
24
|
+
* JSON Schema object for validating array items
|
|
25
|
+
*/
|
|
26
|
+
jsonSchema?: Record<string, any>;
|
|
27
|
+
/**
|
|
28
|
+
* Restrict values to a specified set of arrays
|
|
29
|
+
* Serialized as JSON strings or parsed array objects
|
|
30
|
+
*/
|
|
31
|
+
enum?: string[] | any[][];
|
|
32
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zY2hlbWEvZmllbGRzL2FycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJhc2VDb25zdHJhaW50cywgQmFzZUZpZWxkIH0gZnJvbSBcIi4vYmFzZS5qc1wiXG5cbi8qKlxuICogQXJyYXkgZmllbGQgdHlwZSAoc2VyaWFsaXplZCBKU09OIGFycmF5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5RmllbGQgZXh0ZW5kcyBCYXNlRmllbGQ8QXJyYXlDb25zdHJhaW50cz4ge1xuICAvKipcbiAgICogRmllbGQgdHlwZSAtIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICovXG4gIHR5cGU6IFwiYXJyYXlcIlxufVxuXG4vKipcbiAqIEFycmF5LXNwZWNpZmljIGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJyYXlDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIGFycmF5IGxlbmd0aFxuICAgKi9cbiAgbWluTGVuZ3RoPzogbnVtYmVyXG5cbiAgLyoqXG4gICAqIE1heGltdW0gYXJyYXkgbGVuZ3RoXG4gICAqL1xuICBtYXhMZW5ndGg/OiBudW1iZXJcblxuICAvKipcbiAgICogSlNPTiBTY2hlbWEgb2JqZWN0IGZvciB2YWxpZGF0aW5nIGFycmF5IGl0ZW1zXG4gICAqL1xuICBqc29uU2NoZW1hPzogUmVjb3JkPHN0cmluZywgYW55PlxuXG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0IG9mIGFycmF5c1xuICAgKiBTZXJpYWxpemVkIGFzIEpTT04gc3RyaW5ncyBvciBwYXJzZWQgYXJyYXkgb2JqZWN0c1xuICAgKi9cbiAgZW51bT86IHN0cmluZ1tdIHwgYW55W11bXVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base field properties common to all field types
|
|
3
|
+
*/
|
|
4
|
+
export interface BaseField<T = BaseConstraints> {
|
|
5
|
+
/**
|
|
6
|
+
* Name of the field matching the column name
|
|
7
|
+
*/
|
|
8
|
+
name: string;
|
|
9
|
+
/**
|
|
10
|
+
* Human-readable title
|
|
11
|
+
*/
|
|
12
|
+
title?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Human-readable description
|
|
15
|
+
*/
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Example value for this field
|
|
19
|
+
*/
|
|
20
|
+
example?: any;
|
|
21
|
+
/**
|
|
22
|
+
* URI for semantic type (RDF)
|
|
23
|
+
*/
|
|
24
|
+
rdfType?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Validation constraints applied to values
|
|
27
|
+
*/
|
|
28
|
+
constraints?: T;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Base constraints that can be applied to any field type
|
|
32
|
+
*/
|
|
33
|
+
export interface BaseConstraints {
|
|
34
|
+
/**
|
|
35
|
+
* Indicates if field is allowed to be null/empty
|
|
36
|
+
*/
|
|
37
|
+
required?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Indicates if values must be unique within the column
|
|
40
|
+
*/
|
|
41
|
+
unique?: boolean;
|
|
42
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NjaGVtYS9maWVsZHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCYXNlIGZpZWxkIHByb3BlcnRpZXMgY29tbW9uIHRvIGFsbCBmaWVsZCB0eXBlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VGaWVsZDxUID0gQmFzZUNvbnN0cmFpbnRzPiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmaWVsZCBtYXRjaGluZyB0aGUgY29sdW1uIG5hbWVcbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmdcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb25cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEV4YW1wbGUgdmFsdWUgZm9yIHRoaXMgZmllbGRcbiAgICovXG4gIGV4YW1wbGU/OiBhbnlcblxuICAvKipcbiAgICogVVJJIGZvciBzZW1hbnRpYyB0eXBlIChSREYpXG4gICAqL1xuICByZGZUeXBlPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFZhbGlkYXRpb24gY29uc3RyYWludHMgYXBwbGllZCB0byB2YWx1ZXNcbiAgICovXG4gIGNvbnN0cmFpbnRzPzogVFxufVxuXG4vKipcbiAqIEJhc2UgY29uc3RyYWludHMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhbnkgZmllbGQgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZmllbGQgaXMgYWxsb3dlZCB0byBiZSBudWxsL2VtcHR5XG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHZhbHVlcyBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbHVtblxuICAgKi9cbiAgdW5pcXVlPzogYm9vbGVhblxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BaseConstraints, BaseField } from "./base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Boolean field type
|
|
4
|
+
*/
|
|
5
|
+
export interface BooleanField extends BaseField<BooleanConstraints> {
|
|
6
|
+
/**
|
|
7
|
+
* Field type - discriminator property
|
|
8
|
+
*/
|
|
9
|
+
type: "boolean";
|
|
10
|
+
/**
|
|
11
|
+
* Values that represent true
|
|
12
|
+
*/
|
|
13
|
+
trueValues?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Values that represent false
|
|
16
|
+
*/
|
|
17
|
+
falseValues?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Boolean-specific constraints
|
|
21
|
+
*/
|
|
22
|
+
export interface BooleanConstraints extends BaseConstraints {
|
|
23
|
+
/**
|
|
24
|
+
* Restrict values to a specified set
|
|
25
|
+
* Can be an array of booleans or strings that parse to booleans
|
|
26
|
+
*/
|
|
27
|
+
enum?: boolean[] | string[];
|
|
28
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NjaGVtYS9maWVsZHMvYm9vbGVhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL2Jhc2UuanNcIlxuXG4vKipcbiAqIEJvb2xlYW4gZmllbGQgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJvb2xlYW5GaWVsZCBleHRlbmRzIEJhc2VGaWVsZDxCb29sZWFuQ29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImJvb2xlYW5cIlxuXG4gIC8qKlxuICAgKiBWYWx1ZXMgdGhhdCByZXByZXNlbnQgdHJ1ZVxuICAgKi9cbiAgdHJ1ZVZhbHVlcz86IHN0cmluZ1tdXG5cbiAgLyoqXG4gICAqIFZhbHVlcyB0aGF0IHJlcHJlc2VudCBmYWxzZVxuICAgKi9cbiAgZmFsc2VWYWx1ZXM/OiBzdHJpbmdbXVxufVxuXG4vKipcbiAqIEJvb2xlYW4tc3BlY2lmaWMgY29uc3RyYWludHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCb29sZWFuQ29uc3RyYWludHMgZXh0ZW5kcyBCYXNlQ29uc3RyYWludHMge1xuICAvKipcbiAgICogUmVzdHJpY3QgdmFsdWVzIHRvIGEgc3BlY2lmaWVkIHNldFxuICAgKiBDYW4gYmUgYW4gYXJyYXkgb2YgYm9vbGVhbnMgb3Igc3RyaW5ncyB0aGF0IHBhcnNlIHRvIGJvb2xlYW5zXG4gICAqL1xuICBlbnVtPzogYm9vbGVhbltdIHwgc3RyaW5nW11cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { BaseConstraints, BaseField } from "./base.js";
|
|
2
|
+
/**
|
|
3
|
+
* Date field type
|
|
4
|
+
*/
|
|
5
|
+
export interface DateField extends BaseField<DateConstraints> {
|
|
6
|
+
/**
|
|
7
|
+
* Field type - discriminator property
|
|
8
|
+
*/
|
|
9
|
+
type: "date";
|
|
10
|
+
/**
|
|
11
|
+
* Format of the date
|
|
12
|
+
* - default: YYYY-MM-DD
|
|
13
|
+
* - any: flexible date parsing (not recommended)
|
|
14
|
+
* - Or custom strptime/strftime format string
|
|
15
|
+
*/
|
|
16
|
+
format?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Date-specific constraints
|
|
20
|
+
*/
|
|
21
|
+
export interface DateConstraints extends BaseConstraints {
|
|
22
|
+
/**
|
|
23
|
+
* Minimum allowed date value
|
|
24
|
+
*/
|
|
25
|
+
minimum?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum allowed date value
|
|
28
|
+
*/
|
|
29
|
+
maximum?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Restrict values to a specified set of dates
|
|
32
|
+
* Should be in string date format (e.g., "YYYY-MM-DD")
|
|
33
|
+
*/
|
|
34
|
+
enum?: string[];
|
|
35
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NjaGVtYS9maWVsZHMvZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCYXNlQ29uc3RyYWludHMsIEJhc2VGaWVsZCB9IGZyb20gXCIuL2Jhc2UuanNcIlxuXG4vKipcbiAqIERhdGUgZmllbGQgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVGaWVsZCBleHRlbmRzIEJhc2VGaWVsZDxEYXRlQ29uc3RyYWludHM+IHtcbiAgLyoqXG4gICAqIEZpZWxkIHR5cGUgLSBkaXNjcmltaW5hdG9yIHByb3BlcnR5XG4gICAqL1xuICB0eXBlOiBcImRhdGVcIlxuXG4gIC8qKlxuICAgKiBGb3JtYXQgb2YgdGhlIGRhdGVcbiAgICogLSBkZWZhdWx0OiBZWVlZLU1NLUREXG4gICAqIC0gYW55OiBmbGV4aWJsZSBkYXRlIHBhcnNpbmcgKG5vdCByZWNvbW1lbmRlZClcbiAgICogLSBPciBjdXN0b20gc3RycHRpbWUvc3RyZnRpbWUgZm9ybWF0IHN0cmluZ1xuICAgKi9cbiAgZm9ybWF0Pzogc3RyaW5nXG59XG5cbi8qKlxuICogRGF0ZS1zcGVjaWZpYyBjb25zdHJhaW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVDb25zdHJhaW50cyBleHRlbmRzIEJhc2VDb25zdHJhaW50cyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIGFsbG93ZWQgZGF0ZSB2YWx1ZVxuICAgKi9cbiAgbWluaW11bT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGFsbG93ZWQgZGF0ZSB2YWx1ZVxuICAgKi9cbiAgbWF4aW11bT86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBSZXN0cmljdCB2YWx1ZXMgdG8gYSBzcGVjaWZpZWQgc2V0IG9mIGRhdGVzXG4gICAqIFNob3VsZCBiZSBpbiBzdHJpbmcgZGF0ZSBmb3JtYXQgKGUuZy4sIFwiWVlZWS1NTS1ERFwiKVxuICAgKi9cbiAgZW51bT86IHN0cmluZ1tdXG59XG4iXX0=
|