oca_package 1.5.0 → 1.7.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.
Files changed (40) hide show
  1. package/README.md +0 -2
  2. package/dist/cjs/oca_extensions/extensions.js +28 -15
  3. package/dist/cjs/oca_extensions/state/overlays/example.js +8 -3
  4. package/dist/cjs/oca_extensions/state/overlays/form.js +149 -0
  5. package/dist/cjs/oca_extensions/state/overlays/framing/attribute_framing.js +6 -1
  6. package/dist/cjs/oca_extensions/state/overlays/framing/unit_framing.js +6 -1
  7. package/dist/cjs/oca_extensions/state/overlays/ordering.js +6 -1
  8. package/dist/cjs/oca_extensions/state/overlays/range.js +6 -1
  9. package/dist/cjs/oca_extensions/state/overlays/sensitive.js +6 -1
  10. package/dist/cjs/oca_extensions/state/overlays/separator.js +6 -2
  11. package/dist/cjs/oca_package.js +1 -1
  12. package/dist/esm/oca_extensions/extensions.js +28 -15
  13. package/dist/esm/oca_extensions/state/overlays/example.js +8 -3
  14. package/dist/esm/oca_extensions/state/overlays/form.js +144 -0
  15. package/dist/esm/oca_extensions/state/overlays/framing/attribute_framing.js +6 -1
  16. package/dist/esm/oca_extensions/state/overlays/framing/unit_framing.js +6 -1
  17. package/dist/esm/oca_extensions/state/overlays/ordering.js +6 -1
  18. package/dist/esm/oca_extensions/state/overlays/range.js +6 -1
  19. package/dist/esm/oca_extensions/state/overlays/sensitive.js +6 -1
  20. package/dist/esm/oca_extensions/state/overlays/separator.js +6 -2
  21. package/dist/esm/oca_package.js +1 -1
  22. package/dist/types/oca_extensions/extensions.d.ts +4 -2
  23. package/dist/types/oca_extensions/extensions.d.ts.map +1 -1
  24. package/dist/types/oca_extensions/state/overlays/example.d.ts +3 -2
  25. package/dist/types/oca_extensions/state/overlays/example.d.ts.map +1 -1
  26. package/dist/types/oca_extensions/state/overlays/form.d.ts +26 -0
  27. package/dist/types/oca_extensions/state/overlays/form.d.ts.map +1 -0
  28. package/dist/types/oca_extensions/state/overlays/framing/attribute_framing.d.ts +2 -1
  29. package/dist/types/oca_extensions/state/overlays/framing/attribute_framing.d.ts.map +1 -1
  30. package/dist/types/oca_extensions/state/overlays/framing/unit_framing.d.ts +2 -1
  31. package/dist/types/oca_extensions/state/overlays/framing/unit_framing.d.ts.map +1 -1
  32. package/dist/types/oca_extensions/state/overlays/ordering.d.ts +2 -1
  33. package/dist/types/oca_extensions/state/overlays/ordering.d.ts.map +1 -1
  34. package/dist/types/oca_extensions/state/overlays/range.d.ts +2 -1
  35. package/dist/types/oca_extensions/state/overlays/range.d.ts.map +1 -1
  36. package/dist/types/oca_extensions/state/overlays/sensitive.d.ts +2 -1
  37. package/dist/types/oca_extensions/state/overlays/sensitive.d.ts.map +1 -1
  38. package/dist/types/oca_extensions/state/overlays/separator.d.ts +2 -1
  39. package/dist/types/oca_extensions/state/overlays/separator.d.ts.map +1 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -14,7 +14,6 @@ npm i oca_package
14
14
 
15
15
  ```typescript
16
16
  import { OcaPackage } from 'oca_package';
17
- import { except } from 'vitest'; // make sure to install vitest or use any other testing library
18
17
 
19
18
  const extension = {
20
19
  extensions: {
@@ -125,5 +124,4 @@ const oca_bundle = {
125
124
  };
126
125
 
127
126
  const oca_package = new OcaPackage(extension, oca_bundle);
128
- expect(JSON.parse(oca_package.GenerateOcaPackage()).d).toBe('EG5L9MmzrvRdscWysJKw7tfwutGD0MSkFNsbULms3AmV');
129
127
  ```
@@ -11,6 +11,7 @@ exports.Extension = exports.Overlay = exports.ExtensionState = void 0;
11
11
  const ordering_js_1 = __importDefault(require("./state/overlays/ordering.js"));
12
12
  const unit_framing_js_1 = __importDefault(require("./state/overlays/framing/unit_framing.js"));
13
13
  const example_js_1 = __importDefault(require("./state/overlays/example.js"));
14
+ const form_js_1 = __importDefault(require("./state/overlays/form.js"));
14
15
  const range_js_1 = __importDefault(require("./state/overlays/range.js"));
15
16
  const sensitive_js_1 = __importDefault(require("./state/overlays/sensitive.js"));
16
17
  const attribute_framing_js_1 = __importDefault(require("./state/overlays/framing/attribute_framing.js"));
@@ -42,48 +43,56 @@ class ExtensionState {
42
43
  }
43
44
  exports.ExtensionState = ExtensionState;
44
45
  class Overlay {
45
- constructor(community_overlay) {
46
+ constructor(community_overlay, capture_base_digest) {
47
+ if (!capture_base_digest) {
48
+ throw new Error('capture_base_digest is required');
49
+ }
46
50
  this._overlay = community_overlay;
51
+ this._capture_base_digest = capture_base_digest;
47
52
  }
48
53
  GenerateOverlay() {
49
54
  const overlay = {};
50
55
  for (const ov_type in this._overlay) {
51
56
  if (ov_type === 'ordering_overlay') {
52
- const ordering_instance = new ordering_js_1.default(this._overlay.ordering_overlay);
57
+ const ordering_instance = new ordering_js_1.default(this._overlay.ordering_overlay, this._capture_base_digest);
53
58
  const ordering_ov = ordering_instance.GenerateOverlay();
54
59
  overlay['ordering'] = JSON.parse(ordering_ov);
55
60
  }
56
61
  else if (ov_type === 'unit_framing_overlay') {
57
- const unit_framing_instance = new unit_framing_js_1.default(this._overlay.unit_framing_overlay);
62
+ const unit_framing_instance = new unit_framing_js_1.default(this._overlay.unit_framing_overlay, this._capture_base_digest);
58
63
  const unit_framing_ov = unit_framing_instance.GenerateOverlay();
59
64
  overlay['unit_framing'] = JSON.parse(unit_framing_ov);
60
65
  }
61
66
  else if (ov_type === 'range_overlay') {
62
- const range_instance = new range_js_1.default(this._overlay.range_overlay);
67
+ const range_instance = new range_js_1.default(this._overlay.range_overlay, this._capture_base_digest);
63
68
  const range_ov = range_instance.GenerateOverlay();
64
69
  overlay['range'] = JSON.parse(range_ov);
65
70
  }
66
71
  else if (ov_type === 'example_overlay') {
67
- const example_ov = example_js_1.default.GenerateOverlay(this._overlay.example_overlay);
72
+ const example_ov = example_js_1.default.GenerateOverlay(this._overlay.example_overlay, this._capture_base_digest);
68
73
  overlay['example'] = JSON.parse(example_ov);
69
74
  }
75
+ else if (ov_type === 'form_overlay') {
76
+ const form_ov = form_js_1.default.GenerateOverlay(this._overlay.form_overlay, this._capture_base_digest);
77
+ overlay['form'] = JSON.parse(form_ov);
78
+ }
70
79
  else if (ov_type === 'sensitive_overlay') {
71
- const sensitive_instance = new sensitive_js_1.default(this._overlay.sensitive_overlay);
80
+ const sensitive_instance = new sensitive_js_1.default(this._overlay.sensitive_overlay, this._capture_base_digest);
72
81
  const sensitive_ov = sensitive_instance.GenerateOverlay();
73
82
  overlay['sensitive'] = JSON.parse(sensitive_ov);
74
83
  }
75
84
  else if (ov_type === 'separator_overlay') {
76
- const separator_instance = new separator_js_1.default(this._overlay.separator_overlay);
85
+ const separator_instance = new separator_js_1.default(this._overlay.separator_overlay, this._capture_base_digest);
77
86
  const separator_ov = separator_instance.GenerateOverlay();
78
87
  overlay['separator'] = JSON.parse(separator_ov);
79
88
  }
80
89
  else if (ov_type === 'attribute_framing_overlay') {
81
- const attribute_framing_instance = new attribute_framing_js_1.default(this._overlay.attribute_framing_overlay);
90
+ const attribute_framing_instance = new attribute_framing_js_1.default(this._overlay.attribute_framing_overlay, this._capture_base_digest);
82
91
  const attribute_framing_ov = attribute_framing_instance.GenerateOverlay();
83
92
  overlay['attribute_framing'] = JSON.parse(attribute_framing_ov);
84
93
  }
85
94
  else {
86
- throw new Error(`Unsupported overaly type ${ov_type}. Supported extension overlays at ADC are [ ordering_overlay, unit_framing_overlay, range_overlay, example_overlay, sensitive_overlay ]`);
95
+ throw new Error(`Unsupported overaly type ${ov_type}. Supported extension overlays at ADC are [ ordering_overlay, unit_framing_overlay, range_overlay, example_overlay, form_overlay, sensitive_overlay, separator_overlay, attribute_framing_overlay ]`);
87
96
  }
88
97
  }
89
98
  const sortedOverlays = Object.keys(overlay)
@@ -97,11 +106,11 @@ class Overlay {
97
106
  }
98
107
  exports.Overlay = Overlay;
99
108
  class ADCOverlayStrategy {
100
- GenerateOverlay(extensions) {
109
+ GenerateOverlay(extensions, capture_base_digest) {
101
110
  const overlays = {};
102
111
  for (const extKey in extensions) {
103
112
  const ext = extensions[extKey];
104
- const overlay_instance = new Overlay(ext);
113
+ const overlay_instance = new Overlay(ext, capture_base_digest);
105
114
  const generated_overlay = overlay_instance.GenerateOverlay();
106
115
  for (const overlay_type in generated_overlay) {
107
116
  overlays[overlay_type] = generated_overlay[overlay_type];
@@ -118,19 +127,23 @@ class DefaultOverlayStrategy {
118
127
  }
119
128
  }
120
129
  class Extension {
121
- constructor(_extensions_input, community) {
130
+ constructor(_extensions_input, community, capture_base_digest) {
122
131
  this.d = '';
123
132
  this.overlays = {};
124
133
  if (!_extensions_input || !community) {
125
134
  throw new Error('extension array is required from extension state and community is required');
126
135
  }
136
+ if (!capture_base_digest) {
137
+ throw new Error('capture_base_digest is required');
138
+ }
127
139
  this._community = community;
128
140
  this._exensions = _extensions_input;
129
141
  this.type = `community/${this._community}/extension/${EXTENSION_VERSION}`;
142
+ this.capture_base_digest = capture_base_digest;
130
143
  }
131
144
  GenerateOverlays() {
132
145
  const strategy = this._community === ADC_COMMUNITY ? new ADCOverlayStrategy() : new DefaultOverlayStrategy();
133
- return strategy.GenerateOverlay(this._exensions);
146
+ return strategy.GenerateOverlay(this._exensions, this.capture_base_digest);
134
147
  }
135
148
  toJSON() {
136
149
  return {
@@ -164,7 +177,7 @@ class ExtensionBox {
164
177
  if (bundle_digest === (0, helpers_js_1.ocabundleDigest)(this._oca_bundle)) {
165
178
  const capture_base_digest = (0, helpers_js_1.getDigest)(this._oca_bundle);
166
179
  const community_extension_input = extensionState_communities[community][bundle_digest];
167
- const extension = new Extension(community_extension_input, community);
180
+ const extension = new Extension(community_extension_input, community, capture_base_digest);
168
181
  extensionsBox[community][capture_base_digest] = extension.GenerateExtension();
169
182
  }
170
183
  else if (bundle_digest !== (0, helpers_js_1.ocabundleDigest)(this._oca_bundle)) {
@@ -172,7 +185,7 @@ class ExtensionBox {
172
185
  const current_bundle = (0, helpers_js_1.getOcaBundleFromDeps)(this._oca_bundle, bundle_digest);
173
186
  const capture_base_digest = (0, helpers_js_1.getDigest)(current_bundle);
174
187
  const community_extension_input = extensionState_communities[community][bundle_digest];
175
- const extension = new Extension(community_extension_input, community);
188
+ const extension = new Extension(community_extension_input, community, capture_base_digest);
176
189
  extensionsBox[community][capture_base_digest] = extension.GenerateExtension();
177
190
  }
178
191
  }
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const saidify_1 = require("saidify");
7
7
  const canonical_js_1 = __importDefault(require("../../../utils/canonical.js"));
8
8
  class ExampleOverlay {
9
- constructor(dynOverlay) {
9
+ constructor(dynOverlay, capture_base_digest) {
10
10
  if (!dynOverlay) {
11
11
  throw new Error('A dynamic extension overlay is required');
12
12
  }
13
+ if (!capture_base_digest) {
14
+ throw new Error('capture_base_digest is required');
15
+ }
13
16
  this.dynOverlay = dynOverlay;
17
+ this.capture_base_digest = capture_base_digest;
14
18
  }
15
19
  get language() {
16
20
  return this.dynOverlay.language;
@@ -24,6 +28,7 @@ class ExampleOverlay {
24
28
  toJSON() {
25
29
  return {
26
30
  d: '',
31
+ capture_base: this.capture_base_digest,
27
32
  type: 'community/overlays/adc/example/1.1',
28
33
  language: this.language,
29
34
  attribute_examples: this.GetAttributeExamples(),
@@ -37,7 +42,7 @@ class ExampleOverlay {
37
42
  GenerateExampleOverlay() {
38
43
  return JSON.stringify(this.Saidifying());
39
44
  }
40
- static GenerateOverlay(dynOverlay) {
45
+ static GenerateOverlay(dynOverlay, capture_base_digest) {
41
46
  if (!dynOverlay || typeof dynOverlay !== 'object' || !Array.isArray(dynOverlay['example_overlays'])) {
42
47
  throw new Error('Invalid dynOverlay structure. Expected an object with an "example_overlays" array.');
43
48
  }
@@ -45,7 +50,7 @@ class ExampleOverlay {
45
50
  const overlays = dynOverlay['example_overlays'];
46
51
  for (let example_ov of overlays) {
47
52
  try {
48
- const example_overlay = new ExampleOverlay(example_ov);
53
+ const example_overlay = new ExampleOverlay(example_ov, capture_base_digest);
49
54
  example_overlays.push(JSON.parse(example_overlay.GenerateExampleOverlay()));
50
55
  }
51
56
  catch (error) {
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const saidify_1 = require("saidify");
7
+ const canonical_js_1 = __importDefault(require("../../../utils/canonical.js"));
8
+ class FormOverlay {
9
+ constructor(dynOverlay, capture_base_digest) {
10
+ if (!dynOverlay) {
11
+ throw new Error('A dynamic extension overlay is required');
12
+ }
13
+ if (!capture_base_digest) {
14
+ throw new Error('capture_base_digest is required');
15
+ }
16
+ this.dynOverlay = dynOverlay;
17
+ this.capture_base_digest = capture_base_digest;
18
+ }
19
+ get language() {
20
+ return this.dynOverlay.language;
21
+ }
22
+ GetPages() {
23
+ const pages = this.dynOverlay.pages;
24
+ const canonicalizedPages = (0, canonical_js_1.default)(pages);
25
+ const sortedPages = JSON.parse(canonicalizedPages);
26
+ return sortedPages;
27
+ }
28
+ GetPageOrder() {
29
+ return this.dynOverlay.page_order;
30
+ }
31
+ GetPageLabels() {
32
+ // language specific page labels
33
+ const allPageLabels = this.dynOverlay.page_labels;
34
+ if (allPageLabels && allPageLabels[this.language]) {
35
+ return allPageLabels[this.language];
36
+ }
37
+ return {};
38
+ }
39
+ GetSidebarLabel() {
40
+ // language specific sidebar labels
41
+ const allSidebarLabels = this.dynOverlay.sidebar_label;
42
+ if (allSidebarLabels && allSidebarLabels[this.language]) {
43
+ return allSidebarLabels[this.language];
44
+ }
45
+ return {};
46
+ }
47
+ GetDescription() {
48
+ // language specific descriptions
49
+ const allDescriptions = this.dynOverlay.description;
50
+ if (allDescriptions && allDescriptions[this.language]) {
51
+ return allDescriptions[this.language];
52
+ }
53
+ return {};
54
+ }
55
+ GetTitle() {
56
+ // language specific title
57
+ const allTitles = this.dynOverlay.title;
58
+ if (allTitles && allTitles[this.language]) {
59
+ return allTitles[this.language];
60
+ }
61
+ return '';
62
+ }
63
+ GetInteraction() {
64
+ const interaction = this.dynOverlay.interaction;
65
+ if (!interaction || !Array.isArray(interaction) || interaction.length === 0) {
66
+ return interaction;
67
+ }
68
+ // language specific interaction
69
+ const languageSpecificInteraction = interaction.map(interactionItem => {
70
+ const languageSpecificArguments = {};
71
+ for (const [attributeName, attributeConfig] of Object.entries(interactionItem.arguments || {})) {
72
+ const config = attributeConfig;
73
+ const newConfig = {
74
+ type: config.type
75
+ };
76
+ // language specific placeholder
77
+ if (config.placeholder) {
78
+ if (typeof config.placeholder === 'object' && config.placeholder !== null) {
79
+ const placeholder = config.placeholder[this.language] || '';
80
+ if (placeholder) {
81
+ newConfig.placeholder = placeholder;
82
+ }
83
+ }
84
+ else {
85
+ newConfig.placeholder = config.placeholder;
86
+ }
87
+ }
88
+ if (config.options) {
89
+ newConfig.options = config.options;
90
+ }
91
+ if (config.input_type) {
92
+ newConfig.input_type = config.input_type;
93
+ }
94
+ languageSpecificArguments[attributeName] = newConfig;
95
+ }
96
+ return {
97
+ ...interactionItem,
98
+ arguments: languageSpecificArguments
99
+ };
100
+ });
101
+ const canonicalizedInteraction = (0, canonical_js_1.default)(languageSpecificInteraction);
102
+ const sortedInteraction = JSON.parse(canonicalizedInteraction);
103
+ return sortedInteraction;
104
+ }
105
+ toJSON() {
106
+ return {
107
+ d: '',
108
+ capture_base: this.capture_base_digest,
109
+ type: 'community/overlays/adc/form/1.1',
110
+ language: this.language,
111
+ pages: this.GetPages(),
112
+ page_order: this.GetPageOrder(),
113
+ page_labels: this.GetPageLabels(),
114
+ sidebar_label: this.GetSidebarLabel(),
115
+ description: this.GetDescription(),
116
+ title: this.GetTitle(),
117
+ interaction: this.GetInteraction(),
118
+ };
119
+ }
120
+ Saidifying() {
121
+ const [, sad] = (0, saidify_1.saidify)(this.toJSON());
122
+ return sad;
123
+ }
124
+ // generates a single form overlay
125
+ GenerateFormOverlay() {
126
+ return JSON.stringify(this.Saidifying());
127
+ }
128
+ static GenerateOverlay(dynOverlay, capture_base_digest) {
129
+ if (!dynOverlay || typeof dynOverlay !== 'object' || !Array.isArray(dynOverlay['form_overlays'])) {
130
+ console.error('[Form ERROR] Invalid structure. dynOverlay:', dynOverlay);
131
+ throw new Error('Invalid dynOverlay structure. Expected an object with a "form_overlays" array.');
132
+ }
133
+ const form_overlays = [];
134
+ const overlays = dynOverlay['form_overlays'];
135
+ for (let form_ov of overlays) {
136
+ try {
137
+ const form_overlay = new FormOverlay(form_ov, capture_base_digest);
138
+ const generated = form_overlay.GenerateFormOverlay();
139
+ form_overlays.push(JSON.parse(generated));
140
+ }
141
+ catch (error) {
142
+ console.error('Failed to process form overlay:', error);
143
+ }
144
+ }
145
+ form_overlays.sort((a, b) => a.language.localeCompare(b.language));
146
+ return JSON.stringify(form_overlays);
147
+ }
148
+ }
149
+ exports.default = FormOverlay;
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const saidify_1 = require("saidify");
7
7
  const canonical_js_1 = __importDefault(require("../../../../utils/canonical.js"));
8
8
  class AttributeFraming {
9
- constructor(dynOverlay) {
9
+ constructor(dynOverlay, capture_base_digest) {
10
10
  if (!dynOverlay) {
11
11
  throw new Error('a dynamic extension overlay are required');
12
12
  }
13
+ if (!capture_base_digest) {
14
+ throw new Error('capture_base_digest is required');
15
+ }
13
16
  this.dynOverlay = dynOverlay;
17
+ this.capture_base_digest = capture_base_digest;
14
18
  }
15
19
  GetFramedAttributes() {
16
20
  const attributes = this.dynOverlay.attributes;
@@ -41,6 +45,7 @@ class AttributeFraming {
41
45
  toJSON() {
42
46
  return {
43
47
  d: '',
48
+ capture_base: this.capture_base_digest,
44
49
  type: 'community/overlays/adc/attribute_framing/1.1',
45
50
  framing_metadata: this.GetFramingMetadata(),
46
51
  attributes: this.GetFramedAttributes(),
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const saidify_1 = require("saidify");
7
7
  const canonical_js_1 = __importDefault(require("../../../../utils/canonical.js"));
8
8
  class UnitFraming {
9
- constructor(dynOverlay) {
9
+ constructor(dynOverlay, capture_base_digest) {
10
10
  if (!dynOverlay) {
11
11
  throw new Error('a dynamic extension overlay are required');
12
12
  }
13
+ if (!capture_base_digest) {
14
+ throw new Error('capture_base_digest is required');
15
+ }
13
16
  this.dynOverlay = dynOverlay;
17
+ this.capture_base_digest = capture_base_digest;
14
18
  }
15
19
  GetUnits() {
16
20
  const units = this.dynOverlay.units;
@@ -33,6 +37,7 @@ class UnitFraming {
33
37
  toJSON() {
34
38
  return {
35
39
  d: '',
40
+ capture_base: this.capture_base_digest,
36
41
  type: 'community/overlays/adc/unit_framing/1.1',
37
42
  framing_metadata: {
38
43
  id: this.GetId(),
@@ -2,11 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const saidify_1 = require("saidify");
4
4
  class Ordering {
5
- constructor(dynOverlay) {
5
+ constructor(dynOverlay, capture_base_digest) {
6
6
  if (!dynOverlay) {
7
7
  throw new Error('a dynamic extension overlay are required');
8
8
  }
9
+ if (!capture_base_digest) {
10
+ throw new Error('capture_base_digest is required');
11
+ }
9
12
  this.dynOverlay = dynOverlay;
13
+ this.capture_base_digest = capture_base_digest;
10
14
  }
11
15
  GetAttributeOrdering() {
12
16
  return this.dynOverlay.attribute_ordering;
@@ -17,6 +21,7 @@ class Ordering {
17
21
  toJSON() {
18
22
  return {
19
23
  d: '',
24
+ capture_base: this.capture_base_digest,
20
25
  type: 'community/overlays/adc/ordering/1.1',
21
26
  attribute_ordering: this.GetAttributeOrdering(),
22
27
  entry_code_ordering: this.GetEntryCodeOrdering(),
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const saidify_1 = require("saidify");
7
7
  const canonical_js_1 = __importDefault(require("../../../utils/canonical.js"));
8
8
  class Range {
9
- constructor(dynOverlay) {
9
+ constructor(dynOverlay, capture_base_digest) {
10
10
  if (!dynOverlay) {
11
11
  throw new Error('a dynamic extension overlay are required');
12
12
  }
13
+ if (!capture_base_digest) {
14
+ throw new Error('capture_base_digest is required');
15
+ }
13
16
  this.dynOverlay = dynOverlay;
17
+ this.capture_base_digest = capture_base_digest;
14
18
  }
15
19
  GetAttributes() {
16
20
  const range_overlay_attributes = this.dynOverlay.attributes;
@@ -21,6 +25,7 @@ class Range {
21
25
  toJSON() {
22
26
  return {
23
27
  d: '',
28
+ capture_base: this.capture_base_digest,
24
29
  type: 'community/overlays/adc/range/1.1',
25
30
  attributes: this.GetAttributes(),
26
31
  };
@@ -2,11 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const saidify_1 = require("saidify");
4
4
  class Sensitive {
5
- constructor(dynOverlay) {
5
+ constructor(dynOverlay, capture_base_digest) {
6
6
  if (!dynOverlay) {
7
7
  throw new Error('a dynamic extension overlay are required');
8
8
  }
9
+ if (!capture_base_digest) {
10
+ throw new Error('capture_base_digest is required');
11
+ }
9
12
  this.dynOverlay = dynOverlay;
13
+ this.capture_base_digest = capture_base_digest;
10
14
  }
11
15
  GetSensitiveAttributes() {
12
16
  const sensitive_overlay_attributes = this.dynOverlay.sensitive_attributes;
@@ -17,6 +21,7 @@ class Sensitive {
17
21
  toJSON() {
18
22
  return {
19
23
  d: '',
24
+ capture_base: this.capture_base_digest,
20
25
  type: 'community/overlays/adc/sensitive/1.1',
21
26
  sensitive_attributes: this.GetSensitiveAttributes(),
22
27
  };
@@ -35,12 +35,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const saidify_1 = require("saidify");
36
36
  const canonical_js_1 = __importDefault(require("../../../utils/canonical.js"));
37
37
  class Separator {
38
- // TODO: here you could validate if the dynamic overlay contains the required fields.
39
- constructor(dynOverlay) {
38
+ constructor(dynOverlay, capture_base_digest) {
40
39
  if (!dynOverlay) {
41
40
  throw new Error('a dynamic extension overlay are required');
42
41
  }
42
+ if (!capture_base_digest) {
43
+ throw new Error('capture_base_digest is required');
44
+ }
43
45
  this.dynOverlay = dynOverlay;
46
+ this.capture_base_digest = capture_base_digest;
44
47
  }
45
48
  GetAttributesSeparators() {
46
49
  const separator_overlay_attributes = this.dynOverlay.attribute_separators;
@@ -57,6 +60,7 @@ class Separator {
57
60
  toJSON() {
58
61
  return {
59
62
  d: '',
63
+ capture_base: this.capture_base_digest,
60
64
  type: 'community/overlays/adc/separator/1.1',
61
65
  attribute_separators: this.GetAttributesSeparators(),
62
66
  dataset_separator: this.GetDatasetSeparator(),
@@ -8,8 +8,8 @@ const extensions_js_1 = __importDefault(require("./oca_extensions/extensions.js"
8
8
  const saidify_1 = require("saidify");
9
9
  class OcaPackage {
10
10
  constructor(extension_input_json, oca_bundle) {
11
- this.extensions_box = new extensions_js_1.default(extension_input_json, oca_bundle);
12
11
  this.oca_bundle = oca_bundle;
12
+ this.extensions_box = new extensions_js_1.default(extension_input_json, oca_bundle);
13
13
  }
14
14
  Saidifying() {
15
15
  const [, sad] = (0, saidify_1.saidify)(this.toJSON());
@@ -5,6 +5,7 @@
5
5
  import Ordering from './state/overlays/ordering.js';
6
6
  import UnitFraming from './state/overlays/framing/unit_framing.js';
7
7
  import ExampleOverlay from './state/overlays/example.js';
8
+ import FormOverlay from './state/overlays/form.js';
8
9
  import Range from './state/overlays/range.js';
9
10
  import Sensitive from './state/overlays/sensitive.js';
10
11
  import AttributeFraming from './state/overlays/framing/attribute_framing.js';
@@ -35,48 +36,56 @@ export class ExtensionState {
35
36
  }
36
37
  }
37
38
  export class Overlay {
38
- constructor(community_overlay) {
39
+ constructor(community_overlay, capture_base_digest) {
40
+ if (!capture_base_digest) {
41
+ throw new Error('capture_base_digest is required');
42
+ }
39
43
  this._overlay = community_overlay;
44
+ this._capture_base_digest = capture_base_digest;
40
45
  }
41
46
  GenerateOverlay() {
42
47
  const overlay = {};
43
48
  for (const ov_type in this._overlay) {
44
49
  if (ov_type === 'ordering_overlay') {
45
- const ordering_instance = new Ordering(this._overlay.ordering_overlay);
50
+ const ordering_instance = new Ordering(this._overlay.ordering_overlay, this._capture_base_digest);
46
51
  const ordering_ov = ordering_instance.GenerateOverlay();
47
52
  overlay['ordering'] = JSON.parse(ordering_ov);
48
53
  }
49
54
  else if (ov_type === 'unit_framing_overlay') {
50
- const unit_framing_instance = new UnitFraming(this._overlay.unit_framing_overlay);
55
+ const unit_framing_instance = new UnitFraming(this._overlay.unit_framing_overlay, this._capture_base_digest);
51
56
  const unit_framing_ov = unit_framing_instance.GenerateOverlay();
52
57
  overlay['unit_framing'] = JSON.parse(unit_framing_ov);
53
58
  }
54
59
  else if (ov_type === 'range_overlay') {
55
- const range_instance = new Range(this._overlay.range_overlay);
60
+ const range_instance = new Range(this._overlay.range_overlay, this._capture_base_digest);
56
61
  const range_ov = range_instance.GenerateOverlay();
57
62
  overlay['range'] = JSON.parse(range_ov);
58
63
  }
59
64
  else if (ov_type === 'example_overlay') {
60
- const example_ov = ExampleOverlay.GenerateOverlay(this._overlay.example_overlay);
65
+ const example_ov = ExampleOverlay.GenerateOverlay(this._overlay.example_overlay, this._capture_base_digest);
61
66
  overlay['example'] = JSON.parse(example_ov);
62
67
  }
68
+ else if (ov_type === 'form_overlay') {
69
+ const form_ov = FormOverlay.GenerateOverlay(this._overlay.form_overlay, this._capture_base_digest);
70
+ overlay['form'] = JSON.parse(form_ov);
71
+ }
63
72
  else if (ov_type === 'sensitive_overlay') {
64
- const sensitive_instance = new Sensitive(this._overlay.sensitive_overlay);
73
+ const sensitive_instance = new Sensitive(this._overlay.sensitive_overlay, this._capture_base_digest);
65
74
  const sensitive_ov = sensitive_instance.GenerateOverlay();
66
75
  overlay['sensitive'] = JSON.parse(sensitive_ov);
67
76
  }
68
77
  else if (ov_type === 'separator_overlay') {
69
- const separator_instance = new Separator(this._overlay.separator_overlay);
78
+ const separator_instance = new Separator(this._overlay.separator_overlay, this._capture_base_digest);
70
79
  const separator_ov = separator_instance.GenerateOverlay();
71
80
  overlay['separator'] = JSON.parse(separator_ov);
72
81
  }
73
82
  else if (ov_type === 'attribute_framing_overlay') {
74
- const attribute_framing_instance = new AttributeFraming(this._overlay.attribute_framing_overlay);
83
+ const attribute_framing_instance = new AttributeFraming(this._overlay.attribute_framing_overlay, this._capture_base_digest);
75
84
  const attribute_framing_ov = attribute_framing_instance.GenerateOverlay();
76
85
  overlay['attribute_framing'] = JSON.parse(attribute_framing_ov);
77
86
  }
78
87
  else {
79
- throw new Error(`Unsupported overaly type ${ov_type}. Supported extension overlays at ADC are [ ordering_overlay, unit_framing_overlay, range_overlay, example_overlay, sensitive_overlay ]`);
88
+ throw new Error(`Unsupported overaly type ${ov_type}. Supported extension overlays at ADC are [ ordering_overlay, unit_framing_overlay, range_overlay, example_overlay, form_overlay, sensitive_overlay, separator_overlay, attribute_framing_overlay ]`);
80
89
  }
81
90
  }
82
91
  const sortedOverlays = Object.keys(overlay)
@@ -89,11 +98,11 @@ export class Overlay {
89
98
  }
90
99
  }
91
100
  class ADCOverlayStrategy {
92
- GenerateOverlay(extensions) {
101
+ GenerateOverlay(extensions, capture_base_digest) {
93
102
  const overlays = {};
94
103
  for (const extKey in extensions) {
95
104
  const ext = extensions[extKey];
96
- const overlay_instance = new Overlay(ext);
105
+ const overlay_instance = new Overlay(ext, capture_base_digest);
97
106
  const generated_overlay = overlay_instance.GenerateOverlay();
98
107
  for (const overlay_type in generated_overlay) {
99
108
  overlays[overlay_type] = generated_overlay[overlay_type];
@@ -110,19 +119,23 @@ class DefaultOverlayStrategy {
110
119
  }
111
120
  }
112
121
  export class Extension {
113
- constructor(_extensions_input, community) {
122
+ constructor(_extensions_input, community, capture_base_digest) {
114
123
  this.d = '';
115
124
  this.overlays = {};
116
125
  if (!_extensions_input || !community) {
117
126
  throw new Error('extension array is required from extension state and community is required');
118
127
  }
128
+ if (!capture_base_digest) {
129
+ throw new Error('capture_base_digest is required');
130
+ }
119
131
  this._community = community;
120
132
  this._exensions = _extensions_input;
121
133
  this.type = `community/${this._community}/extension/${EXTENSION_VERSION}`;
134
+ this.capture_base_digest = capture_base_digest;
122
135
  }
123
136
  GenerateOverlays() {
124
137
  const strategy = this._community === ADC_COMMUNITY ? new ADCOverlayStrategy() : new DefaultOverlayStrategy();
125
- return strategy.GenerateOverlay(this._exensions);
138
+ return strategy.GenerateOverlay(this._exensions, this.capture_base_digest);
126
139
  }
127
140
  toJSON() {
128
141
  return {
@@ -155,7 +168,7 @@ class ExtensionBox {
155
168
  if (bundle_digest === ocabundleDigest(this._oca_bundle)) {
156
169
  const capture_base_digest = getDigest(this._oca_bundle);
157
170
  const community_extension_input = extensionState_communities[community][bundle_digest];
158
- const extension = new Extension(community_extension_input, community);
171
+ const extension = new Extension(community_extension_input, community, capture_base_digest);
159
172
  extensionsBox[community][capture_base_digest] = extension.GenerateExtension();
160
173
  }
161
174
  else if (bundle_digest !== ocabundleDigest(this._oca_bundle)) {
@@ -163,7 +176,7 @@ class ExtensionBox {
163
176
  const current_bundle = getOcaBundleFromDeps(this._oca_bundle, bundle_digest);
164
177
  const capture_base_digest = getDigest(current_bundle);
165
178
  const community_extension_input = extensionState_communities[community][bundle_digest];
166
- const extension = new Extension(community_extension_input, community);
179
+ const extension = new Extension(community_extension_input, community, capture_base_digest);
167
180
  extensionsBox[community][capture_base_digest] = extension.GenerateExtension();
168
181
  }
169
182
  }
@@ -1,11 +1,15 @@
1
1
  import { saidify } from 'saidify';
2
2
  import canonicalize from '../../../utils/canonical.js';
3
3
  class ExampleOverlay {
4
- constructor(dynOverlay) {
4
+ constructor(dynOverlay, capture_base_digest) {
5
5
  if (!dynOverlay) {
6
6
  throw new Error('A dynamic extension overlay is required');
7
7
  }
8
+ if (!capture_base_digest) {
9
+ throw new Error('capture_base_digest is required');
10
+ }
8
11
  this.dynOverlay = dynOverlay;
12
+ this.capture_base_digest = capture_base_digest;
9
13
  }
10
14
  get language() {
11
15
  return this.dynOverlay.language;
@@ -19,6 +23,7 @@ class ExampleOverlay {
19
23
  toJSON() {
20
24
  return {
21
25
  d: '',
26
+ capture_base: this.capture_base_digest,
22
27
  type: 'community/overlays/adc/example/1.1',
23
28
  language: this.language,
24
29
  attribute_examples: this.GetAttributeExamples(),
@@ -32,7 +37,7 @@ class ExampleOverlay {
32
37
  GenerateExampleOverlay() {
33
38
  return JSON.stringify(this.Saidifying());
34
39
  }
35
- static GenerateOverlay(dynOverlay) {
40
+ static GenerateOverlay(dynOverlay, capture_base_digest) {
36
41
  if (!dynOverlay || typeof dynOverlay !== 'object' || !Array.isArray(dynOverlay['example_overlays'])) {
37
42
  throw new Error('Invalid dynOverlay structure. Expected an object with an "example_overlays" array.');
38
43
  }
@@ -40,7 +45,7 @@ class ExampleOverlay {
40
45
  const overlays = dynOverlay['example_overlays'];
41
46
  for (let example_ov of overlays) {
42
47
  try {
43
- const example_overlay = new ExampleOverlay(example_ov);
48
+ const example_overlay = new ExampleOverlay(example_ov, capture_base_digest);
44
49
  example_overlays.push(JSON.parse(example_overlay.GenerateExampleOverlay()));
45
50
  }
46
51
  catch (error) {
@@ -0,0 +1,144 @@
1
+ import { saidify } from 'saidify';
2
+ import canonicalize from '../../../utils/canonical.js';
3
+ class FormOverlay {
4
+ constructor(dynOverlay, capture_base_digest) {
5
+ if (!dynOverlay) {
6
+ throw new Error('A dynamic extension overlay is required');
7
+ }
8
+ if (!capture_base_digest) {
9
+ throw new Error('capture_base_digest is required');
10
+ }
11
+ this.dynOverlay = dynOverlay;
12
+ this.capture_base_digest = capture_base_digest;
13
+ }
14
+ get language() {
15
+ return this.dynOverlay.language;
16
+ }
17
+ GetPages() {
18
+ const pages = this.dynOverlay.pages;
19
+ const canonicalizedPages = canonicalize(pages);
20
+ const sortedPages = JSON.parse(canonicalizedPages);
21
+ return sortedPages;
22
+ }
23
+ GetPageOrder() {
24
+ return this.dynOverlay.page_order;
25
+ }
26
+ GetPageLabels() {
27
+ // language specific page labels
28
+ const allPageLabels = this.dynOverlay.page_labels;
29
+ if (allPageLabels && allPageLabels[this.language]) {
30
+ return allPageLabels[this.language];
31
+ }
32
+ return {};
33
+ }
34
+ GetSidebarLabel() {
35
+ // language specific sidebar labels
36
+ const allSidebarLabels = this.dynOverlay.sidebar_label;
37
+ if (allSidebarLabels && allSidebarLabels[this.language]) {
38
+ return allSidebarLabels[this.language];
39
+ }
40
+ return {};
41
+ }
42
+ GetDescription() {
43
+ // language specific descriptions
44
+ const allDescriptions = this.dynOverlay.description;
45
+ if (allDescriptions && allDescriptions[this.language]) {
46
+ return allDescriptions[this.language];
47
+ }
48
+ return {};
49
+ }
50
+ GetTitle() {
51
+ // language specific title
52
+ const allTitles = this.dynOverlay.title;
53
+ if (allTitles && allTitles[this.language]) {
54
+ return allTitles[this.language];
55
+ }
56
+ return '';
57
+ }
58
+ GetInteraction() {
59
+ const interaction = this.dynOverlay.interaction;
60
+ if (!interaction || !Array.isArray(interaction) || interaction.length === 0) {
61
+ return interaction;
62
+ }
63
+ // language specific interaction
64
+ const languageSpecificInteraction = interaction.map(interactionItem => {
65
+ const languageSpecificArguments = {};
66
+ for (const [attributeName, attributeConfig] of Object.entries(interactionItem.arguments || {})) {
67
+ const config = attributeConfig;
68
+ const newConfig = {
69
+ type: config.type
70
+ };
71
+ // language specific placeholder
72
+ if (config.placeholder) {
73
+ if (typeof config.placeholder === 'object' && config.placeholder !== null) {
74
+ const placeholder = config.placeholder[this.language] || '';
75
+ if (placeholder) {
76
+ newConfig.placeholder = placeholder;
77
+ }
78
+ }
79
+ else {
80
+ newConfig.placeholder = config.placeholder;
81
+ }
82
+ }
83
+ if (config.options) {
84
+ newConfig.options = config.options;
85
+ }
86
+ if (config.input_type) {
87
+ newConfig.input_type = config.input_type;
88
+ }
89
+ languageSpecificArguments[attributeName] = newConfig;
90
+ }
91
+ return {
92
+ ...interactionItem,
93
+ arguments: languageSpecificArguments
94
+ };
95
+ });
96
+ const canonicalizedInteraction = canonicalize(languageSpecificInteraction);
97
+ const sortedInteraction = JSON.parse(canonicalizedInteraction);
98
+ return sortedInteraction;
99
+ }
100
+ toJSON() {
101
+ return {
102
+ d: '',
103
+ capture_base: this.capture_base_digest,
104
+ type: 'community/overlays/adc/form/1.1',
105
+ language: this.language,
106
+ pages: this.GetPages(),
107
+ page_order: this.GetPageOrder(),
108
+ page_labels: this.GetPageLabels(),
109
+ sidebar_label: this.GetSidebarLabel(),
110
+ description: this.GetDescription(),
111
+ title: this.GetTitle(),
112
+ interaction: this.GetInteraction(),
113
+ };
114
+ }
115
+ Saidifying() {
116
+ const [, sad] = saidify(this.toJSON());
117
+ return sad;
118
+ }
119
+ // generates a single form overlay
120
+ GenerateFormOverlay() {
121
+ return JSON.stringify(this.Saidifying());
122
+ }
123
+ static GenerateOverlay(dynOverlay, capture_base_digest) {
124
+ if (!dynOverlay || typeof dynOverlay !== 'object' || !Array.isArray(dynOverlay['form_overlays'])) {
125
+ console.error('[Form ERROR] Invalid structure. dynOverlay:', dynOverlay);
126
+ throw new Error('Invalid dynOverlay structure. Expected an object with a "form_overlays" array.');
127
+ }
128
+ const form_overlays = [];
129
+ const overlays = dynOverlay['form_overlays'];
130
+ for (let form_ov of overlays) {
131
+ try {
132
+ const form_overlay = new FormOverlay(form_ov, capture_base_digest);
133
+ const generated = form_overlay.GenerateFormOverlay();
134
+ form_overlays.push(JSON.parse(generated));
135
+ }
136
+ catch (error) {
137
+ console.error('Failed to process form overlay:', error);
138
+ }
139
+ }
140
+ form_overlays.sort((a, b) => a.language.localeCompare(b.language));
141
+ return JSON.stringify(form_overlays);
142
+ }
143
+ }
144
+ export default FormOverlay;
@@ -1,11 +1,15 @@
1
1
  import { saidify } from 'saidify';
2
2
  import canonicalize from '../../../../utils/canonical.js';
3
3
  class AttributeFraming {
4
- constructor(dynOverlay) {
4
+ constructor(dynOverlay, capture_base_digest) {
5
5
  if (!dynOverlay) {
6
6
  throw new Error('a dynamic extension overlay are required');
7
7
  }
8
+ if (!capture_base_digest) {
9
+ throw new Error('capture_base_digest is required');
10
+ }
8
11
  this.dynOverlay = dynOverlay;
12
+ this.capture_base_digest = capture_base_digest;
9
13
  }
10
14
  GetFramedAttributes() {
11
15
  const attributes = this.dynOverlay.attributes;
@@ -36,6 +40,7 @@ class AttributeFraming {
36
40
  toJSON() {
37
41
  return {
38
42
  d: '',
43
+ capture_base: this.capture_base_digest,
39
44
  type: 'community/overlays/adc/attribute_framing/1.1',
40
45
  framing_metadata: this.GetFramingMetadata(),
41
46
  attributes: this.GetFramedAttributes(),
@@ -1,11 +1,15 @@
1
1
  import { saidify } from 'saidify';
2
2
  import canonicalize from '../../../../utils/canonical.js';
3
3
  class UnitFraming {
4
- constructor(dynOverlay) {
4
+ constructor(dynOverlay, capture_base_digest) {
5
5
  if (!dynOverlay) {
6
6
  throw new Error('a dynamic extension overlay are required');
7
7
  }
8
+ if (!capture_base_digest) {
9
+ throw new Error('capture_base_digest is required');
10
+ }
8
11
  this.dynOverlay = dynOverlay;
12
+ this.capture_base_digest = capture_base_digest;
9
13
  }
10
14
  GetUnits() {
11
15
  const units = this.dynOverlay.units;
@@ -28,6 +32,7 @@ class UnitFraming {
28
32
  toJSON() {
29
33
  return {
30
34
  d: '',
35
+ capture_base: this.capture_base_digest,
31
36
  type: 'community/overlays/adc/unit_framing/1.1',
32
37
  framing_metadata: {
33
38
  id: this.GetId(),
@@ -1,10 +1,14 @@
1
1
  import { saidify } from 'saidify';
2
2
  class Ordering {
3
- constructor(dynOverlay) {
3
+ constructor(dynOverlay, capture_base_digest) {
4
4
  if (!dynOverlay) {
5
5
  throw new Error('a dynamic extension overlay are required');
6
6
  }
7
+ if (!capture_base_digest) {
8
+ throw new Error('capture_base_digest is required');
9
+ }
7
10
  this.dynOverlay = dynOverlay;
11
+ this.capture_base_digest = capture_base_digest;
8
12
  }
9
13
  GetAttributeOrdering() {
10
14
  return this.dynOverlay.attribute_ordering;
@@ -15,6 +19,7 @@ class Ordering {
15
19
  toJSON() {
16
20
  return {
17
21
  d: '',
22
+ capture_base: this.capture_base_digest,
18
23
  type: 'community/overlays/adc/ordering/1.1',
19
24
  attribute_ordering: this.GetAttributeOrdering(),
20
25
  entry_code_ordering: this.GetEntryCodeOrdering(),
@@ -1,11 +1,15 @@
1
1
  import { saidify } from 'saidify';
2
2
  import canonicalize from '../../../utils/canonical.js';
3
3
  class Range {
4
- constructor(dynOverlay) {
4
+ constructor(dynOverlay, capture_base_digest) {
5
5
  if (!dynOverlay) {
6
6
  throw new Error('a dynamic extension overlay are required');
7
7
  }
8
+ if (!capture_base_digest) {
9
+ throw new Error('capture_base_digest is required');
10
+ }
8
11
  this.dynOverlay = dynOverlay;
12
+ this.capture_base_digest = capture_base_digest;
9
13
  }
10
14
  GetAttributes() {
11
15
  const range_overlay_attributes = this.dynOverlay.attributes;
@@ -16,6 +20,7 @@ class Range {
16
20
  toJSON() {
17
21
  return {
18
22
  d: '',
23
+ capture_base: this.capture_base_digest,
19
24
  type: 'community/overlays/adc/range/1.1',
20
25
  attributes: this.GetAttributes(),
21
26
  };
@@ -1,10 +1,14 @@
1
1
  import { saidify } from 'saidify';
2
2
  class Sensitive {
3
- constructor(dynOverlay) {
3
+ constructor(dynOverlay, capture_base_digest) {
4
4
  if (!dynOverlay) {
5
5
  throw new Error('a dynamic extension overlay are required');
6
6
  }
7
+ if (!capture_base_digest) {
8
+ throw new Error('capture_base_digest is required');
9
+ }
7
10
  this.dynOverlay = dynOverlay;
11
+ this.capture_base_digest = capture_base_digest;
8
12
  }
9
13
  GetSensitiveAttributes() {
10
14
  const sensitive_overlay_attributes = this.dynOverlay.sensitive_attributes;
@@ -15,6 +19,7 @@ class Sensitive {
15
19
  toJSON() {
16
20
  return {
17
21
  d: '',
22
+ capture_base: this.capture_base_digest,
18
23
  type: 'community/overlays/adc/sensitive/1.1',
19
24
  sensitive_attributes: this.GetSensitiveAttributes(),
20
25
  };
@@ -30,12 +30,15 @@ Canoncial rules:
30
30
  import { saidify } from 'saidify';
31
31
  import canonicalize from '../../../utils/canonical.js';
32
32
  class Separator {
33
- // TODO: here you could validate if the dynamic overlay contains the required fields.
34
- constructor(dynOverlay) {
33
+ constructor(dynOverlay, capture_base_digest) {
35
34
  if (!dynOverlay) {
36
35
  throw new Error('a dynamic extension overlay are required');
37
36
  }
37
+ if (!capture_base_digest) {
38
+ throw new Error('capture_base_digest is required');
39
+ }
38
40
  this.dynOverlay = dynOverlay;
41
+ this.capture_base_digest = capture_base_digest;
39
42
  }
40
43
  GetAttributesSeparators() {
41
44
  const separator_overlay_attributes = this.dynOverlay.attribute_separators;
@@ -52,6 +55,7 @@ class Separator {
52
55
  toJSON() {
53
56
  return {
54
57
  d: '',
58
+ capture_base: this.capture_base_digest,
55
59
  type: 'community/overlays/adc/separator/1.1',
56
60
  attribute_separators: this.GetAttributesSeparators(),
57
61
  dataset_separator: this.GetDatasetSeparator(),
@@ -3,8 +3,8 @@ import ExtensionBox from './oca_extensions/extensions.js';
3
3
  import { saidify, verify, SAIDDex, Serials } from 'saidify';
4
4
  class OcaPackage {
5
5
  constructor(extension_input_json, oca_bundle) {
6
- this.extensions_box = new ExtensionBox(extension_input_json, oca_bundle);
7
6
  this.oca_bundle = oca_bundle;
7
+ this.extensions_box = new ExtensionBox(extension_input_json, oca_bundle);
8
8
  }
9
9
  Saidifying() {
10
10
  const [, sad] = saidify(this.toJSON());
@@ -24,7 +24,8 @@ export interface DynOverlay {
24
24
  }
25
25
  export declare class Overlay implements DynOverlay {
26
26
  [key: string]: any;
27
- constructor(community_overlay: DynOverlay);
27
+ private _capture_base_digest;
28
+ constructor(community_overlay: DynOverlay, capture_base_digest: string);
28
29
  GenerateOverlay(): Required<DynOverlay>;
29
30
  }
30
31
  export interface IExtension {
@@ -38,7 +39,8 @@ export declare class Extension implements IExtension {
38
39
  readonly type: string;
39
40
  _exensions: DynOverlay;
40
41
  readonly overlays: {};
41
- constructor(_extensions_input: DynOverlay, community: string);
42
+ private capture_base_digest;
43
+ constructor(_extensions_input: DynOverlay, community: string, capture_base_digest: string);
42
44
  private GenerateOverlays;
43
45
  private toJSON;
44
46
  private Saidifying;
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/oca_extensions/extensions.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAQzC,MAAM,WAAW,kBAAkB;IACjC,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,EAAE,CAAC;KACrC,CAAC;CACH;AAOD,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC;KACnC,CAAC;CACH;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,qBAAqB,CAAqB;IAC3C,eAAe,EAAE,eAAe,CAAC;gBAE5B,kBAAkB,EAAE,kBAAkB;IAKlD,OAAO,CAAC,mBAAmB;IAiB3B,IAAW,WAAW,IAAI,eAAe,CAExC;CACF;AAKD,MAAM,WAAW,UAAU;IACzB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,OAAQ,YAAW,UAAU;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAEP,iBAAiB,EAAE,UAAU;IAIlC,eAAe,IAAI,QAAQ,CAAC,UAAU,CAAC;CA8C/C;AAiFD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,IAAI,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAU,YAAW,UAAU;IAC1C,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAM;IACf,UAAU,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,KAAM;gBAEX,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;IAU5D,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAKX,iBAAiB,IAAI,GAAG;CAGhC;AAED,KAAK,gBAAgB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC;AAE9F,cAAM,YAAY;IACT,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,cAAc,CAAC;gBAE3B,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG;IAMrE,IAAW,kBAAkB,IAAI,gBAAgB,CA4BhD;CACF;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/oca_extensions/extensions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAQzC,MAAM,WAAW,kBAAkB;IACjC,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,EAAE,CAAC;KACrC,CAAC;CACH;AAOD,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC;KACnC,CAAC;CACH;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,qBAAqB,CAAqB;IAC3C,eAAe,EAAE,eAAe,CAAC;gBAE5B,kBAAkB,EAAE,kBAAkB;IAKlD,OAAO,CAAC,mBAAmB;IAiB3B,IAAW,WAAW,IAAI,eAAe,CAExC;CACF;AAKD,MAAM,WAAW,UAAU;IACzB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,OAAQ,YAAW,UAAU;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAQ/D,eAAe,IAAI,QAAQ,CAAC,UAAU,CAAC;CAoD/C;AAiFD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,IAAI,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAU,YAAW,UAAU;IAC1C,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAM;IACf,UAAU,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,QAAQ,KAAM;IACvB,OAAO,CAAC,mBAAmB,CAAS;gBAExB,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM;IAczF,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAKX,iBAAiB,IAAI,GAAG;CAGhC;AAED,KAAK,gBAAgB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC;AAE9F,cAAM,YAAY;IACT,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,cAAc,CAAC;gBAE3B,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG;IAMrE,IAAW,kBAAkB,IAAI,gBAAgB,CA4BhD;CACF;AAED,eAAe,YAAY,CAAC"}
@@ -5,7 +5,8 @@ export interface IExampleOverlay {
5
5
  }
6
6
  declare class ExampleOverlay implements IExampleOverlay {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  get language(): any;
10
11
  private GetAttributeExamples;
11
12
  private toJSON;
@@ -13,7 +14,7 @@ declare class ExampleOverlay implements IExampleOverlay {
13
14
  GenerateExampleOverlay(): string;
14
15
  static GenerateOverlay(dynOverlay: {
15
16
  example_overlays: any[];
16
- }): string;
17
+ }, capture_base_digest: string): string;
17
18
  }
18
19
  export default ExampleOverlay;
19
20
  //# sourceMappingURL=example.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,sBAAsB,IAAI,MAAM,CAAC;CAClC;AAED,cAAM,cAAe,YAAW,eAAe;IACtC,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAOlC,IAAW,QAAQ,IAAI,GAAG,CAEzB;IAED,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAMX,sBAAsB,IAAI,MAAM;WAIzB,eAAe,CAAC,UAAU,EAAE;QAAE,gBAAgB,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,MAAM;CAqB/E;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,sBAAsB,IAAI,MAAM,CAAC;CAClC;AAED,cAAM,cAAe,YAAW,eAAe;IACtC,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAW/D,IAAW,QAAQ,IAAI,GAAG,CAEzB;IAED,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,UAAU;IAMX,sBAAsB,IAAI,MAAM;WAIzB,eAAe,CAAC,UAAU,EAAE;QAAE,gBAAgB,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,mBAAmB,EAAE,MAAM,GAAG,MAAM;CAqB5G;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { DynOverlay } from '../../extensions.js';
2
+ export interface IFormOverlay {
3
+ dynOverlay: DynOverlay;
4
+ GenerateFormOverlay(): string;
5
+ }
6
+ declare class FormOverlay implements IFormOverlay {
7
+ dynOverlay: DynOverlay;
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
10
+ get language(): any;
11
+ private GetPages;
12
+ private GetPageOrder;
13
+ private GetPageLabels;
14
+ private GetSidebarLabel;
15
+ private GetDescription;
16
+ private GetTitle;
17
+ private GetInteraction;
18
+ private toJSON;
19
+ private Saidifying;
20
+ GenerateFormOverlay(): string;
21
+ static GenerateOverlay(dynOverlay: {
22
+ form_overlays: any[];
23
+ }, capture_base_digest: string): string;
24
+ }
25
+ export default FormOverlay;
26
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,IAAI,MAAM,CAAC;CAC/B;AAED,cAAM,WAAY,YAAW,YAAY;IAChC,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAW/D,IAAW,QAAQ,IAAI,GAAG,CAEzB;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,UAAU;IAMX,mBAAmB,IAAI,MAAM;WAItB,eAAe,CAAC,UAAU,EAAE;QAAE,aAAa,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,mBAAmB,EAAE,MAAM,GAAG,MAAM;CAuBzG;AAED,eAAe,WAAW,CAAC"}
@@ -5,7 +5,8 @@ export interface IAttributeFraming {
5
5
  }
6
6
  declare class AttributeFraming implements IAttributeFraming {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetFramedAttributes;
10
11
  private GetId;
11
12
  private GetLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"attribute_framing.d.ts","sourceRoot":"","sources":["../../../../../../src/oca_extensions/state/overlays/framing/attribute_framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,gBAAiB,YAAW,iBAAiB;IAC1C,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"attribute_framing.d.ts","sourceRoot":"","sources":["../../../../../../src/oca_extensions/state/overlays/framing/attribute_framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,gBAAiB,YAAW,iBAAiB;IAC1C,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,gBAAgB,CAAC"}
@@ -5,7 +5,8 @@ export interface IUnitFraming {
5
5
  }
6
6
  declare class UnitFraming implements IUnitFraming {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetUnits;
10
11
  private GetId;
11
12
  private GetLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"unit_framing.d.ts","sourceRoot":"","sources":["../../../../../../src/oca_extensions/state/overlays/framing/unit_framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOpD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,WAAY,YAAW,YAAY;IAChC,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"unit_framing.d.ts","sourceRoot":"","sources":["../../../../../../src/oca_extensions/state/overlays/framing/unit_framing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOpD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,WAAY,YAAW,YAAY;IAChC,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,WAAW,CAAC"}
@@ -5,7 +5,8 @@ export interface IOrdering {
5
5
  }
6
6
  declare class Ordering implements IOrdering {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetAttributeOrdering;
10
11
  private GetEntryCodeOrdering;
11
12
  private toJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,QAAS,YAAW,SAAS;IAC1B,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAKX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,QAAS,YAAW,SAAS;IAC1B,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,UAAU;IAKX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,QAAQ,CAAC"}
@@ -5,7 +5,8 @@ export interface IRange {
5
5
  }
6
6
  declare class Range implements IRange {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetAttributes;
10
11
  private toJSON;
11
12
  private Saidifying;
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,KAAM,YAAW,MAAM;IACpB,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,KAAM,YAAW,MAAM;IACpB,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AACD,eAAe,KAAK,CAAC"}
@@ -5,7 +5,8 @@ export interface ISensitive {
5
5
  }
6
6
  declare class Sensitive implements ISensitive {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetSensitiveAttributes;
10
11
  private toJSON;
11
12
  private Saidifying;
@@ -1 +1 @@
1
- {"version":3,"file":"sensitive.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/sensitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,SAAU,YAAW,UAAU;IAC5B,UAAU,EAAE,UAAU,CAAC;gBAElB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAKX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"sensitive.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/sensitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,SAAU,YAAW,UAAU;IAC5B,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAKX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,SAAS,CAAC"}
@@ -5,7 +5,8 @@ interface Iseparator {
5
5
  }
6
6
  declare class Separator implements Iseparator {
7
7
  dynOverlay: DynOverlay;
8
- constructor(dynOverlay: DynOverlay);
8
+ private capture_base_digest;
9
+ constructor(dynOverlay: DynOverlay, capture_base_digest: string);
9
10
  private GetAttributesSeparators;
10
11
  private GetDatasetSeparator;
11
12
  private toJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/separator.ts"],"names":[],"mappings":"AAwIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,UAAU,UAAU;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,SAAU,YAAW,UAAU;IAC5B,UAAU,EAAE,UAAU,CAAC;gBAGlB,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../src/oca_extensions/state/overlays/separator.ts"],"names":[],"mappings":"AAwIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,UAAU,UAAU;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,cAAM,SAAU,YAAW,UAAU;IAC5B,UAAU,EAAE,UAAU,CAAC;IAC9B,OAAO,CAAC,mBAAmB,CAAS;gBAExB,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM;IAY/D,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,UAAU;IAIX,eAAe,IAAI,MAAM;CAGjC;AAED,eAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oca_package",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "description": "The wrapper of OCA bundle to generate OCA Package at ADC",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",