lucid-extension-sdk 0.0.317 → 0.0.319

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.
@@ -20,6 +20,7 @@ export declare const isSerializedDataSourceProperties: (subject: unknown) => sub
20
20
  SourceForeignKeys: (x: unknown) => x is import("../../guards").DestructureGuardedTypeObj<{
21
21
  Id: typeof isString;
22
22
  SourceFields: (p1: unknown) => p1 is string[];
23
+ RelationshipType: (x: unknown) => x is string | undefined;
23
24
  OutwardLabel: typeof isString;
24
25
  InwardLabel: typeof isString;
25
26
  }>[] | null | undefined;
@@ -57,8 +57,10 @@ export declare const isSerializedImportedDataSource: (subject: unknown) => subje
57
57
  SourceConfig: typeof isObject;
58
58
  }> | null | undefined;
59
59
  SourceForeignKeys: (x: unknown) => x is import("../../guards").DestructureGuardedTypeObj<{
60
+ /** @ignore until spreadsheet integration is ready for launch (CHART-51946) */
60
61
  Id: typeof isString;
61
62
  SourceFields: (p1: unknown) => p1 is string[];
63
+ RelationshipType: (x: unknown) => x is string | undefined;
62
64
  OutwardLabel: typeof isString;
63
65
  InwardLabel: typeof isString;
64
66
  }>[] | null | undefined;
@@ -95,8 +97,10 @@ export declare const isSerializedPreviewData: (subject: unknown) => subject is i
95
97
  SourceConfig: typeof isObject;
96
98
  }> | null | undefined;
97
99
  SourceForeignKeys: (x: unknown) => x is import("../../guards").DestructureGuardedTypeObj<{
100
+ /** @ignore until spreadsheet integration is ready for launch (CHART-51946) */
98
101
  Id: typeof isString;
99
102
  SourceFields: (p1: unknown) => p1 is string[];
103
+ RelationshipType: (x: unknown) => x is string | undefined;
100
104
  OutwardLabel: typeof isString;
101
105
  InwardLabel: typeof isString;
102
106
  }>[] | null | undefined;
@@ -2,6 +2,7 @@ import { isString } from '../../checks';
2
2
  export type SerializedSourceForeignKey = {
3
3
  'Id': string;
4
4
  'SourceFields': string[];
5
+ 'RelationshipType'?: string | undefined;
5
6
  'Represents'?: string | null | undefined;
6
7
  'OutwardLabel': string;
7
8
  'InwardLabel': string;
@@ -14,6 +15,7 @@ export type SerializedSourceForeignKey = {
14
15
  export declare const isSerializedSourceForeignKey: (subject: unknown) => subject is import("../../guards").DestructureGuardedTypeObj<{
15
16
  Id: typeof isString;
16
17
  SourceFields: (p1: unknown) => p1 is string[];
18
+ RelationshipType: (x: unknown) => x is string | undefined;
17
19
  OutwardLabel: typeof isString;
18
20
  InwardLabel: typeof isString;
19
21
  }>;
@@ -6,6 +6,7 @@ const validators_1 = require("../../validators/validators");
6
6
  exports.isSerializedSourceForeignKey = (0, validators_1.objectValidator)({
7
7
  'Id': checks_1.isString,
8
8
  'SourceFields': (0, validators_1.arrayValidator)(checks_1.isString),
9
+ 'RelationshipType': (0, validators_1.option)(checks_1.isString),
9
10
  'OutwardLabel': checks_1.isString,
10
11
  'InwardLabel': checks_1.isString,
11
12
  });
@@ -2,6 +2,7 @@ import { SerializedSourceForeignKey } from './serializedsourceforeignkey';
2
2
  export type SourceForeignKey = {
3
3
  'id': string;
4
4
  'sourceFields': string[];
5
+ 'relationshipType'?: string | undefined;
5
6
  'represents'?: string | undefined;
6
7
  'outwardLabel': string;
7
8
  'inwardLabel': string;
@@ -5,6 +5,7 @@ function serializeSourceForeignKey(foreignKey) {
5
5
  return {
6
6
  'Id': foreignKey.id,
7
7
  'SourceFields': foreignKey.sourceFields,
8
+ 'RelationshipType': foreignKey.relationshipType,
8
9
  'Represents': foreignKey.represents,
9
10
  'OutwardLabel': foreignKey.outwardLabel,
10
11
  'InwardLabel': foreignKey.inwardLabel,
@@ -16,6 +17,7 @@ function deserializeSourceForeignKey(foreignKey) {
16
17
  return {
17
18
  'id': foreignKey['Id'],
18
19
  'sourceFields': foreignKey['SourceFields'],
20
+ 'relationshipType': foreignKey['RelationshipType'],
19
21
  'represents': foreignKey['Represents'] === null ? undefined : foreignKey['Represents'],
20
22
  'outwardLabel': foreignKey['OutwardLabel'],
21
23
  'inwardLabel': foreignKey['InwardLabel'],
@@ -1,11 +1,12 @@
1
1
  import { CollectionEnumFieldType, SerializedCollectionEnumFieldType } from './collectionenumfieldtype';
2
+ import { DeserializedMapEnumFieldType, SerializedMapEnumFieldType } from './deserializedmapenumfieldtype';
2
3
  import { FieldTypeArray, SerializedFieldTypeArray } from './fieldtypearray';
3
4
  import { LiteralFieldType, SerializedLiteralFieldType } from './literalfieldtype';
4
5
  import { NDimensionalFieldTypeArray, SerializedNDimensionalFieldTypeArray } from './ndimensionalfieldtypearray';
5
6
  import { ScalarFieldTypeEnum } from './scalarfieldtype';
6
7
  export type AnyFieldTypeArrayDefinition = FieldTypeArray | NDimensionalFieldTypeArray;
7
- export type BaseFieldTypeDefinition = ScalarFieldTypeEnum | LiteralFieldType | FieldTypeArray<any> | NDimensionalFieldTypeArray | CollectionEnumFieldType;
8
- export type SerializedBaseFieldTypeDefinition = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedNDimensionalFieldTypeArray | SerializedCollectionEnumFieldType;
8
+ export type BaseFieldTypeDefinition = ScalarFieldTypeEnum | LiteralFieldType | FieldTypeArray<any> | NDimensionalFieldTypeArray | CollectionEnumFieldType | DeserializedMapEnumFieldType;
9
+ export type SerializedBaseFieldTypeDefinition = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedNDimensionalFieldTypeArray | SerializedCollectionEnumFieldType | SerializedMapEnumFieldType;
9
10
  export declare function isBaseFieldTypeDefinition(fieldType: any): fieldType is BaseFieldTypeDefinition;
10
11
  export declare function serializeBaseFieldTypeDefinition(baseFieldType: BaseFieldTypeDefinition): SerializedBaseFieldTypeDefinition;
11
12
  export declare function deserializeBaseFieldTypeDefinition(baseFieldType: SerializedBaseFieldTypeDefinition): BaseFieldTypeDefinition;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isSerializedBaseFieldTypeDefinition = exports.deserializeBaseFieldTypeDefinition = exports.serializeBaseFieldTypeDefinition = exports.isBaseFieldTypeDefinition = void 0;
4
4
  const checks_1 = require("../../checks");
5
5
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
6
+ const deserializedmapenumfieldtype_1 = require("./deserializedmapenumfieldtype");
6
7
  const fieldtypearray_1 = require("./fieldtypearray");
7
8
  const literalfieldtype_1 = require("./literalfieldtype");
8
9
  const ndimensionalfieldtypearray_1 = require("./ndimensionalfieldtypearray");
@@ -12,7 +13,8 @@ function isBaseFieldTypeDefinition(fieldType) {
12
13
  (0, literalfieldtype_1.isLiteralFieldType)(fieldType) ||
13
14
  fieldType instanceof fieldtypearray_1.FieldTypeArray ||
14
15
  fieldType instanceof ndimensionalfieldtypearray_1.NDimensionalFieldTypeArray ||
15
- (0, collectionenumfieldtype_1.isCollectionEnumFieldType)(fieldType));
16
+ (0, collectionenumfieldtype_1.isCollectionEnumFieldType)(fieldType) ||
17
+ (0, deserializedmapenumfieldtype_1.isDeserializedMapEnumFieldType)(fieldType));
16
18
  }
17
19
  exports.isBaseFieldTypeDefinition = isBaseFieldTypeDefinition;
18
20
  function serializeBaseFieldTypeDefinition(baseFieldType) {
@@ -23,7 +25,8 @@ function serializeBaseFieldTypeDefinition(baseFieldType) {
23
25
  if (baseFieldType instanceof literalfieldtype_1.LiteralFieldType ||
24
26
  baseFieldType instanceof fieldtypearray_1.FieldTypeArray ||
25
27
  baseFieldType instanceof ndimensionalfieldtypearray_1.NDimensionalFieldTypeArray ||
26
- baseFieldType instanceof collectionenumfieldtype_1.CollectionEnumFieldType) {
28
+ baseFieldType instanceof collectionenumfieldtype_1.CollectionEnumFieldType ||
29
+ baseFieldType instanceof deserializedmapenumfieldtype_1.DeserializedMapEnumFieldType) {
27
30
  return baseFieldType.toJSON();
28
31
  }
29
32
  return baseFieldType;
@@ -42,6 +45,9 @@ function deserializeBaseFieldTypeDefinition(baseFieldType) {
42
45
  if ((0, ndimensionalfieldtypearray_1.isSerializedNDimensionalFieldTypeArray)(baseFieldType)) {
43
46
  return (0, ndimensionalfieldtypearray_1.deserializeNDimensionalFieldTypeArray)(baseFieldType);
44
47
  }
48
+ if ((0, deserializedmapenumfieldtype_1.isSerializedMapEnumFieldType)(baseFieldType)) {
49
+ return deserializedmapenumfieldtype_1.DeserializedMapEnumFieldType.fromJSON(baseFieldType);
50
+ }
45
51
  return baseFieldType;
46
52
  }
47
53
  exports.deserializeBaseFieldTypeDefinition = deserializeBaseFieldTypeDefinition;
@@ -50,6 +56,7 @@ function isSerializedBaseFieldTypeDefinition(definition) {
50
56
  (0, literalfieldtype_1.isSerializedLiteralFieldType)(definition) ||
51
57
  (0, collectionenumfieldtype_1.isSerializedCollectionEnumFieldType)(definition) ||
52
58
  (0, fieldtypearray_1.isSerializedFieldTypeArray)(definition, isSerializedBaseFieldTypeDefinition) ||
53
- (0, ndimensionalfieldtypearray_1.isSerializedNDimensionalFieldTypeArray)(definition));
59
+ (0, ndimensionalfieldtypearray_1.isSerializedNDimensionalFieldTypeArray)(definition) ||
60
+ (0, deserializedmapenumfieldtype_1.isSerializedMapEnumFieldType)(definition));
54
61
  }
55
62
  exports.isSerializedBaseFieldTypeDefinition = isSerializedBaseFieldTypeDefinition;
@@ -0,0 +1,28 @@
1
+ export declare class DeserializedMapEnumFieldType {
2
+ readonly validEntries: ReadonlyMap<EnumKeyType, DeserializedMapEnumFieldTypeEntry>;
3
+ constructor(validEntries: ReadonlyMap<EnumKeyType, DeserializedMapEnumFieldTypeEntry>);
4
+ toJSON(): SerializedMapEnumFieldType;
5
+ static fromJSON(val: SerializedMapEnumFieldType): DeserializedMapEnumFieldType;
6
+ }
7
+ export declare function isDeserializedMapEnumFieldType(val: unknown): val is DeserializedMapEnumFieldType;
8
+ export type SerializedMapEnumFieldType = {
9
+ 'ValidItems': SerializedEnumEntry[];
10
+ };
11
+ export declare function isSerializedMapEnumFieldType(fieldType: any): fieldType is SerializedMapEnumFieldType;
12
+ export interface DeserializedMapEnumFieldTypeEntry {
13
+ name?: string | null;
14
+ description?: string | null;
15
+ color?: string | null;
16
+ iconUrl?: string | null;
17
+ }
18
+ export interface SerializedEnumEntry {
19
+ 'Id': EnumKeyType;
20
+ 'Name'?: string | undefined | null;
21
+ 'Description'?: string | undefined | null;
22
+ 'Color'?: string | undefined | null;
23
+ 'IconUrl'?: string | undefined | null;
24
+ }
25
+ export declare function isSerializedEnumEntry(entry: any): entry is SerializedEnumEntry;
26
+ export declare function serializeEnumEntry(id: EnumKeyType, entry: DeserializedMapEnumFieldTypeEntry): SerializedEnumEntry;
27
+ export declare function deserializeEnumEntry(entry: SerializedEnumEntry): [EnumKeyType, DeserializedMapEnumFieldTypeEntry];
28
+ export type EnumKeyType = string | number;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeEnumEntry = exports.serializeEnumEntry = exports.isSerializedEnumEntry = exports.isSerializedMapEnumFieldType = exports.isDeserializedMapEnumFieldType = exports.DeserializedMapEnumFieldType = void 0;
4
+ const checks_1 = require("../../checks");
5
+ const validators_1 = require("../../validators/validators");
6
+ class DeserializedMapEnumFieldType {
7
+ constructor(validEntries) {
8
+ this.validEntries = validEntries;
9
+ }
10
+ toJSON() {
11
+ return {
12
+ 'ValidItems': [...this.validEntries.entries()].map(([key, value]) => serializeEnumEntry(key, value)),
13
+ };
14
+ }
15
+ static fromJSON(val) {
16
+ return new DeserializedMapEnumFieldType(new Map(val['ValidItems'].map(deserializeEnumEntry)));
17
+ }
18
+ }
19
+ exports.DeserializedMapEnumFieldType = DeserializedMapEnumFieldType;
20
+ function isDeserializedMapEnumFieldType(val) {
21
+ return val instanceof DeserializedMapEnumFieldType;
22
+ }
23
+ exports.isDeserializedMapEnumFieldType = isDeserializedMapEnumFieldType;
24
+ function isSerializedMapEnumFieldType(fieldType) {
25
+ return ((0, checks_1.isObjectUnsafe)(fieldType) &&
26
+ Array.isArray(fieldType['ValidItems']) &&
27
+ fieldType['ValidItems'].every(isSerializedEnumEntry));
28
+ }
29
+ exports.isSerializedMapEnumFieldType = isSerializedMapEnumFieldType;
30
+ function isSerializedEnumEntry(entry) {
31
+ return ((0, checks_1.isObjectUnsafe)(entry) &&
32
+ (0, checks_1.isString)(entry['Id']) &&
33
+ (0, validators_1.nullableOption)(checks_1.isString)(entry['Name']) &&
34
+ (0, validators_1.nullableOption)(checks_1.isString)(entry['Description']) &&
35
+ (0, validators_1.nullableOption)(checks_1.isString)(entry['Color']) &&
36
+ (0, validators_1.nullableOption)(checks_1.isString)(entry['IconUrl']));
37
+ }
38
+ exports.isSerializedEnumEntry = isSerializedEnumEntry;
39
+ function serializeEnumEntry(id, entry) {
40
+ return {
41
+ 'Id': id,
42
+ 'Name': entry.name,
43
+ 'Description': entry.description,
44
+ 'Color': entry.color,
45
+ 'IconUrl': entry.iconUrl,
46
+ };
47
+ }
48
+ exports.serializeEnumEntry = serializeEnumEntry;
49
+ function deserializeEnumEntry(entry) {
50
+ return [
51
+ entry['Id'],
52
+ {
53
+ name: entry['Name'],
54
+ description: entry['Description'],
55
+ color: entry['Color'],
56
+ iconUrl: entry['IconUrl'],
57
+ },
58
+ ];
59
+ }
60
+ exports.deserializeEnumEntry = deserializeEnumEntry;
@@ -1,4 +1,5 @@
1
1
  import { CollectionEnumFieldType, SerializedCollectionEnumFieldType } from './collectionenumfieldtype';
2
+ import { DeserializedMapEnumFieldType, SerializedMapEnumFieldType } from './deserializedmapenumfieldtype';
2
3
  import { LiteralFieldType, SerializedLiteralFieldType } from './literalfieldtype';
3
4
  import { ScalarFieldTypeEnum } from './scalarfieldtype';
4
5
  export declare abstract class BaseFieldTypeArray<Type> {
@@ -9,10 +10,10 @@ export declare abstract class BaseFieldTypeArray<Type> {
9
10
  getInnerNonArrayTypes(): Exclude<Type, BaseFieldTypeArray<Type>>[];
10
11
  toJSON(): SerializedFieldTypeArray;
11
12
  }
12
- export type FieldTypeArraySubTypes = ScalarFieldTypeEnum | CollectionEnumFieldType | LiteralFieldType | FieldTypeArray<any>;
13
- export type SerializedFieldTypeArraySubTypes = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedCollectionEnumFieldType;
13
+ export type FieldTypeArraySubTypes = ScalarFieldTypeEnum | CollectionEnumFieldType | DeserializedMapEnumFieldType | LiteralFieldType | FieldTypeArray<any>;
14
+ export type SerializedFieldTypeArraySubTypes = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedCollectionEnumFieldType | SerializedMapEnumFieldType;
14
15
  export declare class FieldTypeArray<SubTypes extends FieldTypeArraySubTypes = FieldTypeArraySubTypes> extends BaseFieldTypeArray<SubTypes> {
15
- protected serializeType(t: FieldTypeArraySubTypes): string | SerializedCollectionEnumFieldType | ScalarFieldTypeEnum | SerializedFieldTypeArray;
16
+ protected serializeType(t: FieldTypeArraySubTypes): string | SerializedCollectionEnumFieldType | ScalarFieldTypeEnum | SerializedMapEnumFieldType | SerializedFieldTypeArray;
16
17
  }
17
18
  export type SerializedFieldTypeArray = {
18
19
  'ND': false;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deserializeFieldTypeArray = exports.isSerializedFieldTypeArray = exports.FieldTypeArray = exports.BaseFieldTypeArray = void 0;
4
4
  const checks_1 = require("../../checks");
5
5
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
6
+ const deserializedmapenumfieldtype_1 = require("./deserializedmapenumfieldtype");
6
7
  const literalfieldtype_1 = require("./literalfieldtype");
7
8
  const scalarfieldtype_1 = require("./scalarfieldtype");
8
9
  class BaseFieldTypeArray {
@@ -47,6 +48,9 @@ function deserializeFieldTypeArray(serializedFieldTypeArray) {
47
48
  else if ((0, collectionenumfieldtype_1.isSerializedCollectionEnumFieldType)(t)) {
48
49
  return (0, collectionenumfieldtype_1.deserializeCollectionEnumFieldType)(t);
49
50
  }
51
+ else if ((0, deserializedmapenumfieldtype_1.isSerializedMapEnumFieldType)(t)) {
52
+ return deserializedmapenumfieldtype_1.DeserializedMapEnumFieldType.fromJSON(t);
53
+ }
50
54
  else if ((0, checks_1.isObject)(t)) {
51
55
  return deserializeFieldTypeArray(t);
52
56
  }
@@ -4,6 +4,7 @@ exports.isSerializedFieldTypeDefinition = exports.deserializeFieldTypeDefinition
4
4
  const checks_1 = require("../../checks");
5
5
  const basefieldtypedefinition_1 = require("./basefieldtypedefinition");
6
6
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
7
+ const deserializedmapenumfieldtype_1 = require("./deserializedmapenumfieldtype");
7
8
  const fieldtypearray_1 = require("./fieldtypearray");
8
9
  const literalfieldtype_1 = require("./literalfieldtype");
9
10
  const ndimensionalfieldtypearray_1 = require("./ndimensionalfieldtypearray");
@@ -17,6 +18,14 @@ function fieldTypesEqual(a, b, checkEnumCollectionId = true) {
17
18
  if ((0, collectionenumfieldtype_1.isCollectionEnumFieldType)(a) && (0, collectionenumfieldtype_1.isCollectionEnumFieldType)(b)) {
18
19
  return checkEnumCollectionId ? a.collectionId === b.collectionId : true;
19
20
  }
21
+ if ((0, deserializedmapenumfieldtype_1.isDeserializedMapEnumFieldType)(a) && (0, deserializedmapenumfieldtype_1.isDeserializedMapEnumFieldType)(b)) {
22
+ for (const [key, value] of a.validEntries.entries()) {
23
+ if (!b.validEntries.has(key) || b.validEntries.get(key) !== value) {
24
+ return false;
25
+ }
26
+ }
27
+ return true;
28
+ }
20
29
  a = (0, checks_1.isArray)(a) ? a : [a];
21
30
  b = (0, checks_1.isArray)(b) ? b : [b];
22
31
  const setA = new Set(a);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lucid-extension-sdk",
3
- "version": "0.0.317",
3
+ "version": "0.0.319",
4
4
  "description": "Utility classes for writing Lucid Software editor extensions",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",