@airtable/blocks 1.8.0 → 1.9.0-experimental

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 (93) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/dist/cjs/error_utils.js +17 -0
  3. package/dist/cjs/models/base.js +16 -5
  4. package/dist/cjs/models/cursor.js +2 -0
  5. package/dist/cjs/models/field.js +146 -27
  6. package/dist/cjs/models/grouped_record_query_result.js +5 -14
  7. package/dist/cjs/models/linked_records_query_result.js +75 -27
  8. package/dist/cjs/models/mutation_constants.js +3 -1
  9. package/dist/cjs/models/mutations.js +67 -176
  10. package/dist/cjs/models/query_manager.js +327 -0
  11. package/dist/cjs/models/record.js +308 -55
  12. package/dist/cjs/models/record_query_result.js +4 -1
  13. package/dist/cjs/models/record_store.js +554 -765
  14. package/dist/cjs/models/table.js +22 -13
  15. package/dist/cjs/models/table_or_view_query_result.js +480 -414
  16. package/dist/cjs/models/view_data_store.js +243 -295
  17. package/dist/cjs/private_utils.js +50 -0
  18. package/dist/cjs/sdk.js +12 -2
  19. package/dist/cjs/testing/{mock_airtable_interface.js → abstract_mock_airtable_interface.js} +71 -22
  20. package/dist/cjs/types/block_query_spec.js +85 -0
  21. package/dist/cjs/types/mutations.js +1 -0
  22. package/dist/cjs/ui/icon_config.js +4 -2
  23. package/dist/cjs/ui/use_global_config.js +1 -1
  24. package/dist/cjs/ui/use_records.js +5 -1
  25. package/dist/cjs/unstable_testing_utils.js +2 -2
  26. package/dist/cjs/watchable.js +123 -71
  27. package/dist/types/src/models/base.d.ts +10 -3
  28. package/dist/types/src/models/base.d.ts.map +1 -1
  29. package/dist/types/src/models/cursor.d.ts +2 -0
  30. package/dist/types/src/models/cursor.d.ts.map +1 -1
  31. package/dist/types/src/models/field.d.ts +65 -1
  32. package/dist/types/src/models/field.d.ts.map +1 -1
  33. package/dist/types/src/models/grouped_record_query_result.d.ts +3 -3
  34. package/dist/types/src/models/grouped_record_query_result.d.ts.map +1 -1
  35. package/dist/types/src/models/linked_records_query_result.d.ts.map +1 -1
  36. package/dist/types/src/models/mutation_constants.d.ts +1 -0
  37. package/dist/types/src/models/mutation_constants.d.ts.map +1 -1
  38. package/dist/types/src/models/mutations.d.ts.map +1 -1
  39. package/dist/types/src/models/query_manager.d.ts +2 -0
  40. package/dist/types/src/models/query_manager.d.ts.map +1 -0
  41. package/dist/types/src/models/record.d.ts +12 -3
  42. package/dist/types/src/models/record.d.ts.map +1 -1
  43. package/dist/types/src/models/record_query_result.d.ts +3 -2
  44. package/dist/types/src/models/record_query_result.d.ts.map +1 -1
  45. package/dist/types/src/models/record_store.d.ts.map +1 -1
  46. package/dist/types/src/models/table.d.ts +8 -4
  47. package/dist/types/src/models/table.d.ts.map +1 -1
  48. package/dist/types/src/models/table_or_view_query_result.d.ts +3 -5
  49. package/dist/types/src/models/table_or_view_query_result.d.ts.map +1 -1
  50. package/dist/types/src/models/view_data_store.d.ts +0 -1
  51. package/dist/types/src/models/view_data_store.d.ts.map +1 -1
  52. package/dist/types/src/models/view_metadata_query_result.d.ts +1 -1
  53. package/dist/types/src/models/view_metadata_query_result.d.ts.map +1 -1
  54. package/dist/types/src/private_utils.d.ts +30 -1
  55. package/dist/types/src/private_utils.d.ts.map +1 -1
  56. package/dist/types/src/sdk.d.ts.map +1 -1
  57. package/dist/types/src/testing/{mock_airtable_interface.d.ts → abstract_mock_airtable_interface.d.ts} +20 -15
  58. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +1 -0
  59. package/dist/types/src/types/airtable_interface.d.ts +43 -19
  60. package/dist/types/src/types/airtable_interface.d.ts.map +1 -1
  61. package/dist/types/src/types/block_query_spec.d.ts +139 -0
  62. package/dist/types/src/types/block_query_spec.d.ts.map +1 -0
  63. package/dist/types/src/types/field.d.ts +80 -44
  64. package/dist/types/src/types/field.d.ts.map +1 -1
  65. package/dist/types/src/types/mutations.d.ts +31 -3
  66. package/dist/types/src/types/mutations.d.ts.map +1 -1
  67. package/dist/types/src/types/table.d.ts +0 -2
  68. package/dist/types/src/types/table.d.ts.map +1 -1
  69. package/dist/types/src/types/view.d.ts +3 -8
  70. package/dist/types/src/types/view.d.ts.map +1 -1
  71. package/dist/types/src/ui/icon_config.d.ts +5 -3
  72. package/dist/types/src/ui/icon_config.d.ts.map +1 -1
  73. package/dist/types/src/ui/link.d.ts +1 -1
  74. package/dist/types/src/ui/link.d.ts.map +1 -1
  75. package/dist/types/src/ui/use_global_config.d.ts +1 -1
  76. package/dist/types/src/unstable_testing_utils.d.ts +1 -1
  77. package/dist/types/src/unstable_testing_utils.d.ts.map +1 -1
  78. package/dist/types/src/watchable.d.ts.map +1 -1
  79. package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts +121 -0
  80. package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts.map +1 -0
  81. package/dist/types/test/airtable_interface_mocks/linked_records.d.ts +2 -2
  82. package/dist/types/test/airtable_interface_mocks/linked_records.d.ts.map +1 -1
  83. package/dist/types/test/airtable_interface_mocks/{mock_airtable_interface_internal.d.ts → mock_airtable_interface.d.ts} +26 -18
  84. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface.d.ts.map +1 -0
  85. package/dist/types/test/airtable_interface_mocks/mock_base_data_stores.d.ts +51 -0
  86. package/dist/types/test/airtable_interface_mocks/mock_base_data_stores.d.ts.map +1 -0
  87. package/dist/types/test/airtable_interface_mocks/project_tracker.d.ts +2 -2
  88. package/dist/types/test/airtable_interface_mocks/project_tracker.d.ts.map +1 -1
  89. package/dist/types/test/test_helpers.d.ts +2 -0
  90. package/dist/types/test/test_helpers.d.ts.map +1 -1
  91. package/package.json +3 -1
  92. package/dist/types/src/testing/mock_airtable_interface.d.ts.map +0 -1
  93. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface_internal.d.ts.map +0 -1
@@ -0,0 +1,121 @@
1
+ import { BaseId } from '../../src/types/base';
2
+ import { TableId } from '../../src/types/table';
3
+ import { FieldId, FieldType } from '../../src/types/field';
4
+ import { ViewId, ViewType, GroupData, GroupLevelData } from '../../src/types/view';
5
+ import { RecordId } from '../../src/types/record';
6
+ import { CollaboratorData } from '../../src/types/collaborator';
7
+ import { Color } from '../../src/colors';
8
+ import { ObjectMap } from '../../src/private_utils';
9
+ import { SdkInitData } from '../../src/types/airtable_interface';
10
+ export declare function convertFixtureDataToSdkInitData(fixtureData: FixtureData): SdkInitData;
11
+ /**
12
+ * A complete set of information necessary to initialize a simulated Airtable
13
+ * Base in automated test environments. This is currently copied from
14
+ * block-testing.
15
+ * TODO(fredz): consider moving this into src/testing and exporting it as
16
+ * part of unstable_testing_utils.
17
+ *
18
+ * Unlike SdkInitData which does not contain record data by design,
19
+ * FixtureData contains it in fixtureData.base.tables[number].records,
20
+ * and relies on dependent modules to simulate the hyperbase behavior of
21
+ * only making those records after corresponding necessary calls to
22
+ * AirtableInterface.
23
+ */
24
+ export interface FixtureData {
25
+ /** A representation of the state of an Airtable Base */
26
+ base: {
27
+ id: BaseId;
28
+ name: string;
29
+ color?: string;
30
+ tables: Array<TableFixtureData>;
31
+ collaborators: Array<CollaboratorData & {
32
+ isActive: boolean;
33
+ }>;
34
+ };
35
+ }
36
+ /** A representation of the state of a Table */
37
+ export interface TableFixtureData {
38
+ /** A unique identifier for the simulated Tbale */
39
+ id: TableId;
40
+ /** The name to assign to the simulated Table */
41
+ name: string;
42
+ /** The description to assign to the simulated Table */
43
+ description: string | null;
44
+ /**
45
+ * Fixture data for the simulated Fields that should be present in the
46
+ * simulated Table when it is initialized.
47
+ */
48
+ fields: Array<FieldFixtureData>;
49
+ /**
50
+ * Fixture data for the simulated Views that should be present in the
51
+ * simulated Table when it is initialized.
52
+ */
53
+ views: Array<ViewFixtureData>;
54
+ /**
55
+ * Fixture data for the simulated Records that should be present in the
56
+ * simulated Table when it is initialized.
57
+ */
58
+ records: Array<RecordFixtureData>;
59
+ }
60
+ /** A representation of the state of a Field */
61
+ export interface FieldFixtureData {
62
+ /** A unique identifier for the simulated Field */
63
+ id: FieldId;
64
+ /** The name to assign to the simulated Field */
65
+ name: string;
66
+ /** The description to assign to the simulated Field */
67
+ description: string | null;
68
+ /** The type of the simulated Field */
69
+ type: FieldType;
70
+ /** Options associated with the simulated Field */
71
+ options: null | {
72
+ [key: string]: unknown;
73
+ };
74
+ }
75
+ /** A representation of the state of a View */
76
+ export interface ViewFixtureData {
77
+ /** A unique identifier for the simulated View */
78
+ id: ViewId;
79
+ /** The name to assign to the simulated View */
80
+ name: string;
81
+ /** The type of the simulated view */
82
+ type: ViewType;
83
+ /**
84
+ * A description of how simulated Fields should be sequenced within the
85
+ * simulated View
86
+ */
87
+ fieldOrder: {
88
+ fieldIds: Array<FieldId>;
89
+ visibleFieldCount: number;
90
+ };
91
+ /**
92
+ * A set of references to Records contained within the simulated view. This
93
+ * is distinct from the complete fixture data for the simulated Records.
94
+ */
95
+ records: Array<ViewRecordFixtureData>;
96
+ groups?: Array<GroupData>;
97
+ groupLevels?: Array<GroupLevelData>;
98
+ }
99
+ /**
100
+ * A reference to Record contained within a simulated view. This is disctinct
101
+ * from the complete fixture data for the simulated Record.
102
+ */
103
+ interface ViewRecordFixtureData {
104
+ /** A value which uniquely identifies a Record within a base. */
105
+ id: RecordId;
106
+ /** The color associated with a Record's membership in a View. */
107
+ color: Color | null;
108
+ }
109
+ /** A representation of the state of a Record */
110
+ export interface RecordFixtureData {
111
+ /** A unique identifier for the simulated Record */
112
+ id: RecordId;
113
+ /** The number of comments to assign to the simulated record */
114
+ commentCount: number;
115
+ /** The time the simulated record should appear to have been created */
116
+ createdTime: string;
117
+ /** A mapping of field identifiers to cell values */
118
+ cellValuesByFieldId: ObjectMap<FieldId, unknown>;
119
+ }
120
+ export {};
121
+ //# sourceMappingURL=fixture_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture_data.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/fixture_data.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SdkInitData } from '../../src/types/airtable_interface';
2
- declare const linkedRecords: SdkInitData;
1
+ import { FixtureData } from './fixture_data';
2
+ declare const linkedRecords: FixtureData;
3
3
  export default linkedRecords;
4
4
  //# sourceMappingURL=linked_records.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"linked_records.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/linked_records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAC,MAAM,oCAAoC,CAAC;AAGpF,QAAA,MAAM,aAAa,EAAE,WAkIpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"linked_records.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/linked_records.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,QAAA,MAAM,aAAa,EAAE,WA8GpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,26 +1,42 @@
1
1
  /// <reference types="jest" />
2
- import { Aggregators, FieldTypeProvider, UrlConstructor, GlobalConfigHelpers, IdGenerator, VisList, PartialViewData } from '../../src/types/airtable_interface';
3
- import MockAirtableInterface from '../../src/testing/mock_airtable_interface';
2
+ import { Aggregators, BlockQuerySubscriptionOptions, FieldTypeProvider, UrlConstructor, GlobalConfigHelpers, IdGenerator, VisList, RecordStoreForTable, ViewStore } from '../../src/types/airtable_interface';
3
+ import { BlockQueryId, BlockQuerySpec, QuerySpecsResponse } from '../../src/types/block_query_spec';
4
+ import { AbstractMockAirtableInterface } from '../../src/testing/abstract_mock_airtable_interface';
5
+ import { ModelChange } from '../../src/types/base';
4
6
  import { TableId } from '../../src/types/table';
5
- import { FieldId } from '../../src/types/field';
7
+ import { ViewId } from '../../src/types/view';
6
8
  import { CursorData } from '../../src/types/cursor';
7
- import { RecordData } from '../../src/types/record';
8
9
  import { RecordActionData } from '../../src/types/record_action_data';
9
10
  import { RequestJson, ResponseJson } from '../../src/types/backend_fetch_types';
11
+ import { MockBaseDataStore } from './mock_base_data_stores';
12
+ import { FixtureData } from './fixture_data';
10
13
  /**
11
- * An implementation of the MockAirtableInterface designed for use in the
14
+ * An implementation of the AbstractMockAirtableInterface designed for use in the
12
15
  * Blocks SDK internal automated test suite. Provides Jest spies for all
13
16
  * available methods (and which resets the state of those spies with every call
14
17
  * to `reset`).
15
18
  */
16
- declare class MockAirtableInterfaceInternal extends MockAirtableInterface {
17
- static projectTrackerExample(): jest.Mocked<MockAirtableInterfaceInternal>;
18
- static linkedRecordsExample(): jest.Mocked<MockAirtableInterfaceInternal>;
19
+ export declare class MockAirtableInterface extends AbstractMockAirtableInterface {
20
+ static projectTrackerExample(): jest.Mocked<MockAirtableInterface>;
21
+ static linkedRecordsExample(): jest.Mocked<MockAirtableInterface>;
22
+ static createFromFixtureData(fixtureData: FixtureData): jest.Mocked<MockAirtableInterface>;
23
+ _mockBaseDataStore: MockBaseDataStore;
24
+ _initialFixtureData: FixtureData;
25
+ constructor(fixtureData: FixtureData);
26
+ triggerModelUpdates(changes: ReadonlyArray<ModelChange>): void;
19
27
  get aggregators(): jest.Mocked<Aggregators>;
20
28
  get fieldTypeProvider(): jest.Mocked<FieldTypeProvider>;
21
29
  get urlConstructor(): jest.Mocked<UrlConstructor>;
22
30
  get globalConfigHelpers(): jest.Mocked<GlobalConfigHelpers>;
23
31
  get idGenerator(): jest.Mocked<IdGenerator>;
32
+ getMockBaseDataStore(): MockBaseDataStore;
33
+ subscribeToQueryAndPopulateStoresAsync(query: BlockQuerySpec, options: BlockQuerySubscriptionOptions): Promise<QuerySpecsResponse>;
34
+ unsubscribeFromQueryIdsAsync(querySpecIds: Array<BlockQueryId>): Promise<{
35
+ status: boolean;
36
+ }>;
37
+ getTableRecordStoreIfExists(tableId: TableId): RecordStoreForTable | null;
38
+ getViewMetadataStoreIfExists(tableId: TableId, viewId: ViewId): ViewStore | null;
39
+ getCountOfQueriesSubscribed(): number;
24
40
  /**
25
41
  * Revert the mock interface to its initial state. This includes:
26
42
  *
@@ -29,15 +45,8 @@ declare class MockAirtableInterfaceInternal extends MockAirtableInterface {
29
45
  * - recreating the Jest "spies" for every instance method
30
46
  */
31
47
  reset(): void;
32
- createVisList(...args: Parameters<MockAirtableInterface['createVisList']>): jest.Mocked<VisList>;
33
- fetchAndSubscribeToCellValuesInFieldsAsync(tableId: TableId, fieldIds: Array<FieldId>): Promise<any>;
48
+ createVisListWithRecordIds(...args: Parameters<AbstractMockAirtableInterface['createVisListWithRecordIds']>): jest.Mocked<VisList>;
34
49
  fetchAndSubscribeToCursorDataAsync(): Promise<CursorData>;
35
- fetchAndSubscribeToTableDataAsync(tableId: string): Promise<{
36
- recordsById: {
37
- [recordId: string]: RecordData;
38
- };
39
- }>;
40
- fetchAndSubscribeToViewDataAsync(tableId: string, viewId: string): Promise<PartialViewData>;
41
50
  fetchDefaultCellValuesByFieldIdAsync(): Promise<{
42
51
  [key: string]: unknown;
43
52
  }>;
@@ -56,5 +65,4 @@ declare class MockAirtableInterfaceInternal extends MockAirtableInterface {
56
65
  sendStat(): void;
57
66
  performBackendFetchAsync(requestJson: RequestJson): Promise<ResponseJson>;
58
67
  }
59
- export default MockAirtableInterfaceInternal;
60
- //# sourceMappingURL=mock_airtable_interface_internal.d.ts.map
68
+ //# sourceMappingURL=mock_airtable_interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_airtable_interface.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/mock_airtable_interface.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,WAAW,EACX,6BAA6B,EAC7B,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,SAAS,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAC,6BAA6B,EAAC,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,WAAW,EAAkC,MAAM,gBAAgB,CAAC;AAuB5E;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,6BAA6B;IACpE,MAAM,CAAC,qBAAqB;IAI5B,MAAM,CAAC,oBAAoB;IAI3B,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW;IAIrD,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,WAAW,CAAC;gBACrB,WAAW,EAAE,WAAW;IAOpC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;IAqBvD,IAAI,WAAW,6BAEd;IAED,IAAI,iBAAiB,mCAEpB;IAED,IAAI,cAAc,gCAEjB;IAED,IAAI,mBAAmB,qCAEtB;IAED,IAAI,WAAW,6BAEd;IAED,oBAAoB,IAAI,iBAAiB;IAKzC,sCAAsC,CAClC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,kBAAkB,CAAC;IAI9B,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;IAK3F,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI;IAKzE,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIhF,2BAA2B,IAAI,MAAM;IAIrC;;;;;;OAMG;IACH,KAAK;IAgBL,0BAA0B,CACtB,GAAG,IAAI,EAAE,UAAU,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,CAAC,GACjF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAMvB,kCAAkC,IAAI,OAAO,CAAC,UAAU,CAAC;IAGzD,oCAAoC,IAAI,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAGzE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAG/E,gBAAgB;IAGhB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAGjD,WAAW;IAGX,2BAA2B;IAG3B,eAAe;IAGf,oBAAoB;IAGpB,eAAe;IAGf,cAAc;IAGd,2CAA2C,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAG/E,UAAU;IAGV,aAAa;IAGb,QAAQ;IAGR,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAG5E"}
@@ -0,0 +1,51 @@
1
+ import { BlockQuerySubscriptionOptions, RecordStoreForTable, ViewStore } from '../../src/types/airtable_interface';
2
+ import { BlockQuerySpec, BlockQueryId, BlockQuerySubscriptionOnChangeCallback, QuerySpecsResponse } from '../../src/types/block_query_spec';
3
+ import { Color } from '../../src/colors';
4
+ import { FieldId } from '../../src/types/field';
5
+ import { RecordId } from '../../src/types/record';
6
+ import { TableId } from '../../src/types/table';
7
+ import { ViewId } from '../../src/types/view';
8
+ import { ObjectMap } from '../../src/private_utils';
9
+ import { MockAirtableInterface } from './mock_airtable_interface';
10
+ import { FixtureData, TableFixtureData, RecordFixtureData, ViewFixtureData, FieldFixtureData } from './fixture_data';
11
+ export declare class MockBaseDataStore {
12
+ _mockAirtableInterface: MockAirtableInterface;
13
+ _fixtureData: FixtureData;
14
+ _tablesById: ObjectMap<TableId, TableFixtureData>;
15
+ _subscribedQuerySpecs: ObjectMap<BlockQueryId, {
16
+ querySpec: BlockQuerySpec;
17
+ onChangeCallback?: BlockQuerySubscriptionOnChangeCallback;
18
+ }>;
19
+ _deletedRecordIds: Array<RecordId>;
20
+ _onUnsubscribeFromQueryCallback: (() => void) | null;
21
+ _upperQueryIdsFromPreviousTests: number;
22
+ _shouldQueriesFail: boolean;
23
+ constructor(mockAirtableInterface: MockAirtableInterface, fixtureData: FixtureData);
24
+ setSubscribeToQueryFailureMode(shouldQueriesFail: boolean): void;
25
+ subscribeToQueryAndPopulateStoresAsync(querySpec: BlockQuerySpec, options: BlockQuerySubscriptionOptions): Promise<QuerySpecsResponse>;
26
+ unsubscribeFromQueryIdsAsync(querySpecIds: Array<BlockQueryId>): Promise<{
27
+ status: boolean;
28
+ }>;
29
+ setTableRecordsAsync(tableId: TableId, fixtureRecords: Array<RecordFixtureData>): Promise<void>;
30
+ deleteRecordAsync(tableId: TableId, recordId: RecordId): Promise<void>;
31
+ createRecordAsync(tableId: TableId, initialFixtureRecord: RecordFixtureData): Promise<void>;
32
+ updateRecord(tableId: TableId, recordId: RecordId, fieldId: FieldId, newValue: unknown, opts?: {
33
+ allowUnexpected?: boolean;
34
+ shouldForceOnChangeCallbackWhenNoQueriesMatchRecord?: boolean;
35
+ shouldCallSubscriptionChangesWithEmptyArray?: boolean;
36
+ }): void;
37
+ updateCommentCount(tableId: TableId, recordId: RecordId, newCommentCount: number): void;
38
+ updateColorInView(tableId: TableId, viewId: ViewId, recordId: RecordId, newColor: Color | null): void;
39
+ getTableRecordStoreIfExists(tableId: TableId): RecordStoreForTable | null;
40
+ _getPartiallyLoadedRecordIds(fixtureTable: TableFixtureData): string[];
41
+ addFieldToFixtureTable(tableId: TableId, fieldFixtureData: FieldFixtureData): void;
42
+ _isRecordCellValueLoadedForFieldId(fixtureTable: TableFixtureData, recordId: RecordId, fieldId: FieldId): boolean;
43
+ _getRecordCellValueByFieldId(fixtureTable: TableFixtureData, recordId: RecordId, fieldId: FieldId): unknown;
44
+ _getRecordCommentCount(fixtureTable: TableFixtureData, recordId: RecordId): number;
45
+ _getRecordCreatedTime(fixtureTable: TableFixtureData, recordId: RecordId): Date;
46
+ setViewData(tableId: TableId, viewId: ViewId, viewFixtureData: Partial<ViewFixtureData>): void;
47
+ getViewMetadataStoreIfExists(tableId: TableId, viewId: ViewId): ViewStore | null;
48
+ getCountOfQueriesSubscribed(): number;
49
+ onUnsubscribeFromQuery(onUnsubscribeFromQueryCallback: () => void): void;
50
+ }
51
+ //# sourceMappingURL=mock_base_data_stores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_base_data_stores.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/mock_base_data_stores.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SdkInitData } from '../../src/types/airtable_interface';
2
- declare const projectTracker: SdkInitData;
1
+ import { FixtureData } from './fixture_data';
2
+ declare const projectTracker: FixtureData;
3
3
  export default projectTracker;
4
4
  //# sourceMappingURL=project_tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project_tracker.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/project_tracker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAC,MAAM,oCAAoC,CAAC;AAGpF,QAAA,MAAM,cAAc,EAAE,WAyZrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"project_tracker.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/project_tracker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,QAAA,MAAM,cAAc,EAAE,WA6YrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { ReactWrapper } from 'enzyme';
2
2
  import Watchable from '../src/watchable';
3
+ import { MockAirtableInterface } from './airtable_interface_mocks/mock_airtable_interface';
3
4
  /**
4
5
  * include a section of code that must pass flow but shouldn't actually be executed. Use it along
5
6
  * with '// flow-expect-error' to write tests for flow-type definitions that won't be run by jest.
6
7
  */
7
8
  export declare function flowTest(description: string, fn: () => unknown): void;
9
+ export declare const waitForAllQueriesToFullyUnsubscribeAsync: (mockAirtableInterface: MockAirtableInterface) => Promise<unknown>;
8
10
  export declare function getComputedStylePropValue<Props extends {}>(wrapper: ReactWrapper<Props>, styleProp: string): string;
9
11
  export declare function waitForWatchKeyAsync<Key extends string>(model: Watchable<Key>, key: Key): Promise<void>;
10
12
  export declare function simulateTimersAndClearAfterEachTest(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"test_helpers.d.ts","sourceRoot":"","sources":["../../../test/test_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAErE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,EAAE,EACtD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAE,MAAM,GAClB,MAAM,CAGR;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,MAAM,EACnD,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EACrB,GAAG,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAwB1D"}
1
+ {"version":3,"file":"test_helpers.d.ts","sourceRoot":"","sources":["../../../test/test_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,oDAAoD,CAAC;AAEzF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAErE;AAED,eAAO,MAAM,wCAAwC,oEAiBpD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,EAAE,EACtD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAE,MAAM,GAClB,MAAM,CAGR;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,MAAM,EACnD,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EACrB,GAAG,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAwB1D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airtable/blocks",
3
- "version": "1.8.0",
3
+ "version": "1.9.0-experimental",
4
4
  "description": "Airtable Blocks SDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,7 +27,9 @@
27
27
  "unstable_testing_utils.d.ts"
28
28
  ],
29
29
  "scripts": {
30
+ "preinstall": "npx only-allow yarn",
30
31
  "ci": "yarn run build && yarn run test:coverage && ./scripts/check_typescript_when_installed_in_block.sh",
32
+ "ci-partial": "yarn run ci",
31
33
  "pretest": "yarn run lint && yarn run types",
32
34
  "version": "changelog-publish --github-repo-url='https://github.com/airtable/blocks' --git-tag-prefix='@airtable/blocks@' && yarn run build:docs && git add CHANGELOG.md ../blocks-docs/docs.json",
33
35
  "release": "npm_config_registry=https://registry.npmjs.org/ release-it",
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock_airtable_interface.d.ts","sourceRoot":"","sources":["../../../../src/testing/mock_airtable_interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,WAAW,EACX,iBAAiB,EACjB,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,OAAO,EACV,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAE,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,QAAA,MAAM,YAAY,KAAoB,CAAC;AAwHvC,cAAc;AACd,uBAAe,qBAAsB,SAAQ,YAAa,YAAW,iBAAiB;IAClF,WAAW,EAAG,WAAW,CAAC;IAE1B,OAAO,CAAC,SAAS,CAAc;gBAEnB,QAAQ,EAAE,WAAW;IAMjC;;;;;OAKG;IACH,KAAK;IAOL,IAAI,WAAW,gBAEd;IAED,IAAI,iBAAiB,sBAEpB;IAED,IAAI,cAAc,mBAEjB;IAED,IAAI,mBAAmB,wBAEtB;IAED,IAAI,WAAW,gBAEd;IAED,8BAA8B;IAE9B,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,GAAG,qBAAqB;IAMtE,aAAa,CACT,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,EAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAC5B,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,GACnC,OAAO;IAUV,uBAAuB,CAAC,EAAE,EAAE,QAAQ;IAIpC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAGrD,8BAA8B;IAC9B,8BAA8B;IAC9B,0BAA0B;IAC1B,yBAAyB;IACzB,gBAAgB;IAChB,QAAQ,CAAC,0CAA0C,CAC/C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IACf,QAAQ,CAAC,kCAAkC,IAAI,OAAO,CAAC,UAAU,CAAC;IAClE,QAAQ,CAAC,iCAAiC,CACtC,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAC,WAAW,EAAE;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;SAAC,CAAA;KAAC,CAAC;IAC3D,QAAQ,CAAC,gCAAgC,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAC3B,QAAQ,CAAC,oCAAoC,IAAI,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAElF,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC;IAKvD,0BAA0B;IAC1B,0BAA0B;IAC1B,sBAAsB;IACtB,qBAAqB;IACrB,YAAY;IAEZ,yBAAyB;IACzB,wBAAwB;IACxB,iCAAiC;IACjC,uBAAuB;IAEvB,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAC/F,QAAQ,CAAC,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAC/B,IAAI;IACP,QAAQ,CAAC,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,EAC9B,yBAAyB,EAAE,OAAO,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,WAAW,IAAI,IAAI;IAC5B,QAAQ,CAAC,2BAA2B,IAAI,IAAI;IAC5C,QAAQ,CAAC,eAAe,IAAI,IAAI;IAChC,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,IAAI;IAC9E,QAAQ,CAAC,eAAe,IAAI,IAAI;IAChC,QAAQ,CAAC,cAAc,IAAI,IAAI;IAC/B,QAAQ,CAAC,2CAA2C,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACxF,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,aAAa,IAAI,IAAI;IAC9B,QAAQ,CAAC,QAAQ,IAAI,IAAI;IACzB,QAAQ,CAAC,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CACrF;AAED,eAAe,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock_airtable_interface_internal.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/mock_airtable_interface_internal.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,eAAe,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAyB9E;;;;;GAKG;AACH,cAAM,6BAA8B,SAAQ,qBAAqB;IAC7D,MAAM,CAAC,qBAAqB;IAM5B,MAAM,CAAC,oBAAoB;IAM3B,IAAI,WAAW,6BAEd;IAED,IAAI,iBAAiB,mCAEpB;IAED,IAAI,cAAc,gCAEjB;IAED,IAAI,mBAAmB,qCAEtB;IAED,IAAI,WAAW,6BAEd;IAED;;;;;;OAMG;IACH,KAAK;IAWL,aAAa,CACT,GAAG,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,GAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAMvB,0CAA0C,CACtC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IAGf,kCAAkC,IAAI,OAAO,CAAC,UAAU,CAAC;IAGzD,iCAAiC,CAC7B,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAC,WAAW,EAAE;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;SAAC,CAAA;KAAC,CAAC;IAGrD,gCAAgC,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAG3B,oCAAoC,IAAI,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAGzE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAG/E,gBAAgB;IAGhB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAGjD,WAAW;IAGX,2BAA2B;IAG3B,eAAe;IAGf,oBAAoB;IAGpB,eAAe;IAGf,cAAc;IAGd,2CAA2C,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAG/E,UAAU;IAGV,aAAa;IAGb,QAAQ;IAGR,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAG5E;AAED,eAAe,6BAA6B,CAAC"}