@cloudbase/cals 1.1.8-alpha.0 → 1.1.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/parser/cals/utils/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAqB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxG,OAAO,EAAE,eAAe,EAAsD,MAAM,+BAA+B,CAAC;AAOpH,OAAO,EAAmB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAyD9F;AAwID,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,qBAAqB,GAAG;IAAE,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAClH,UAAU,EAAE,kBAAkB,EAAE,GAC/B,kBAAkB,EAAE,CAiBtB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;KAC5C,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAAE,EAAE,IAAI,EAAE,cAAc,EAAE,gBA8E1G;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,qBAAqB,GAAG;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,EAC1D,SAAS,EAAE,kBAAkB,OAiE9B;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,qBAAqB,EAAE,SAAS,KAAA,OA2B/E;AAaD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG,OAqE1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/parser/cals/utils/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAqB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxG,OAAO,EAAE,eAAe,EAAsD,MAAM,+BAA+B,CAAC;AAOpH,OAAO,EAAmB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAyD9F;AAwJD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,qBAAqB,GAAG;IAAE,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAClH,UAAU,EAAE,kBAAkB,EAAE,GAC/B,kBAAkB,EAAE,CAiBtB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;KAC5C,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAAE,EAAE,IAAI,EAAE,cAAc,EAAE,gBA8E1G;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,qBAAqB,GAAG;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,EAC1D,SAAS,EAAE,kBAAkB,OAiE9B;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,qBAAqB,EAAE,SAAS,KAAA,OA2B/E;AAaD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG,OAqE1E"}
@@ -135,9 +135,48 @@ function parseDirectivesCals(ctx, directives) {
135
135
  }
136
136
  function parseValueCals(ctx, value) {
137
137
  var _a, _b;
138
+ function processExpression(ctx, value) {
139
+ const regex = /\$([\w.]+)\.dataset\.(state|params)\.([\w$]+)/gm;
140
+ const matches = value.match(regex) || [];
141
+ for (let i = 0; i < matches.length; i++) {
142
+ const match = matches[i];
143
+ const [_, scope, type, varName] = regex.exec(match);
144
+ let key = '';
145
+ switch (scope) {
146
+ case 'page':
147
+ case 'w.page': {
148
+ key = '$page';
149
+ break;
150
+ }
151
+ case 'app':
152
+ case 'w.app': {
153
+ key = '$app';
154
+ break;
155
+ }
156
+ }
157
+ if (key && type && varName) {
158
+ if (!ctx.datasetMap[key]) {
159
+ ctx.datasetMap[key] = {};
160
+ }
161
+ ctx.datasetMap[key][`${type}.${varName}`] = true;
162
+ }
163
+ }
164
+ }
165
+ let res;
138
166
  try {
139
167
  let parser = new expression_1.DynamicValueParser(value, { pageId: '$page' });
140
- let res = parser.parse();
168
+ res = parser.parse();
169
+ }
170
+ catch (e) {
171
+ try {
172
+ processExpression(ctx, value);
173
+ }
174
+ catch (e) {
175
+ console.error(e);
176
+ }
177
+ return;
178
+ }
179
+ try {
141
180
  switch (res.type) {
142
181
  case expression_1.PropBindType.params:
143
182
  case expression_1.PropBindType.stateData: {
@@ -170,28 +209,7 @@ function parseValueCals(ctx, value) {
170
209
  break;
171
210
  }
172
211
  case expression_1.PropBindType.expression: {
173
- const regex = /\$([\w.]+)\.dataset\.state\.([\w$]+)/g;
174
- const matches = res.value.match(regex);
175
- for (let i = 0; i < matches.length; i++) {
176
- const match = matches[i];
177
- const [scope, type, varName] = regex.exec(match);
178
- let key = '';
179
- switch (scope) {
180
- case 'page':
181
- case 'w.page': {
182
- key = '$page';
183
- break;
184
- }
185
- case 'app':
186
- case 'w.app': {
187
- key = '$app';
188
- break;
189
- }
190
- }
191
- if (key && type && varName) {
192
- ctx.datasetMap[key][`${type}.${varName}`] = true;
193
- }
194
- }
212
+ processExpression(ctx, value);
195
213
  }
196
214
  }
197
215
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/cals",
3
- "version": "1.1.8-alpha.0",
3
+ "version": "1.1.9",
4
4
  "description": "Common application specifications",
5
5
  "main": "lib/utils/index.js",
6
6
  "source": "src/utils/index.ts",