@comapeo/core 4.3.0 → 5.0.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/blob-store/downloader.d.ts +5 -2
  2. package/dist/blob-store/downloader.d.ts.map +1 -1
  3. package/dist/constants.d.ts +0 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/core-ownership.d.ts +2 -6
  6. package/dist/core-ownership.d.ts.map +1 -1
  7. package/dist/datatype/index.d.ts +30 -30
  8. package/dist/datatype/index.d.ts.map +1 -1
  9. package/dist/discovery/local-discovery.d.ts.map +1 -1
  10. package/dist/import-categories.d.ts +19 -0
  11. package/dist/import-categories.d.ts.map +1 -0
  12. package/dist/intl/iso639.d.ts +4 -0
  13. package/dist/intl/iso639.d.ts.map +1 -0
  14. package/dist/intl/parse-bcp-47.d.ts +22 -0
  15. package/dist/intl/parse-bcp-47.d.ts.map +1 -0
  16. package/dist/invite/invite-api.d.ts.map +1 -1
  17. package/dist/lib/drizzle-helpers.d.ts +19 -1
  18. package/dist/lib/drizzle-helpers.d.ts.map +1 -1
  19. package/dist/mapeo-manager.d.ts +15 -9
  20. package/dist/mapeo-manager.d.ts.map +1 -1
  21. package/dist/mapeo-project.d.ts +4969 -3017
  22. package/dist/mapeo-project.d.ts.map +1 -1
  23. package/dist/schema/client.d.ts +246 -232
  24. package/dist/schema/client.d.ts.map +1 -1
  25. package/dist/schema/comapeo-to-drizzle.d.ts +65 -0
  26. package/dist/schema/comapeo-to-drizzle.d.ts.map +1 -0
  27. package/dist/schema/json-schema-to-drizzle.d.ts +18 -0
  28. package/dist/schema/json-schema-to-drizzle.d.ts.map +1 -0
  29. package/dist/schema/project.d.ts +2711 -1835
  30. package/dist/schema/project.d.ts.map +1 -1
  31. package/dist/schema/types.d.ts +73 -66
  32. package/dist/schema/types.d.ts.map +1 -1
  33. package/dist/translation-api.d.ts +112 -192
  34. package/dist/translation-api.d.ts.map +1 -1
  35. package/dist/types.d.ts +9 -9
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/utils.d.ts +25 -3
  38. package/dist/utils.d.ts.map +1 -1
  39. package/drizzle/client/0004_glorious_shape.sql +1 -0
  40. package/drizzle/client/meta/0000_snapshot.json +13 -9
  41. package/drizzle/client/meta/0001_snapshot.json +13 -9
  42. package/drizzle/client/meta/0002_snapshot.json +13 -9
  43. package/drizzle/client/meta/0003_snapshot.json +13 -9
  44. package/drizzle/client/meta/0004_snapshot.json +239 -0
  45. package/drizzle/client/meta/_journal.json +7 -0
  46. package/drizzle/project/meta/0000_snapshot.json +43 -24
  47. package/drizzle/project/meta/0001_snapshot.json +47 -26
  48. package/drizzle/project/meta/0002_snapshot.json +47 -26
  49. package/package.json +17 -9
  50. package/src/constants.js +0 -3
  51. package/src/datatype/index.js +92 -39
  52. package/src/discovery/local-discovery.js +3 -2
  53. package/src/import-categories.js +368 -0
  54. package/src/index-writer/index.js +1 -1
  55. package/src/intl/iso639.js +8118 -0
  56. package/src/intl/parse-bcp-47.js +91 -0
  57. package/src/invite/invite-api.js +2 -0
  58. package/src/lib/drizzle-helpers.js +70 -18
  59. package/src/mapeo-manager.js +138 -88
  60. package/src/mapeo-project.js +72 -229
  61. package/src/roles.js +1 -1
  62. package/src/schema/client.js +22 -28
  63. package/src/schema/comapeo-to-drizzle.js +57 -0
  64. package/src/schema/{schema-to-drizzle.js → json-schema-to-drizzle.js} +25 -25
  65. package/src/schema/project.js +24 -37
  66. package/src/schema/types.ts +138 -99
  67. package/src/translation-api.js +65 -13
  68. package/src/types.ts +11 -20
  69. package/src/utils.js +37 -3
  70. package/dist/config-import.d.ts +0 -74
  71. package/dist/config-import.d.ts.map +0 -1
  72. package/dist/schema/schema-to-drizzle.d.ts +0 -20
  73. package/dist/schema/schema-to-drizzle.d.ts.map +0 -1
  74. package/dist/schema/utils.d.ts +0 -55
  75. package/dist/schema/utils.d.ts.map +0 -1
  76. package/src/config-import.js +0 -603
  77. package/src/schema/utils.js +0 -51
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/schema/project.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/schema/project.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAA8D;AAC9D;;;;;;;;;sBA2BwnC,CAAC;gBAA2B,CAAC;yBAAqC,CAAC;wBAA6K,CAAC;wBAAwR,CAAC;4BAA+K,CAAC;;4BAAyW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFA3B9lE;AAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAAkD;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAAgF;AAChF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAAoD;AACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAAkD;AAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFAAkE;AAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAAgD;AAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAA4D;AAC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAAoE;AACpE;;;;;;;;;;;;;;;;;;;;;;GAAoE;AACpE;;;;;;;;;;;;;;;;;;;;;;GAAwD;AACxD;;;;;;;;;;;;;;;;;;;;;;GAEC;AACD;;;;;;;;;;;;;;;;;;;;;;GAA0D;AAC1D;;;;;;;;;;;;;;;;;;;;;;GAAwD;AACxD;;;;;;;;;;;;;;;;;;;;;;GAAwE;AACxE;;;;;;;;;;;;;;;;;;;;;;GAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;GAAkE;AAClE;;;;;;;;;;;;;;;;;;;;;;GAAsD;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGE"}
@@ -1,83 +1,67 @@
1
1
  import { Includes, ReadonlyDeep } from 'type-fest';
2
2
  import { JSONSchema7 as JSONSchema7Writable, JSONSchema7Type } from 'json-schema';
3
- /** Convert optional properties to nullable */
4
- export type OptionalToNull<T extends {}> = {
5
- [K in keyof T]-?: undefined extends T[K] ? T[K] | null : T[K];
6
- };
3
+ import type { SQLiteBooleanBuilder, SQLiteIntegerBuilder, SQLiteRealBuilder, SQLiteTableWithColumns, SQLiteTextBuilder, SQLiteTextJsonBuilder } from 'drizzle-orm/sqlite-core';
4
+ import type { $Type, BuildColumns, ColumnBuilderBase, HasDefault, IsPrimaryKey, NotNull } from 'drizzle-orm';
7
5
  /** Convert a readonly array/object to writeable */
8
6
  type Writable<T> = {
9
7
  -readonly [P in keyof T]: T[P];
10
8
  };
11
- /** Type returned by text(columnName, { enum: [] }) */
12
- type TextBuilder<TName extends string, TEnum extends readonly [string, ...string[]], TNotNull extends boolean, THasDefault extends boolean> = import('drizzle-orm/sqlite-core').SQLiteTextBuilder<{
13
- name: TName;
14
- data: Writable<TEnum>[number];
15
- driverParam: string;
16
- columnType: 'SQLiteText';
17
- dataType: 'string';
18
- enumValues: Writable<TEnum>;
19
- notNull: TNotNull;
20
- hasDefault: THasDefault;
21
- }>;
22
- /** Type returned by integer(columnName, { mode: 'boolean' }) */
23
- type BooleanBuilder<TName extends string, TNotNull extends boolean, THasDefault extends boolean> = import('drizzle-orm/sqlite-core').SQLiteBooleanBuilder<{
24
- name: TName;
25
- data: boolean;
26
- driverParam: number;
27
- columnType: 'SQLiteBoolean';
28
- dataType: 'boolean';
29
- notNull: TNotNull;
30
- hasDefault: THasDefault;
31
- enumValues: undefined;
32
- }>;
33
- /** Type returned by real(columnName) */
34
- type RealBuilder<TName extends string, TNotNull extends boolean, THasDefault extends boolean> = import('drizzle-orm/sqlite-core').SQLiteRealBuilder<{
35
- name: TName;
36
- data: number;
37
- driverParam: number;
38
- columnType: 'SQLiteReal';
39
- dataType: 'number';
40
- notNull: TNotNull;
41
- hasDefault: THasDefault;
42
- enumValues: undefined;
43
- }>;
44
- /** Type returned by integer(columnName) */
45
- type IntegerBuilder<TName extends string, TNotNull extends boolean, THasDefault extends boolean> = import('drizzle-orm/sqlite-core').SQLiteIntegerBuilder<{
46
- name: TName;
47
- data: number;
48
- driverParam: number;
49
- columnType: 'SQLiteInteger';
50
- dataType: 'number';
51
- notNull: TNotNull;
52
- hasDefault: THasDefault;
53
- enumValues: undefined;
54
- }>;
55
- /** Type returned by the `customJson` custom type */
56
- type JsonBuilder<TName extends string, TData extends unknown, TNotNull extends boolean, THasDefault extends boolean> = import('drizzle-orm/sqlite-core').SQLiteCustomColumnBuilder<{
57
- name: TName;
58
- data: TData;
59
- dataType: 'custom';
60
- driverParam: string;
61
- columnType: 'SQLiteCustomColumn';
62
- notNull: TNotNull;
63
- hasDefault: THasDefault;
64
- enumValues: undefined;
65
- }>;
66
9
  export type JSONSchema7 = ReadonlyDeep<JSONSchema7Writable>;
67
10
  type JsonSchema7Properties = {
68
11
  readonly [K: string]: JSONSchema7;
69
12
  };
70
- export type JSONSchema7WithProps = Omit<JSONSchema7, 'properties'> & {
13
+ export type JSONSchema7Object = Omit<JSONSchema7, 'properties' | 'type'> & {
14
+ readonly type: 'object';
71
15
  readonly properties: JsonSchema7Properties;
72
16
  };
17
+ /**
18
+ * Create a Drizzle SQLite table definition from a JSONSchema object. All
19
+ * top-level properties map to SQLite columns, with `required` properties marked
20
+ * as `NOT NULL`, and JSONSchema `default` will map to SQLite defaults.
21
+ *
22
+ * Any properties that are of type `object` or `array` in the JSONSchema will be
23
+ * mapped to a text field, which drizzle will parse and stringify. Types for
24
+ * `object` and `array` properties will be derived from `TObjectType`.
25
+ */
26
+ export type JsonSchemaToDrizzleSqliteTable<
27
+ /** Typescript type for the object defined in the JSONSchema */
28
+ TObjectType extends {
29
+ [K in keyof TSchema['properties']]?: any;
30
+ },
31
+ /** The JSONSchema object schema */
32
+ TSchema extends JSONSchema7Object,
33
+ /** Name of the table to create */
34
+ TTableName extends string,
35
+ /** Additional columns to add to the table definition (e.g. not defined in JSONSchema ) */
36
+ TColumnsMap extends Record<string, ColumnBuilderBase> = {},
37
+ /** Name of the property to use as primary key */
38
+ TPrimaryKey extends keyof TSchema['properties'] | undefined = undefined> = SQLiteTableWithColumns<{
39
+ name: TTableName;
40
+ schema: undefined;
41
+ columns: BuildColumns<TTableName, JsonSchemaToDrizzleColumns<TObjectType, TSchema, TPrimaryKey> & TColumnsMap, 'sqlite'>;
42
+ dialect: 'sqlite';
43
+ }>;
44
+ /**
45
+ * Convert a JSONSchema Object Schema to a Drizzle Columns map (e.g. parameter
46
+ * for `sqliteTable()`). All top-level properties map to SQLite columns, with
47
+ * `required` properties marked as `NOT NULL`, and JSONSchema `default` will map
48
+ * to SQLite defaults.
49
+ *
50
+ * Any properties that are of type `object` or `array` in the JSONSchema will be
51
+ * mapped to a text field, which drizzle will parse and stringify. Types for
52
+ * `object` and `array` properties will be derived from `TObjectType`.
53
+ */
54
+ type JsonSchemaToDrizzleColumns<TObjectType extends {
55
+ [K in keyof TSchema['properties']]?: any;
56
+ }, TSchema extends JSONSchema7Object, TPrimaryKey extends keyof TSchema['properties'] | undefined = undefined> = AddJSONSchemaDefaults<TSchema, AddJSONSchemaRequired<TSchema, SchemaToDrizzleColumnsBase<TSchema, TObjectType>>>;
73
57
  /** Get the type of a JSONSchema string: array of constants for an enum,
74
58
  otherwise string[]. Strangeness is to convert it into the format expected by
75
59
  drizzle, which results in the correct type for the field from SQLite */
76
60
  type Enum<T extends JSONSchema7, TEnum extends T['enum'] = T['enum']> = TEnum extends readonly [string, ...string[]] ? Writable<TEnum> : T['const'] extends string ? [T['const']] : [string, ...string[]];
77
61
  /** True if JSONSchema object has a default */
78
- type HasDefault<T extends JSONSchema7> = T['default'] extends JSONSchema7Type ? true : false;
62
+ type HasJSONSchemaDefault<T extends JSONSchema7> = T['default'] extends JSONSchema7Type ? true : false;
79
63
  /** True if JSONSchema value is required */
80
- type IsRequired<T extends JSONSchema7WithProps, U extends string, V extends JSONSchema7['required'] = T['required']> = V extends readonly any[] ? Includes<V, U> : false;
64
+ type IsJSONSchemaRequired<T extends JSONSchema7Object, U extends string, V extends JSONSchema7['required'] = T['required']> = V extends readonly any[] ? Includes<V, U> : false;
81
65
  /**
82
66
  * Convert a JSONSchema to a Drizzle Columns map (e.g. parameter for
83
67
  * `sqliteTable()`). All top-level properties map to SQLite columns, with
@@ -86,12 +70,35 @@ type IsRequired<T extends JSONSchema7WithProps, U extends string, V extends JSON
86
70
  * the JSONSchema will be mapped to a text field, which drizzle will parse and
87
71
  * stringify. Types for parsed JSON will be derived from MapeoDoc types.
88
72
  */
89
- export type SchemaToDrizzleColumns<T extends JSONSchema7WithProps, TObjectType extends {
73
+ export type SchemaToDrizzleColumns<TSchema extends JSONSchema7Object,
74
+ /** This is the type matching the JSONSchema */
75
+ TObjectType extends {
76
+ [K in keyof TSchema['properties']]?: any;
77
+ }, TPrimaryKey extends keyof TSchema['properties'] | undefined = undefined> = AddPrimaryKey<AddJSONSchemaDefaults<TSchema, AddJSONSchemaRequired<TSchema, SchemaToDrizzleColumnsBase<TSchema, TObjectType>>>, TPrimaryKey>;
78
+ /**
79
+ * Add `HasDefault` to columns if the JSONSchema has a default for that property
80
+ */
81
+ type AddJSONSchemaDefaults<TJSONSchema extends JSONSchema7Object, TColumns extends Record<string, ColumnBuilderBase>, U extends JsonSchema7Properties = TJSONSchema['properties']> = {
82
+ [K in keyof TColumns]: K extends keyof U ? HasJSONSchemaDefault<U[K]> extends true ? HasDefault<TColumns[K]> : TColumns[K] : TColumns[K];
83
+ };
84
+ /**
85
+ * Mark columns as NotNull if they are required in the JSONSchema
86
+ */
87
+ type AddJSONSchemaRequired<TJSONSchema extends JSONSchema7Object, TColumns extends Record<string, ColumnBuilderBase>> = {
88
+ [K in keyof TColumns]: K extends string ? IsJSONSchemaRequired<TJSONSchema, K> extends true ? NotNull<TColumns[K]> : TColumns[K] : TColumns[K];
89
+ };
90
+ type AddPrimaryKey<TColumns extends Record<string, ColumnBuilderBase>, TKey extends keyof TColumns | undefined> = TKey extends string ? Omit<TColumns, TKey> & {
91
+ [K in TKey]: IsPrimaryKey<TColumns[TKey]>;
92
+ } : TColumns;
93
+ /**
94
+ * Map JSONSchema object properties to Drizzle column types.
95
+ */
96
+ type SchemaToDrizzleColumnsBase<TSchema extends JSONSchema7Object, TObjectType extends {
90
97
  [K in keyof U]?: any;
91
- }, U extends JsonSchema7Properties = T['properties']> = {
92
- [K in keyof U]: K extends string ? U[K]['type'] extends 'string' ? TextBuilder<K, Enum<U[K]>, IsRequired<T, K>, HasDefault<U[K]>> : U[K]['type'] extends 'boolean' ? BooleanBuilder<K, IsRequired<T, K>, HasDefault<U[K]>> : U[K]['type'] extends 'number' ? RealBuilder<K, IsRequired<T, K>, HasDefault<U[K]>> : U[K]['type'] extends 'integer' ? IntegerBuilder<K, IsRequired<T, K>, HasDefault<U[K]>> : U[K]['type'] extends 'array' | 'object' ? JsonBuilder<K, TObjectType[K], IsRequired<T, K>, HasDefault<U[K]>> : never : never;
98
+ }, U extends JsonSchema7Properties = TSchema['properties']> = {
99
+ [K in keyof U]: K extends string ? U[K]['type'] extends 'string' ? SQLiteTextBuilder<Enum<U[K]>> : U[K]['type'] extends 'boolean' ? SQLiteBooleanBuilder : U[K]['type'] extends 'number' ? SQLiteRealBuilder : U[K]['type'] extends 'integer' ? SQLiteIntegerBuilder : U[K]['type'] extends 'array' | 'object' ? $Type<SQLiteTextJsonBuilder, TObjectType[K]> : never : never;
93
100
  } & {
94
- forks: JsonBuilder<'forks', string[], true, false>;
101
+ forks: $Type<SQLiteTextJsonBuilder, string[]>;
95
102
  };
96
103
  export type NonEmptyArray<T> = [T, ...T[]];
97
104
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @import { Translation, TranslationValue } from '@comapeo/schema' */
1
+ /** @import { MapeoDoc, Translation, TranslationValue } from '@comapeo/schema' */
2
2
  /** @import { SetOptional } from 'type-fest' */
3
3
  export const ktranslatedLanguageCodeToSchemaNames: unique symbol;
4
4
  export default class TranslationApi {
@@ -38,9 +38,7 @@ export default class TranslationApi {
38
38
  updatedAt: string;
39
39
  links: string[];
40
40
  deleted: boolean;
41
- } & {
42
- forks: string[];
43
- }>;
41
+ } & import("./datatype/index.js").DerivedDocFields>;
44
42
  /** @typedef {SetOptional<TranslationValue['docRef'], 'versionId'>} DocRefWithOptionalVersionId */
45
43
  /**
46
44
  * @param {SetOptional<
@@ -58,196 +56,118 @@ export default class TranslationApi {
58
56
  * @param {TranslationValue} doc
59
57
  */
60
58
  index(doc: TranslationValue): void;
61
- get dataType(): import("./datatype/index.js").DataType<import("./datastore/index.js").DataStore<"config", "translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon">, import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
62
- name: "translation";
63
- schema: undefined;
64
- columns: {
65
- readonly docId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
66
- name: "docId";
67
- tableName: "translation";
68
- dataType: "string";
69
- columnType: "SQLiteText";
70
- data: string;
71
- driverParam: string;
72
- notNull: true;
73
- hasDefault: false;
74
- enumValues: [string, ...string[]];
75
- baseColumn: never;
76
- }, object>;
77
- readonly versionId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
78
- name: "versionId";
79
- tableName: "translation";
80
- dataType: "string";
81
- columnType: "SQLiteText";
82
- data: string;
83
- driverParam: string;
84
- notNull: true;
85
- hasDefault: false;
86
- enumValues: [string, ...string[]];
87
- baseColumn: never;
88
- }, object>;
89
- readonly originalVersionId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
90
- name: "originalVersionId";
91
- tableName: "translation";
92
- dataType: "string";
93
- columnType: "SQLiteText";
94
- data: string;
95
- driverParam: string;
96
- notNull: true;
97
- hasDefault: false;
98
- enumValues: [string, ...string[]];
99
- baseColumn: never;
100
- }, object>;
101
- readonly schemaName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
102
- name: "schemaName";
103
- tableName: "translation";
104
- dataType: "string";
105
- columnType: "SQLiteText";
106
- data: "translation";
107
- driverParam: string;
108
- notNull: true;
109
- hasDefault: false;
110
- enumValues: ["translation"];
111
- baseColumn: never;
112
- }, object>;
113
- readonly createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
114
- name: "createdAt";
115
- tableName: "translation";
116
- dataType: "string";
117
- columnType: "SQLiteText";
118
- data: string;
119
- driverParam: string;
120
- notNull: true;
121
- hasDefault: false;
122
- enumValues: [string, ...string[]];
123
- baseColumn: never;
124
- }, object>;
125
- readonly updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
126
- name: "updatedAt";
127
- tableName: "translation";
128
- dataType: "string";
129
- columnType: "SQLiteText";
130
- data: string;
131
- driverParam: string;
132
- notNull: true;
133
- hasDefault: false;
134
- enumValues: [string, ...string[]];
135
- baseColumn: never;
136
- }, object>;
137
- readonly links: import("drizzle-orm/sqlite-core").SQLiteColumn<{
138
- name: "links";
139
- tableName: "translation";
140
- dataType: "custom";
141
- columnType: "SQLiteCustomColumn";
142
- data: string[];
143
- driverParam: string;
144
- notNull: true;
145
- hasDefault: false;
146
- enumValues: undefined;
147
- baseColumn: never;
148
- }, object>;
149
- readonly deleted: import("drizzle-orm/sqlite-core").SQLiteColumn<{
150
- name: "deleted";
151
- tableName: "translation";
152
- dataType: "boolean";
153
- columnType: "SQLiteBoolean";
154
- data: boolean;
155
- driverParam: number;
156
- notNull: true;
157
- hasDefault: false;
158
- enumValues: undefined;
159
- baseColumn: never;
160
- }, object>;
161
- readonly docRef: import("drizzle-orm/sqlite-core").SQLiteColumn<{
162
- name: "docRef";
163
- tableName: "translation";
164
- dataType: "custom";
165
- columnType: "SQLiteCustomColumn";
166
- data: {
167
- docId: string;
168
- versionId: string;
59
+ get dataType(): import("./datatype/index.js").DataType<import("./datastore/index.js").DataStore<"config", "translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon">, import("./schema/types.js").JsonSchemaToDrizzleSqliteTable<{
60
+ schemaName: "translation";
61
+ docRef: {
62
+ docId: string;
63
+ versionId: string;
64
+ };
65
+ docRefType: "type_unspecified" | "deviceInfo" | "preset" | "field" | "observation" | "projectSettings" | "role" | "track" | "UNRECOGNIZED";
66
+ propertyRef: string;
67
+ languageCode: string;
68
+ regionCode?: string | undefined;
69
+ message: string;
70
+ docId: string;
71
+ versionId: string;
72
+ originalVersionId: string;
73
+ createdAt: string;
74
+ updatedAt: string;
75
+ links: string[];
76
+ deleted: boolean;
77
+ }, {
78
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
79
+ readonly $id: "http://mapeo.world/schemas/translation/v1.json";
80
+ readonly description: "A translation is a translated message in a single language for a string property/field of any Mapeo record type";
81
+ readonly title: "translation";
82
+ readonly type: "object";
83
+ readonly properties: {
84
+ readonly docId: {
85
+ readonly description: "Hex-encoded 32-byte buffer";
86
+ readonly type: "string";
87
+ readonly minLength: 1;
88
+ };
89
+ readonly versionId: {
90
+ readonly description: "core discovery id (hex-encoded 32-byte buffer) and core index number, separated by '/'";
91
+ readonly type: "string";
92
+ readonly minLength: 1;
93
+ };
94
+ readonly originalVersionId: {
95
+ readonly description: "Version ID of the original version of this document. For the original version, matches `versionId`.";
96
+ readonly type: "string";
97
+ readonly minLength: 1;
98
+ };
99
+ readonly schemaName: {
100
+ readonly type: "string";
101
+ readonly const: "translation";
102
+ };
103
+ readonly createdAt: {
104
+ readonly description: "RFC3339-formatted datetime of when the first version of the element was created";
105
+ readonly type: "string";
106
+ readonly format: "date-time";
107
+ };
108
+ readonly updatedAt: {
109
+ readonly description: "RFC3339-formatted datetime of when this version of the element was created";
110
+ readonly type: "string";
111
+ readonly format: "date-time";
112
+ };
113
+ readonly links: {
114
+ readonly description: "Version ids of the previous document versions this one is replacing. Each link is id (hex-encoded 32 byte buffer) and index number, separated by '/'";
115
+ readonly type: "array";
116
+ readonly uniqueItems: true;
117
+ readonly items: {
118
+ readonly type: "string";
119
+ };
120
+ };
121
+ readonly deleted: {
122
+ readonly description: "Indicates whether the document has been deleted";
123
+ readonly type: "boolean";
124
+ };
125
+ readonly docRef: {
126
+ readonly type: "object";
127
+ readonly properties: {
128
+ readonly docId: {
129
+ readonly description: "hex-encoded id of the element that this observation references";
130
+ readonly type: "string";
131
+ readonly minLength: 1;
132
+ };
133
+ readonly versionId: {
134
+ readonly description: "core discovery id (hex-encoded 32-byte buffer) and core index number, separated by '/'";
135
+ readonly type: "string";
136
+ readonly minLength: 1;
137
+ };
169
138
  };
170
- driverParam: string;
171
- notNull: true;
172
- hasDefault: false;
173
- enumValues: undefined;
174
- baseColumn: never;
175
- }, object>;
176
- readonly docRefType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
177
- name: "docRefType";
178
- tableName: "translation";
179
- dataType: "string";
180
- columnType: "SQLiteText";
181
- data: "UNRECOGNIZED" | "observation" | "track" | "preset" | "field" | "projectSettings" | "deviceInfo" | "role" | "type_unspecified";
182
- driverParam: string;
183
- notNull: true;
184
- hasDefault: false;
185
- enumValues: ["type_unspecified", "deviceInfo", "preset", "field", "observation", "projectSettings", "role", "track", "UNRECOGNIZED"];
186
- baseColumn: never;
187
- }, object>;
188
- readonly propertyRef: import("drizzle-orm/sqlite-core").SQLiteColumn<{
189
- name: "propertyRef";
190
- tableName: "translation";
191
- dataType: "string";
192
- columnType: "SQLiteText";
193
- data: string;
194
- driverParam: string;
195
- notNull: true;
196
- hasDefault: false;
197
- enumValues: [string, ...string[]];
198
- baseColumn: never;
199
- }, object>;
200
- readonly languageCode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
201
- name: "languageCode";
202
- tableName: "translation";
203
- dataType: "string";
204
- columnType: "SQLiteText";
205
- data: string;
206
- driverParam: string;
207
- notNull: true;
208
- hasDefault: false;
209
- enumValues: [string, ...string[]];
210
- baseColumn: never;
211
- }, object>;
212
- readonly regionCode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
213
- name: "regionCode";
214
- tableName: "translation";
215
- dataType: "string";
216
- columnType: "SQLiteText";
217
- data: string;
218
- driverParam: string;
219
- notNull: false;
220
- hasDefault: false;
221
- enumValues: [string, ...string[]];
222
- baseColumn: never;
223
- }, object>;
224
- readonly message: import("drizzle-orm/sqlite-core").SQLiteColumn<{
225
- name: "message";
226
- tableName: "translation";
227
- dataType: "string";
228
- columnType: "SQLiteText";
229
- data: string;
230
- driverParam: string;
231
- notNull: true;
232
- hasDefault: false;
233
- enumValues: [string, ...string[]];
234
- baseColumn: never;
235
- }, object>;
236
- forks: import("drizzle-orm/sqlite-core").SQLiteColumn<{
237
- name: "forks";
238
- tableName: "translation";
239
- dataType: "custom";
240
- columnType: "SQLiteCustomColumn";
241
- data: string[];
242
- driverParam: string;
243
- notNull: true;
244
- hasDefault: false;
245
- enumValues: undefined;
246
- baseColumn: never;
247
- }, object>;
139
+ readonly required: readonly ["docId", "versionId"];
140
+ };
141
+ readonly docRefType: {
142
+ readonly description: "type of the element that this translation references";
143
+ readonly type: "string";
144
+ readonly enum: readonly ["type_unspecified", "deviceInfo", "preset", "field", "observation", "projectSettings", "role", "track", "UNRECOGNIZED"];
145
+ };
146
+ readonly propertyRef: {
147
+ readonly type: "string";
148
+ readonly description: "identifier for translated field/property in dot-prop notation";
149
+ readonly minLength: 1;
150
+ };
151
+ readonly languageCode: {
152
+ readonly type: "string";
153
+ readonly description: "three-letter ISO 169-3 language code";
154
+ readonly minLength: 1;
155
+ readonly maxLength: 3;
156
+ };
157
+ readonly regionCode: {
158
+ readonly type: "string";
159
+ readonly description: "two-letter country code from ISO 3166-1 alpha-2 or a three-digit code from UN M.49 for geographical regions";
160
+ readonly minLength: 2;
161
+ readonly maxLength: 3;
162
+ };
163
+ readonly message: {
164
+ readonly type: "string";
165
+ readonly description: "the translated string";
166
+ };
248
167
  };
249
- dialect: "sqlite";
250
- }>, "translation", {
168
+ readonly required: readonly ["schemaName", "docRef", "docRefType", "propertyRef", "languageCode", "message", "docId", "createdAt", "updatedAt", "links", "versionId", "originalVersionId", "deleted"];
169
+ readonly additionalProperties: false;
170
+ }, "translation", import("./schema/comapeo-to-drizzle.js").AdditionalColumns, "docId">, "translation", {
251
171
  schemaName: "translation";
252
172
  docRef: {
253
173
  docId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"translation-api.d.ts","sourceRoot":"","sources":["../src/translation-api.js"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,+CAA+C;AAE/C,iEAEC;AACD;IAQE;;;;;;;;;OASG;IACH,0BARG;QAMS,QAAQ,EANT,OAAO,qBAAqB,EAAE,QAAQ,CAChD,OAAW,sBAAsB,EAAE,SAAS,CAAC,QAAQ,CAAC,EACtD,cAAkB,qBAAqB,EAAE,gBAAgB,EACzD,aAAiB,EACjB,WAAe,EACf,gBAAoB,CACjB;KACH,EAWA;IAED,+BAA+B;IAC/B,SADc,OAAO,CAAC,IAAI,CAAC,CAG1B;IAED;;OAEG;IACH,WAFW,gBAAgB;;;;;;;;;;;;;;;;;;;;OAW1B;IAED,kGAAkG;IAElG;;;;;OAKG;IACH,WALW,YACR,IAAI,CAAC,gBAAgB,EAAC,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC,EAC5D,aAAe,GAAG,YAAY,CAAC,GAAG;QAAC,MAAM;;;UAA6B;KAAC,GAC3D,OAAO,CAAC,OAAO,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAsC5D;IAED;;OAEG;IACH,WAFW,gBAAgB,QAkB1B;IAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEC;IALD,mHAEC;;CAIF;sCAjIkD,iBAAiB;iCACnC,WAAW;iCADO,iBAAiB"}
1
+ {"version":3,"file":"translation-api.d.ts","sourceRoot":"","sources":["../src/translation-api.js"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,+CAA+C;AAE/C,iEAEC;AACD;IAWE;;;;;;;;;OASG;IACH,0BARG;QAMS,QAAQ,EANT,OAAO,qBAAqB,EAAE,QAAQ,CAChD,OAAW,sBAAsB,EAAE,SAAS,CAAC,QAAQ,CAAC,EACtD,cAAkB,qBAAqB,EAAE,gBAAgB,EACzD,aAAiB,EACjB,WAAe,EACf,gBAAoB,CACjB;KACH,EAWA;IAED,+BAA+B;IAC/B,SADc,OAAO,CAAC,IAAI,CAAC,CAG1B;IAED;;OAEG;IACH,WAFW,gBAAgB;;;;;;;;;;;;;;;;;;wDAW1B;IAED,kGAAkG;IAElG;;;;;OAKG;IACH,WALW,YACR,IAAI,CAAC,gBAAgB,EAAC,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC,EAC5D,aAAe,GAAG,YAAY,CAAC,GAAG;QAAC,MAAM;;;UAA6B;KAAC,GAC3D,OAAO,CAAC,OAAO,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAqE5D;IAED;;OAEG;IACH,WAFW,gBAAgB,QAqB1B;IAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEC;IALD,mHAEC;;CAIF;sCAnL4D,iBAAiB;iCAC7C,WAAW;iCADiB,iBAAiB"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Simplify, TupleToUnion, ValueOf, RequireAtLeastOne, SetOptional } from 'type-fest';
1
+ import type { Simplify, TupleToUnion, ValueOf, RequireAtLeastOne } from 'type-fest';
2
2
  import { SUPPORTED_BLOB_VARIANTS } from './blob-store/index.js';
3
3
  import { MapeoCommon, MapeoDoc, MapeoValue, Observation, decode } from '@comapeo/schema';
4
4
  import type BigSparseArray from 'big-sparse-array';
@@ -46,13 +46,6 @@ export type CoreOwnershipWithSignatures = Extract<ReturnType<typeof decode>, {
46
46
  schemaName: 'coreOwnership';
47
47
  }>;
48
48
  export type CoreOwnershipWithSignaturesValue = Omit<CoreOwnershipWithSignatures, Exclude<keyof MapeoCommon, 'schemaName'>>;
49
- type NullToOptional<T> = SetOptional<T, NullKeys<T>>;
50
- type RemoveNull<T> = {
51
- [K in keyof T]: Exclude<T[K], null>;
52
- };
53
- type NullKeys<Base> = NonNullable<{
54
- [Key in keyof Base]: null extends Base[Key] ? Key : never;
55
- }[keyof Base]>;
56
49
  /**
57
50
  * Replace an object's `Buffer` values with `string`s. Useful for serialization.
58
51
  */
@@ -65,7 +58,14 @@ export type MapBuffers<T> = {
65
58
  * top-level optional props set to `null`) to the original types in
66
59
  * @comapeo/schema
67
60
  */
68
- export type NullableToOptional<T> = Simplify<RemoveNull<NullToOptional<T>>>;
61
+ export type NullableToOptional<T> = Simplify<{
62
+ [K in keyof T as null extends T[K] ? K : never]?: Exclude<T[K], null>;
63
+ } & {
64
+ [K in keyof T as null extends T[K] ? never : K]: T[K];
65
+ }>;
66
+ export type OptionalToNullable<T> = Simplify<{
67
+ [K in keyof T]-?: T[K] | (undefined extends T[K] ? null : never);
68
+ }>;
69
69
  export type KeyPair = {
70
70
  publicKey: PublicKey;
71
71
  secretKey: SecretKey;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}