@digipair/engine 0.4.10 → 0.4.11

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.
package/index.cjs.js CHANGED
@@ -27375,7 +27375,21 @@ const applyTemplate = (value, context)=>{
27375
27375
  const executePins = async (settingsOrigin, context = {}, options = {
27376
27376
  libraries: {}
27377
27377
  })=>{
27378
- const settings = await preparePinsSettings(settingsOrigin, context, options);
27378
+ var _settings_conditions;
27379
+ const settings = await preparePinsSettings(settingsOrigin, context);
27380
+ if ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.each) {
27381
+ return Promise.all(settings.conditions.each.filter((item)=>typeof item.conditions.if === 'undefined' || item.conditions.if).map((item)=>executePins(_extends({}, settings, {
27382
+ conditions: _extends({}, settings.conditions, {
27383
+ each: undefined
27384
+ })
27385
+ }), _extends({}, context, {
27386
+ item,
27387
+ parent: {
27388
+ item: context.item,
27389
+ parent: context.parent
27390
+ }
27391
+ }), options)));
27392
+ }
27379
27393
  const version = options.libraries[settings.library] || 'latest';
27380
27394
  const library = _config.LIBRARIES[settings.library] || (typeof window === 'undefined' ? require(settings.library) : await (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(`${_config.BASE_URL}/${settings.library}@${version}/index.esm.js`));
27381
27395
  const pins = library == null ? void 0 : library[settings.element];
@@ -27391,7 +27405,11 @@ const executePinsList = async (pinsSettingsList, context, options = {
27391
27405
  const steps = [];
27392
27406
  // parcourir tous les pins
27393
27407
  for(let i = 0; i < pinsSettingsList.length; i++){
27408
+ var _settings_conditions;
27394
27409
  const settings = pinsSettingsList[i];
27410
+ if (typeof ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.if) !== 'undefined' && !settings.conditions.if) {
27411
+ continue;
27412
+ }
27395
27413
  previous = await executePins(settings, _extends({}, context, {
27396
27414
  previous,
27397
27415
  steps,
@@ -27408,9 +27426,31 @@ const executePinsList = async (pinsSettingsList, context, options = {
27408
27426
  }
27409
27427
  return previous;
27410
27428
  };
27411
- const generateElementFromPins = async (pinsSettings, context, options = {
27429
+ const generateElementFromPins = async (pinsSettings, parent, context, options = {
27412
27430
  libraries: {}
27413
27431
  })=>{
27432
+ var _settings_conditions, _settings_conditions1;
27433
+ const settings = await preparePinsSettings(pinsSettings, context);
27434
+ if ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.each) {
27435
+ for(let i = 0; i < settings.conditions.each.length; i++){
27436
+ const item = settings.conditions.each[i];
27437
+ await generateElementFromPins(_extends({}, settings, {
27438
+ conditions: _extends({}, settings.conditions, {
27439
+ each: undefined
27440
+ })
27441
+ }), parent, _extends({}, context, {
27442
+ item,
27443
+ parent: {
27444
+ item: context.item,
27445
+ parent: context.parent
27446
+ }
27447
+ }), options);
27448
+ }
27449
+ return;
27450
+ }
27451
+ if (typeof ((_settings_conditions1 = settings.conditions) == null ? void 0 : _settings_conditions1.if) !== 'undefined' && !settings.conditions.if) {
27452
+ return;
27453
+ }
27414
27454
  const element = document.createElement(pinsSettings.element);
27415
27455
  element.setAttribute('data-digipair-pins', '');
27416
27456
  const library = pinsSettings.library;
@@ -27418,7 +27458,6 @@ const generateElementFromPins = async (pinsSettings, context, options = {
27418
27458
  const version = options.libraries[library] || 'latest';
27419
27459
  (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(`${_config.BASE_URL}/${library}@${version}/index.esm.js`);
27420
27460
  }
27421
- const settings = await preparePinsSettings(pinsSettings, context, options);
27422
27461
  Object.entries(settings.properties || {}).forEach(([key, value])=>{
27423
27462
  if (key === 'textContent') {
27424
27463
  element.textContent = value;
@@ -27440,23 +27479,21 @@ const generateElementFromPins = async (pinsSettings, context, options = {
27440
27479
  const pinsList = settings.pins || [];
27441
27480
  for(let i = 0; i < pinsList.length; i++){
27442
27481
  const item = pinsList[i];
27443
- const child = await generateElementFromPins(item, settings.context, options);
27444
- element.appendChild(child);
27482
+ await generateElementFromPins(item, element, settings.context, options);
27445
27483
  }
27484
+ parent == null ? void 0 : parent.appendChild(element);
27446
27485
  return element;
27447
27486
  };
27448
- const preparePinsSettings = async (settings, context, options = {
27449
- libraries: {}
27450
- })=>{
27487
+ const preparePinsSettings = async (settings, context)=>{
27451
27488
  const localContext = _extends({}, context, {
27452
27489
  variables: context.variables || {},
27453
- requests: context.requests || {}
27490
+ conditions: context.conditions || {}
27454
27491
  });
27455
27492
  for (const [key, value] of Object.entries(settings.variables || {})){
27456
27493
  localContext.variables[key] = applyTemplate(value, localContext);
27457
27494
  }
27458
- for (const [key, value] of Object.entries(settings.requests || {})){
27459
- localContext.requests[key] = await executePins(value, localContext, options);
27495
+ for (const [key, value] of Object.entries(settings.conditions || {})){
27496
+ localContext.conditions[key] = await applyTemplate(value, localContext);
27460
27497
  }
27461
27498
  const properties = {};
27462
27499
  for (const [key, value] of Object.entries(settings.properties || {})){
package/index.esm.js CHANGED
@@ -27353,7 +27353,21 @@ const applyTemplate = (value, context)=>{
27353
27353
  const executePins = async (settingsOrigin, context = {}, options = {
27354
27354
  libraries: {}
27355
27355
  })=>{
27356
- const settings = await preparePinsSettings(settingsOrigin, context, options);
27356
+ var _settings_conditions;
27357
+ const settings = await preparePinsSettings(settingsOrigin, context);
27358
+ if ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.each) {
27359
+ return Promise.all(settings.conditions.each.filter((item)=>typeof item.conditions.if === 'undefined' || item.conditions.if).map((item)=>executePins(_extends({}, settings, {
27360
+ conditions: _extends({}, settings.conditions, {
27361
+ each: undefined
27362
+ })
27363
+ }), _extends({}, context, {
27364
+ item,
27365
+ parent: {
27366
+ item: context.item,
27367
+ parent: context.parent
27368
+ }
27369
+ }), options)));
27370
+ }
27357
27371
  const version = options.libraries[settings.library] || 'latest';
27358
27372
  const library = _config.LIBRARIES[settings.library] || (typeof window === 'undefined' ? require(settings.library) : await import(`${_config.BASE_URL}/${settings.library}@${version}/index.esm.js`));
27359
27373
  const pins = library == null ? void 0 : library[settings.element];
@@ -27369,7 +27383,11 @@ const executePinsList = async (pinsSettingsList, context, options = {
27369
27383
  const steps = [];
27370
27384
  // parcourir tous les pins
27371
27385
  for(let i = 0; i < pinsSettingsList.length; i++){
27386
+ var _settings_conditions;
27372
27387
  const settings = pinsSettingsList[i];
27388
+ if (typeof ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.if) !== 'undefined' && !settings.conditions.if) {
27389
+ continue;
27390
+ }
27373
27391
  previous = await executePins(settings, _extends({}, context, {
27374
27392
  previous,
27375
27393
  steps,
@@ -27386,9 +27404,31 @@ const executePinsList = async (pinsSettingsList, context, options = {
27386
27404
  }
27387
27405
  return previous;
27388
27406
  };
27389
- const generateElementFromPins = async (pinsSettings, context, options = {
27407
+ const generateElementFromPins = async (pinsSettings, parent, context, options = {
27390
27408
  libraries: {}
27391
27409
  })=>{
27410
+ var _settings_conditions, _settings_conditions1;
27411
+ const settings = await preparePinsSettings(pinsSettings, context);
27412
+ if ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.each) {
27413
+ for(let i = 0; i < settings.conditions.each.length; i++){
27414
+ const item = settings.conditions.each[i];
27415
+ await generateElementFromPins(_extends({}, settings, {
27416
+ conditions: _extends({}, settings.conditions, {
27417
+ each: undefined
27418
+ })
27419
+ }), parent, _extends({}, context, {
27420
+ item,
27421
+ parent: {
27422
+ item: context.item,
27423
+ parent: context.parent
27424
+ }
27425
+ }), options);
27426
+ }
27427
+ return;
27428
+ }
27429
+ if (typeof ((_settings_conditions1 = settings.conditions) == null ? void 0 : _settings_conditions1.if) !== 'undefined' && !settings.conditions.if) {
27430
+ return;
27431
+ }
27392
27432
  const element = document.createElement(pinsSettings.element);
27393
27433
  element.setAttribute('data-digipair-pins', '');
27394
27434
  const library = pinsSettings.library;
@@ -27396,7 +27436,6 @@ const generateElementFromPins = async (pinsSettings, context, options = {
27396
27436
  const version = options.libraries[library] || 'latest';
27397
27437
  import(`${_config.BASE_URL}/${library}@${version}/index.esm.js`);
27398
27438
  }
27399
- const settings = await preparePinsSettings(pinsSettings, context, options);
27400
27439
  Object.entries(settings.properties || {}).forEach(([key, value])=>{
27401
27440
  if (key === 'textContent') {
27402
27441
  element.textContent = value;
@@ -27418,23 +27457,21 @@ const generateElementFromPins = async (pinsSettings, context, options = {
27418
27457
  const pinsList = settings.pins || [];
27419
27458
  for(let i = 0; i < pinsList.length; i++){
27420
27459
  const item = pinsList[i];
27421
- const child = await generateElementFromPins(item, settings.context, options);
27422
- element.appendChild(child);
27460
+ await generateElementFromPins(item, element, settings.context, options);
27423
27461
  }
27462
+ parent == null ? void 0 : parent.appendChild(element);
27424
27463
  return element;
27425
27464
  };
27426
- const preparePinsSettings = async (settings, context, options = {
27427
- libraries: {}
27428
- })=>{
27465
+ const preparePinsSettings = async (settings, context)=>{
27429
27466
  const localContext = _extends({}, context, {
27430
27467
  variables: context.variables || {},
27431
- requests: context.requests || {}
27468
+ conditions: context.conditions || {}
27432
27469
  });
27433
27470
  for (const [key, value] of Object.entries(settings.variables || {})){
27434
27471
  localContext.variables[key] = applyTemplate(value, localContext);
27435
27472
  }
27436
- for (const [key, value] of Object.entries(settings.requests || {})){
27437
- localContext.requests[key] = await executePins(value, localContext, options);
27473
+ for (const [key, value] of Object.entries(settings.conditions || {})){
27474
+ localContext.conditions[key] = await applyTemplate(value, localContext);
27438
27475
  }
27439
27476
  const properties = {};
27440
27477
  for (const [key, value] of Object.entries(settings.properties || {})){
@@ -14,14 +14,10 @@ export declare const executePinsList: (pinsSettingsList: PinsSettings[], context
14
14
  [key: string]: string;
15
15
  };
16
16
  }) => Promise<any>;
17
- export declare const generateElementFromPins: (pinsSettings: PinsSettings, context: any, options?: {
17
+ export declare const generateElementFromPins: (pinsSettings: PinsSettings, parent: Element, context: any, options?: {
18
18
  libraries: {
19
19
  [key: string]: string;
20
20
  };
21
- }) => Promise<Element>;
22
- export declare const preparePinsSettings: (settings: PinsSettings, context: any, options?: {
23
- libraries: {
24
- [key: string]: string;
25
- };
26
- }) => Promise<PinsSettings>;
21
+ }) => Promise<Element | void>;
22
+ export declare const preparePinsSettings: (settings: PinsSettings, context: any) => Promise<PinsSettings>;
27
23
  export {};
@@ -9,8 +9,9 @@ export interface PinsSettings {
9
9
  variables?: {
10
10
  [key: string]: any;
11
11
  };
12
- requests?: {
13
- [key: string]: PinsSettings;
12
+ conditions?: {
13
+ if?: boolean;
14
+ each?: any[];
14
15
  };
15
16
  pins?: PinsSettings[];
16
17
  events?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digipair/engine",
3
- "version": "0.4.10",
3
+ "version": "0.4.11",
4
4
  "dependencies": {},
5
5
  "typings": "./index.d.ts",
6
6
  "main": "./index.cjs.js",
package/schema.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "@digipair/engine",
5
+ "description": "Moteur de Pin's de Digipair.",
6
+ "version": "0.1.0",
7
+ "x-icon": "🚀"
8
+ },
9
+ "paths": {},
10
+ "components": {
11
+ "schemas": {}
12
+ }
13
+ }