@webiny/api 0.0.0-unstable.990c3ab1b6 → 0.0.0-unstable.d16f688daf

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/Context.js CHANGED
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.Context = void 0;
9
+
8
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
9
12
  var _plugins = require("@webiny/plugins");
13
+
10
14
  class Context {
11
15
  constructor(params) {
12
16
  (0, _defineProperty2.default)(this, "_result", void 0);
@@ -21,27 +25,33 @@ class Context {
21
25
  this.plugins = new _plugins.PluginsContainer(plugins || []);
22
26
  this.WEBINY_VERSION = WEBINY_VERSION;
23
27
  }
28
+
24
29
  getResult() {
25
30
  return this._result;
26
31
  }
32
+
27
33
  hasResult() {
28
34
  return !!this._result;
29
35
  }
36
+
30
37
  setResult(value) {
31
38
  this._result = value;
32
39
  }
40
+
33
41
  waitFor(obj, cb) {
34
42
  const initialTargets = Array.isArray(obj) ? obj : [obj];
35
43
  const targets = [];
36
44
  /**
37
45
  * We go only through the first level properties
38
46
  */
47
+
39
48
  for (const key in initialTargets) {
40
49
  const target = initialTargets[key];
41
50
  /**
42
51
  * If property already exists, there is no need to wait for it, so we just continue the loop.
43
52
  * Also, if target is not a string, skip this property as it will fail to convert properly during the runtime.
44
53
  */
54
+
45
55
  if (this[target]) {
46
56
  continue;
47
57
  } else if (typeof target !== "string") {
@@ -51,6 +61,8 @@ class Context {
51
61
  * Since there is no property, we must define it with its setter and getter.
52
62
  * We could not know when it got defined otherwise.
53
63
  */
64
+
65
+
54
66
  Object.defineProperty(this, target, {
55
67
  /**
56
68
  * Setter sets the given value to this object.
@@ -63,6 +75,7 @@ class Context {
63
75
  /**
64
76
  * WWhen the property is set, we will go through all the waiters and, if any of them include currently set property, act on it.
65
77
  */
78
+
66
79
  for (const waiter of this.waiters) {
67
80
  if (waiter.targets.includes(target) === false) {
68
81
  continue;
@@ -70,10 +83,13 @@ class Context {
70
83
  /**
71
84
  * Remove currently set property so we know if there are any more to be waited for.
72
85
  */
86
+
87
+
73
88
  waiter.targets = waiter.targets.filter(t => t !== target);
74
89
  /**
75
90
  * If there are more to be waited, eg. user added [cms, pageBuilder] as waited properties, we just continue the loop.
76
91
  */
92
+
77
93
  if (waiter.targets.length > 0) {
78
94
  continue;
79
95
  }
@@ -81,9 +97,12 @@ class Context {
81
97
  * And if there is nothing more to be waited for, we execute the callable.
82
98
  * Note that this callable is not async.
83
99
  */
100
+
101
+
84
102
  waiter.cb(this);
85
103
  }
86
104
  },
105
+
87
106
  /**
88
107
  * As we have set property with __ around it, we must get it as well.
89
108
  */
@@ -96,11 +115,14 @@ class Context {
96
115
  /**
97
116
  * We add the target to be awaited.
98
117
  */
118
+
99
119
  targets.push(target);
100
120
  }
101
121
  /**
102
122
  * If there are no targets to be awaited, just fire the callable.
103
123
  */
124
+
125
+
104
126
  if (targets.length === 0) {
105
127
  cb(this);
106
128
  return;
@@ -108,8 +130,11 @@ class Context {
108
130
  /**
109
131
  * Otherwise add the waiter for the target properties.
110
132
  */
133
+
134
+
111
135
  this.waiters.push({
112
136
  targets,
137
+
113
138
  /**
114
139
  * TODO @ts-refactor
115
140
  * Problem with possible subtype initialization
@@ -118,5 +143,7 @@ class Context {
118
143
  cb
119
144
  });
120
145
  }
146
+
121
147
  }
148
+
122
149
  exports.Context = Context;
package/Context.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Context","constructor","params","plugins","WEBINY_VERSION","PluginsContainer","getResult","_result","hasResult","setResult","value","waitFor","obj","cb","initialTargets","Array","isArray","targets","key","target","Object","defineProperty","set","newTargetKey","waiter","waiters","includes","filter","t","length","get","configurable","push"],"sources":["Context.ts"],"sourcesContent":["import { Context as ContextInterface } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\n\ninterface Waiter {\n targets: string[];\n cb: (context: ContextInterface) => void;\n}\n\nexport interface ContextParams {\n plugins?: PluginCollection;\n WEBINY_VERSION: string;\n}\nexport class Context implements ContextInterface {\n public _result: any;\n public args: any;\n public readonly plugins: PluginsContainer;\n public readonly WEBINY_VERSION: string;\n\n private readonly waiters: Waiter[] = [];\n\n public constructor(params: ContextParams) {\n const { plugins, WEBINY_VERSION } = params;\n this.plugins = new PluginsContainer(plugins || []);\n this.WEBINY_VERSION = WEBINY_VERSION;\n }\n\n public getResult(): any {\n return this._result;\n }\n\n public hasResult(): boolean {\n return !!this._result;\n }\n\n public setResult(value: any): void {\n this._result = value;\n }\n\n public waitFor<T extends ContextInterface = ContextInterface>(\n obj: string | string[],\n cb: (context: T) => void\n ): void {\n const initialTargets = Array.isArray(obj) ? obj : [obj];\n const targets: string[] = [];\n /**\n * We go only through the first level properties\n */\n for (const key in initialTargets) {\n const target = initialTargets[key] as keyof this;\n /**\n * If property already exists, there is no need to wait for it, so we just continue the loop.\n * Also, if target is not a string, skip this property as it will fail to convert properly during the runtime.\n */\n if (this[target]) {\n continue;\n } else if (typeof target !== \"string\") {\n continue;\n }\n /**\n * Since there is no property, we must define it with its setter and getter.\n * We could not know when it got defined otherwise.\n */\n Object.defineProperty(this, target, {\n /**\n * Setter sets the given value to this object.\n * We cannot set it on exact property name it is defined because it would go into loop of setting itself.\n * And that is why we add __ around the property name.\n */\n set: (value: any) => {\n const newTargetKey = `__${target}__` as keyof this;\n this[newTargetKey] = value;\n /**\n * WWhen the property is set, we will go through all the waiters and, if any of them include currently set property, act on it.\n */\n for (const waiter of this.waiters) {\n if (waiter.targets.includes(target) === false) {\n continue;\n }\n /**\n * Remove currently set property so we know if there are any more to be waited for.\n */\n waiter.targets = waiter.targets.filter(t => t !== target);\n /**\n * If there are more to be waited, eg. user added [cms, pageBuilder] as waited properties, we just continue the loop.\n */\n if (waiter.targets.length > 0) {\n continue;\n }\n /**\n * And if there is nothing more to be waited for, we execute the callable.\n * Note that this callable is not async.\n */\n waiter.cb(this);\n }\n },\n /**\n * As we have set property with __ around it, we must get it as well.\n */\n get: (): any => {\n const newTargetKey = `__${target}__` as keyof this;\n return this[newTargetKey];\n },\n configurable: false\n });\n /**\n * We add the target to be awaited.\n */\n targets.push(target as string);\n }\n /**\n * If there are no targets to be awaited, just fire the callable.\n */\n if (targets.length === 0) {\n cb(this as any);\n return;\n }\n /**\n * Otherwise add the waiter for the target properties.\n */\n this.waiters.push({\n targets,\n /**\n * TODO @ts-refactor\n * Problem with possible subtype initialization\n */\n // @ts-ignore\n cb\n });\n }\n}\n"],"mappings":";;;;;;;;AACA;AAYO,MAAMA,OAAO,CAA6B;EAQtCC,WAAW,CAACC,MAAqB,EAAE;IAAA;IAAA;IAAA;IAAA;IAAA,+CAFL,EAAE;IAGnC,MAAM;MAAEC,OAAO;MAAEC;IAAe,CAAC,GAAGF,MAAM;IAC1C,IAAI,CAACC,OAAO,GAAG,IAAIE,yBAAgB,CAACF,OAAO,IAAI,EAAE,CAAC;IAClD,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEOE,SAAS,GAAQ;IACpB,OAAO,IAAI,CAACC,OAAO;EACvB;EAEOC,SAAS,GAAY;IACxB,OAAO,CAAC,CAAC,IAAI,CAACD,OAAO;EACzB;EAEOE,SAAS,CAACC,KAAU,EAAQ;IAC/B,IAAI,CAACH,OAAO,GAAGG,KAAK;EACxB;EAEOC,OAAO,CACVC,GAAsB,EACtBC,EAAwB,EACpB;IACJ,MAAMC,cAAc,GAAGC,KAAK,CAACC,OAAO,CAACJ,GAAG,CAAC,GAAGA,GAAG,GAAG,CAACA,GAAG,CAAC;IACvD,MAAMK,OAAiB,GAAG,EAAE;IAC5B;AACR;AACA;IACQ,KAAK,MAAMC,GAAG,IAAIJ,cAAc,EAAE;MAC9B,MAAMK,MAAM,GAAGL,cAAc,CAACI,GAAG,CAAe;MAChD;AACZ;AACA;AACA;MACY,IAAI,IAAI,CAACC,MAAM,CAAC,EAAE;QACd;MACJ,CAAC,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;QACnC;MACJ;MACA;AACZ;AACA;AACA;MACYC,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEF,MAAM,EAAE;QAChC;AAChB;AACA;AACA;AACA;QACgBG,GAAG,EAAGZ,KAAU,IAAK;UACjB,MAAMa,YAAY,GAAI,KAAIJ,MAAO,IAAiB;UAClD,IAAI,CAACI,YAAY,CAAC,GAAGb,KAAK;UAC1B;AACpB;AACA;UACoB,KAAK,MAAMc,MAAM,IAAI,IAAI,CAACC,OAAO,EAAE;YAC/B,IAAID,MAAM,CAACP,OAAO,CAACS,QAAQ,CAACP,MAAM,CAAC,KAAK,KAAK,EAAE;cAC3C;YACJ;YACA;AACxB;AACA;YACwBK,MAAM,CAACP,OAAO,GAAGO,MAAM,CAACP,OAAO,CAACU,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKT,MAAM,CAAC;YACzD;AACxB;AACA;YACwB,IAAIK,MAAM,CAACP,OAAO,CAACY,MAAM,GAAG,CAAC,EAAE;cAC3B;YACJ;YACA;AACxB;AACA;AACA;YACwBL,MAAM,CAACX,EAAE,CAAC,IAAI,CAAC;UACnB;QACJ,CAAC;QACD;AAChB;AACA;QACgBiB,GAAG,EAAE,MAAW;UACZ,MAAMP,YAAY,GAAI,KAAIJ,MAAO,IAAiB;UAClD,OAAO,IAAI,CAACI,YAAY,CAAC;QAC7B,CAAC;QACDQ,YAAY,EAAE;MAClB,CAAC,CAAC;MACF;AACZ;AACA;MACYd,OAAO,CAACe,IAAI,CAACb,MAAM,CAAW;IAClC;IACA;AACR;AACA;IACQ,IAAIF,OAAO,CAACY,MAAM,KAAK,CAAC,EAAE;MACtBhB,EAAE,CAAC,IAAI,CAAQ;MACf;IACJ;IACA;AACR;AACA;IACQ,IAAI,CAACY,OAAO,CAACO,IAAI,CAAC;MACdf,OAAO;MACP;AACZ;AACA;AACA;MACY;MACAJ;IACJ,CAAC,CAAC;EACN;AACJ;AAAC"}
1
+ {"version":3,"names":["Context","constructor","params","plugins","WEBINY_VERSION","PluginsContainer","getResult","_result","hasResult","setResult","value","waitFor","obj","cb","initialTargets","Array","isArray","targets","key","target","Object","defineProperty","set","newTargetKey","waiter","waiters","includes","filter","t","length","get","configurable","push"],"sources":["Context.ts"],"sourcesContent":["import { Context as ContextInterface } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\n\ninterface Waiter {\n targets: string[];\n cb: (context: ContextInterface) => void;\n}\n\nexport interface ContextParams {\n plugins?: PluginCollection;\n WEBINY_VERSION: string;\n}\nexport class Context implements ContextInterface {\n public _result: any;\n public args: any;\n public readonly plugins: PluginsContainer;\n public readonly WEBINY_VERSION: string;\n\n private readonly waiters: Waiter[] = [];\n\n public constructor(params: ContextParams) {\n const { plugins, WEBINY_VERSION } = params;\n this.plugins = new PluginsContainer(plugins || []);\n this.WEBINY_VERSION = WEBINY_VERSION;\n }\n\n public getResult(): any {\n return this._result;\n }\n\n public hasResult(): boolean {\n return !!this._result;\n }\n\n public setResult(value: any): void {\n this._result = value;\n }\n\n public waitFor<T extends ContextInterface = ContextInterface>(\n obj: string | string[],\n cb: (context: T) => void\n ): void {\n const initialTargets = Array.isArray(obj) ? obj : [obj];\n const targets: string[] = [];\n /**\n * We go only through the first level properties\n */\n for (const key in initialTargets) {\n const target = initialTargets[key] as keyof this;\n /**\n * If property already exists, there is no need to wait for it, so we just continue the loop.\n * Also, if target is not a string, skip this property as it will fail to convert properly during the runtime.\n */\n if (this[target]) {\n continue;\n } else if (typeof target !== \"string\") {\n continue;\n }\n /**\n * Since there is no property, we must define it with its setter and getter.\n * We could not know when it got defined otherwise.\n */\n Object.defineProperty(this, target, {\n /**\n * Setter sets the given value to this object.\n * We cannot set it on exact property name it is defined because it would go into loop of setting itself.\n * And that is why we add __ around the property name.\n */\n set: (value: any) => {\n const newTargetKey = `__${target}__` as keyof this;\n this[newTargetKey] = value;\n /**\n * WWhen the property is set, we will go through all the waiters and, if any of them include currently set property, act on it.\n */\n for (const waiter of this.waiters) {\n if (waiter.targets.includes(target) === false) {\n continue;\n }\n /**\n * Remove currently set property so we know if there are any more to be waited for.\n */\n waiter.targets = waiter.targets.filter(t => t !== target);\n /**\n * If there are more to be waited, eg. user added [cms, pageBuilder] as waited properties, we just continue the loop.\n */\n if (waiter.targets.length > 0) {\n continue;\n }\n /**\n * And if there is nothing more to be waited for, we execute the callable.\n * Note that this callable is not async.\n */\n waiter.cb(this);\n }\n },\n /**\n * As we have set property with __ around it, we must get it as well.\n */\n get: (): any => {\n const newTargetKey = `__${target}__` as keyof this;\n return this[newTargetKey];\n },\n configurable: false\n });\n /**\n * We add the target to be awaited.\n */\n targets.push(target as string);\n }\n /**\n * If there are no targets to be awaited, just fire the callable.\n */\n if (targets.length === 0) {\n cb(this as any);\n return;\n }\n /**\n * Otherwise add the waiter for the target properties.\n */\n this.waiters.push({\n targets,\n /**\n * TODO @ts-refactor\n * Problem with possible subtype initialization\n */\n // @ts-ignore\n cb\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AACA;;AAYO,MAAMA,OAAN,CAA0C;EAQtCC,WAAW,CAACC,MAAD,EAAwB;IAAA;IAAA;IAAA;IAAA;IAAA,+CAFL,EAEK;IACtC,MAAM;MAAEC,OAAF;MAAWC;IAAX,IAA8BF,MAApC;IACA,KAAKC,OAAL,GAAe,IAAIE,yBAAJ,CAAqBF,OAAO,IAAI,EAAhC,CAAf;IACA,KAAKC,cAAL,GAAsBA,cAAtB;EACH;;EAEME,SAAS,GAAQ;IACpB,OAAO,KAAKC,OAAZ;EACH;;EAEMC,SAAS,GAAY;IACxB,OAAO,CAAC,CAAC,KAAKD,OAAd;EACH;;EAEME,SAAS,CAACC,KAAD,EAAmB;IAC/B,KAAKH,OAAL,GAAeG,KAAf;EACH;;EAEMC,OAAO,CACVC,GADU,EAEVC,EAFU,EAGN;IACJ,MAAMC,cAAc,GAAGC,KAAK,CAACC,OAAN,CAAcJ,GAAd,IAAqBA,GAArB,GAA2B,CAACA,GAAD,CAAlD;IACA,MAAMK,OAAiB,GAAG,EAA1B;IACA;AACR;AACA;;IACQ,KAAK,MAAMC,GAAX,IAAkBJ,cAAlB,EAAkC;MAC9B,MAAMK,MAAM,GAAGL,cAAc,CAACI,GAAD,CAA7B;MACA;AACZ;AACA;AACA;;MACY,IAAI,KAAKC,MAAL,CAAJ,EAAkB;QACd;MACH,CAFD,MAEO,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;QACnC;MACH;MACD;AACZ;AACA;AACA;;;MACYC,MAAM,CAACC,cAAP,CAAsB,IAAtB,EAA4BF,MAA5B,EAAoC;QAChC;AAChB;AACA;AACA;AACA;QACgBG,GAAG,EAAGZ,KAAD,IAAgB;UACjB,MAAMa,YAAY,GAAI,KAAIJ,MAAO,IAAjC;UACA,KAAKI,YAAL,IAAqBb,KAArB;UACA;AACpB;AACA;;UACoB,KAAK,MAAMc,MAAX,IAAqB,KAAKC,OAA1B,EAAmC;YAC/B,IAAID,MAAM,CAACP,OAAP,CAAeS,QAAf,CAAwBP,MAAxB,MAAoC,KAAxC,EAA+C;cAC3C;YACH;YACD;AACxB;AACA;;;YACwBK,MAAM,CAACP,OAAP,GAAiBO,MAAM,CAACP,OAAP,CAAeU,MAAf,CAAsBC,CAAC,IAAIA,CAAC,KAAKT,MAAjC,CAAjB;YACA;AACxB;AACA;;YACwB,IAAIK,MAAM,CAACP,OAAP,CAAeY,MAAf,GAAwB,CAA5B,EAA+B;cAC3B;YACH;YACD;AACxB;AACA;AACA;;;YACwBL,MAAM,CAACX,EAAP,CAAU,IAAV;UACH;QACJ,CAhC+B;;QAiChC;AAChB;AACA;QACgBiB,GAAG,EAAE,MAAW;UACZ,MAAMP,YAAY,GAAI,KAAIJ,MAAO,IAAjC;UACA,OAAO,KAAKI,YAAL,CAAP;QACH,CAvC+B;QAwChCQ,YAAY,EAAE;MAxCkB,CAApC;MA0CA;AACZ;AACA;;MACYd,OAAO,CAACe,IAAR,CAAab,MAAb;IACH;IACD;AACR;AACA;;;IACQ,IAAIF,OAAO,CAACY,MAAR,KAAmB,CAAvB,EAA0B;MACtBhB,EAAE,CAAC,IAAD,CAAF;MACA;IACH;IACD;AACR;AACA;;;IACQ,KAAKY,OAAL,CAAaO,IAAb,CAAkB;MACdf,OADc;;MAEd;AACZ;AACA;AACA;MACY;MACAJ;IAPc,CAAlB;EASH;;AApH4C"}
package/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+
6
7
  var _Context = require("./Context");
8
+
7
9
  Object.keys(_Context).forEach(function (key) {
8
10
  if (key === "default" || key === "__esModule") return;
9
11
  if (key in exports && exports[key] === _Context[key]) return;
@@ -14,7 +16,9 @@ Object.keys(_Context).forEach(function (key) {
14
16
  }
15
17
  });
16
18
  });
19
+
17
20
  var _ContextPlugin = require("./plugins/ContextPlugin");
21
+
18
22
  Object.keys(_ContextPlugin).forEach(function (key) {
19
23
  if (key === "default" || key === "__esModule") return;
20
24
  if (key in exports && exports[key] === _ContextPlugin[key]) return;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"~/Context\";\nexport * from \"~/plugins/ContextPlugin\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"~/Context\";\nexport * from \"~/plugins/ContextPlugin\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api",
3
- "version": "0.0.0-unstable.990c3ab1b6",
3
+ "version": "0.0.0-unstable.d16f688daf",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,16 +12,16 @@
12
12
  ],
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@babel/runtime": "7.20.1",
16
- "@webiny/plugins": "0.0.0-unstable.990c3ab1b6"
15
+ "@babel/runtime": "7.19.0",
16
+ "@webiny/plugins": "0.0.0-unstable.d16f688daf"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@babel/cli": "^7.19.3",
20
20
  "@babel/core": "^7.19.3",
21
21
  "@babel/preset-env": "^7.19.4",
22
22
  "@babel/preset-typescript": "^7.18.6",
23
- "@webiny/cli": "^0.0.0-unstable.990c3ab1b6",
24
- "@webiny/project-utils": "^0.0.0-unstable.990c3ab1b6",
23
+ "@webiny/cli": "^0.0.0-unstable.d16f688daf",
24
+ "@webiny/project-utils": "^0.0.0-unstable.d16f688daf",
25
25
  "rimraf": "^3.0.2",
26
26
  "ttypescript": "^1.5.13",
27
27
  "typescript": "4.7.4"
@@ -34,5 +34,5 @@
34
34
  "build": "yarn webiny run build",
35
35
  "watch": "yarn webiny run watch"
36
36
  },
37
- "gitHead": "87e7b4d0a643f65b31d029d6bf2a81902fb940a8"
37
+ "gitHead": "d16f688daf2f36622d725e53a4dd1c0486017015"
38
38
  }
@@ -1,28 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.createContextPlugin = exports.ContextPlugin = void 0;
9
+
8
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
9
12
  var _plugins = require("@webiny/plugins");
13
+
10
14
  class ContextPlugin extends _plugins.Plugin {
11
15
  constructor(callable) {
12
16
  super();
13
17
  (0, _defineProperty2.default)(this, "_callable", void 0);
14
18
  this._callable = callable;
15
19
  }
20
+
16
21
  async apply(context) {
17
22
  if (typeof this._callable !== "function") {
18
23
  throw Error(`Missing callable in ContextPlugin! Either pass a callable to plugin constructor or extend the plugin and override the "apply" method.`);
19
24
  }
25
+
20
26
  return this._callable(context);
21
27
  }
28
+
22
29
  }
30
+
23
31
  exports.ContextPlugin = ContextPlugin;
24
32
  (0, _defineProperty2.default)(ContextPlugin, "type", "context");
33
+
25
34
  const createContextPlugin = callable => {
26
35
  return new ContextPlugin(callable);
27
36
  };
37
+
28
38
  exports.createContextPlugin = createContextPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","Plugin","constructor","callable","_callable","apply","context","Error","createContextPlugin"],"sources":["ContextPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { Context } from \"~/types\";\n\nexport interface ContextPluginCallable<T extends Context = Context> {\n (context: T): void | Promise<void>;\n}\n\nexport class ContextPlugin<T extends Context = Context> extends Plugin {\n public static override readonly type: string = \"context\";\n private readonly _callable: ContextPluginCallable<T>;\n\n constructor(callable: ContextPluginCallable<T>) {\n super();\n this._callable = callable;\n }\n\n public async apply(context: T): Promise<void> {\n if (typeof this._callable !== \"function\") {\n throw Error(\n `Missing callable in ContextPlugin! Either pass a callable to plugin constructor or extend the plugin and override the \"apply\" method.`\n );\n }\n\n return this._callable(context);\n }\n}\n\nexport const createContextPlugin = <T extends Context = Context>(\n callable: ContextPluginCallable<T>\n): ContextPlugin<T> => {\n return new ContextPlugin<T>(callable);\n};\n"],"mappings":";;;;;;;;AAAA;AAOO,MAAMA,aAAa,SAAsCC,eAAM,CAAC;EAInEC,WAAW,CAACC,QAAkC,EAAE;IAC5C,KAAK,EAAE;IAAC;IACR,IAAI,CAACC,SAAS,GAAGD,QAAQ;EAC7B;EAEA,MAAaE,KAAK,CAACC,OAAU,EAAiB;IAC1C,IAAI,OAAO,IAAI,CAACF,SAAS,KAAK,UAAU,EAAE;MACtC,MAAMG,KAAK,CACN,uIAAsI,CAC1I;IACL;IAEA,OAAO,IAAI,CAACH,SAAS,CAACE,OAAO,CAAC;EAClC;AACJ;AAAC;AAAA,8BAlBYN,aAAa,UACyB,SAAS;AAmBrD,MAAMQ,mBAAmB,GAC5BL,QAAkC,IACf;EACnB,OAAO,IAAIH,aAAa,CAAIG,QAAQ,CAAC;AACzC,CAAC;AAAC"}
1
+ {"version":3,"names":["ContextPlugin","Plugin","constructor","callable","_callable","apply","context","Error","createContextPlugin"],"sources":["ContextPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { Context } from \"~/types\";\n\nexport interface ContextPluginCallable<T extends Context = Context> {\n (context: T): void | Promise<void>;\n}\n\nexport class ContextPlugin<T extends Context = Context> extends Plugin {\n public static override readonly type: string = \"context\";\n private readonly _callable: ContextPluginCallable<T>;\n\n constructor(callable: ContextPluginCallable<T>) {\n super();\n this._callable = callable;\n }\n\n public async apply(context: T): Promise<void> {\n if (typeof this._callable !== \"function\") {\n throw Error(\n `Missing callable in ContextPlugin! Either pass a callable to plugin constructor or extend the plugin and override the \"apply\" method.`\n );\n }\n\n return this._callable(context);\n }\n}\n\nexport const createContextPlugin = <T extends Context = Context>(\n callable: ContextPluginCallable<T>\n): ContextPlugin<T> => {\n return new ContextPlugin<T>(callable);\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAOO,MAAMA,aAAN,SAAyDC,eAAzD,CAAgE;EAInEC,WAAW,CAACC,QAAD,EAAqC;IAC5C;IAD4C;IAE5C,KAAKC,SAAL,GAAiBD,QAAjB;EACH;;EAEiB,MAALE,KAAK,CAACC,OAAD,EAA4B;IAC1C,IAAI,OAAO,KAAKF,SAAZ,KAA0B,UAA9B,EAA0C;MACtC,MAAMG,KAAK,CACN,uIADM,CAAX;IAGH;;IAED,OAAO,KAAKH,SAAL,CAAeE,OAAf,CAAP;EACH;;AAjBkE;;;8BAA1DN,a,UACsC,S;;AAmB5C,MAAMQ,mBAAmB,GAC5BL,QAD+B,IAEZ;EACnB,OAAO,IAAIH,aAAJ,CAAqBG,QAArB,CAAP;AACH,CAJM"}