polyapi 0.1.58 → 0.1.59

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":"generate.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AA6gBA,QAAA,MAAM,4BAA4B,eAAsB,MAAM,kBA6C7D,CAAC;AA8CF,QAAA,MAAM,QAAQ,cAAqB,MAAM,EAAE,UAAU,MAAM,EAAE,gBAAgB,MAAM,EAAE,kBAkBpF,CAAC;AAaF,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AAwhBA,QAAA,MAAM,4BAA4B,eAAsB,MAAM,kBA6C7D,CAAC;AA8CF,QAAA,MAAM,QAAQ,cAAqB,MAAM,EAAE,UAAU,MAAM,EAAE,gBAAgB,MAAM,EAAE,kBAkBpF,CAAC;AAaF,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC"}
@@ -174,7 +174,7 @@ const generateTSIndexDeclarationFile = async (contexts, pathPrefix) => {
174
174
  })));
175
175
  };
176
176
  const schemaToDeclarations = async (namespace, typeName, schema) => {
177
- const wrapToNamespace = (code) => `declare namespace ${namespace} {\n ${code}\n}`;
177
+ const wrapToNamespace = (code) => `namespace ${namespace} {\n ${code}\n}`;
178
178
  schema.title = typeName;
179
179
  const result = await (0, json_schema_to_typescript_1.compile)(schema, typeName, {
180
180
  format: false,
@@ -182,12 +182,12 @@ const schemaToDeclarations = async (namespace, typeName, schema) => {
182
182
  });
183
183
  return wrapToNamespace(result);
184
184
  };
185
- const getReturnTypeDeclarations = async (namespace, objectProperty, typeName = 'ReturnType') => {
185
+ const getReturnTypeDeclarations = async (namespacePath, namespace, objectProperty, typeName = 'ReturnType') => {
186
186
  const declarations = await schemaToDeclarations(namespace, typeName, objectProperty.schema);
187
- objectProperty.typeName = `${namespace}.ReturnType`;
187
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.${typeName}`;
188
188
  return declarations;
189
189
  };
190
- const getArgumentsTypeDeclarations = async (parentType, properties, typeName = 'Argument') => {
190
+ const getArgumentsTypeDeclarations = async (namespacePath, parentType, properties, typeName = 'Argument') => {
191
191
  const typeDeclarations = [];
192
192
  const objectProperties = properties.filter((property) => property.type.kind === 'object');
193
193
  const functionProperties = properties.filter((property) => property.type.kind === 'function');
@@ -195,11 +195,11 @@ const getArgumentsTypeDeclarations = async (parentType, properties, typeName = '
195
195
  const objectProperty = property.type;
196
196
  if (objectProperty.schema) {
197
197
  const namespace = `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`;
198
- objectProperty.typeName = `${namespace}.${typeName}`;
198
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.${typeName}`;
199
199
  typeDeclarations.push(await schemaToDeclarations(namespace, typeName, objectProperty.schema));
200
200
  }
201
201
  else if (objectProperty.properties) {
202
- typeDeclarations.push(...(await getArgumentsTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, objectProperty.properties)));
202
+ typeDeclarations.push(...(await getArgumentsTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, objectProperty.properties)));
203
203
  }
204
204
  }
205
205
  for (const property of functionProperties) {
@@ -207,36 +207,37 @@ const getArgumentsTypeDeclarations = async (parentType, properties, typeName = '
207
207
  if (functionProperty.name) {
208
208
  continue;
209
209
  }
210
- typeDeclarations.push(...(await getArgumentsTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.arguments.filter((arg) => arg.type.kind === 'object'))));
210
+ typeDeclarations.push(...(await getArgumentsTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.arguments.filter((arg) => arg.type.kind === 'object'))));
211
211
  if (functionProperty.spec.returnType.kind === 'object' && functionProperty.spec.returnType.schema) {
212
- typeDeclarations.push(await getReturnTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.returnType));
212
+ typeDeclarations.push(await getReturnTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.returnType));
213
213
  }
214
214
  }
215
215
  return typeDeclarations;
216
216
  };
217
- const getVariableValueTypeDeclarations = async (namespace, objectProperty) => {
217
+ const getVariableValueTypeDeclarations = async (namespacePath, namespace, objectProperty) => {
218
218
  const declarations = await schemaToDeclarations(namespace, 'ValueType', objectProperty.schema);
219
- objectProperty.typeName = `${namespace}.ValueType`;
219
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.ValueType`;
220
220
  return declarations;
221
221
  };
222
- const getSpecificationsTypeDeclarations = async (specifications) => {
222
+ const getSpecificationsTypeDeclarations = async (namespacePath, specifications) => {
223
223
  const argumentsTypeDeclarations = (await Promise.all(specifications
224
224
  .filter((spec) => 'function' in spec)
225
225
  .map((spec) => spec)
226
- .map((spec) => getArgumentsTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.function.arguments)))).flat();
226
+ .map((spec) => getArgumentsTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.function.arguments)))).flat();
227
227
  const returnTypeDeclarations = await Promise.all(specifications
228
228
  .filter((spec) => 'function' in spec && spec.function.returnType.kind === 'object' && spec.function.returnType.schema)
229
229
  .map((spec) => spec)
230
- .map((spec) => getReturnTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.function.returnType)));
230
+ .map((spec) => getReturnTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.function.returnType)));
231
231
  const variableValueDeclarations = await Promise.all(specifications
232
232
  .filter((spec) => 'variable' in spec && spec.variable.valueType.kind === 'object' && spec.variable.valueType.schema)
233
233
  .map((spec) => spec)
234
- .map((spec) => getVariableValueTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.variable.valueType)));
234
+ .map((spec) => getVariableValueTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.variable.valueType)));
235
235
  return [...argumentsTypeDeclarations, ...returnTypeDeclarations, ...variableValueDeclarations].join('\n');
236
236
  };
237
237
  const generateTSContextDeclarationFile = async (context, specifications, subContexts, pathPrefix) => {
238
238
  const template = handlebars_1.default.compile(await loadTemplate(`${pathPrefix}/{{context}}.d.ts.hbs`));
239
- const typeDeclarations = await getSpecificationsTypeDeclarations(specifications);
239
+ const contextPaths = context.path === '' ? [] : context.path.split('.').map(helper_string_1.toPascalCase);
240
+ const typeDeclarations = await getSpecificationsTypeDeclarations(contextPaths.join('.'), specifications);
240
241
  const toFunctionDeclaration = (specification) => {
241
242
  const toArgumentDeclaration = (arg) => ({
242
243
  name: (0, helper_string_1.toCamelCase)(arg.name),
@@ -260,6 +261,7 @@ const generateTSContextDeclarationFile = async (context, specifications, subCont
260
261
  });
261
262
  fs_1.default.writeFileSync(`${POLY_LIB_PATH}/${pathPrefix}/${context.fileName}`, prettyPrint(template({
262
263
  interfaceName: context.interfaceName,
264
+ contextPaths,
263
265
  typeDeclarations,
264
266
  functionDeclarations: specifications
265
267
  .filter((spec) => 'function' in spec)
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,22 @@
5
5
 
6
6
  {{#each contexts}}
7
7
  {{#if firstLevel}}
8
- export const {{name}}: poly.{{interfaceName}};
8
+ export const {{name}}: {{interfaceName}};
9
9
  {{/if}}
10
10
  {{/each}}
11
11
 
12
- export = poly;
13
- export as namespace poly;
12
+ declare const poly: Poly;
13
+ export default poly;
14
14
 
15
- declare const poly: poly.Poly;
16
-
17
- declare namespace poly {
18
- interface Poly {}
15
+ export type UnregisterWebhookEventListener = () => void;
16
+ export type AuthFunctionCallback = (token?: string, url?: string, error?: any) => any;
17
+ export interface ApiFunctionResponse<T> {
18
+ status: number;
19
+ data: T;
20
+ headers: Record<string, string>;
19
21
  }
20
22
 
21
- interface ErrorEvent {
23
+ export interface ErrorEvent {
22
24
  message: string;
23
25
  data?: any;
24
26
  status?: number;
@@ -6,18 +6,35 @@ declare module vari {
6
6
  type UnregisterOnUpdateHandler = () => void;
7
7
  interface VariableChangeEvent<T> {
8
8
  type: 'update' | 'delete';
9
+ id: string;
9
10
  previousValue: T;
10
11
  /**
11
- * Updated value of the variable or null if the variable was deleted.
12
- */
12
+ * Updated value of the variable or null if the variable was deleted.
13
+ */
13
14
  currentValue: T | null;
14
15
  updateTime: number;
15
16
  /**
16
- * User ID or Application ID of the user or application that updated the variable.
17
- */
17
+ * User ID or Application ID of the user or application that updated the variable.
18
+ */
18
19
  updatedBy: string;
19
20
  };
20
21
 
22
+ type OnUpdateOptions = {
23
+ /**
24
+ * Filter updates by type of event
25
+ */
26
+ type?: 'update' | 'delete';
27
+ /**
28
+ * Filter updates by secret or non-secret variables
29
+ */
30
+ secret?: boolean;
31
+ };
32
+
21
33
  interface Vari {
34
+ /**
35
+ * Creates update listener for the variables under given path.
36
+ * @param path context path to listen to (example: 'products' or 'products.shopId'). Can be '' to listen to all variables.
37
+ */
38
+ onUpdate: (path: string, callback: (event: VariableChangeEvent<any>) => void, options?: OnUpdateOptions) => UnregisterOnUpdateHandler;
22
39
  }
23
40
  }
@@ -95,4 +95,30 @@ const getPathHandlers = () => {
95
95
  module.exports = (clientID, getSocket) => merge(
96
96
  getVariableHandlers(clientID, getSocket),
97
97
  getPathHandlers(),
98
+ {
99
+ onUpdate: (path, callback, options = {}) => {
100
+ const socket = getSocket();
101
+ const unregisterEventHandler = () => {
102
+ socket.off(`handleVariablesChangeEvent:${path}`);
103
+ socket.emit('unregisterVariablesChangeEventHandler', {
104
+ clientID,
105
+ path,
106
+ apiKey: '{{apiKey}}'
107
+ });
108
+ }
109
+
110
+ socket.emit('registerVariablesChangeEventHandler', {
111
+ clientID,
112
+ path,
113
+ options,
114
+ apiKey: '{{apiKey}}'
115
+ }, registered => {
116
+ if (registered) {
117
+ socket.on(`handleVariablesChangeEvent:${path}`, callback);
118
+ }
119
+ });
120
+
121
+ return unregisterEventHandler;
122
+ }
123
+ }
98
124
  );
@@ -1,4 +1,3 @@
1
- {{{typeDeclarations}}}
2
1
  declare module vari {
3
2
  interface {{interfaceName}}Values {
4
3
  {{#each subContexts}}
@@ -48,4 +47,12 @@ declare module vari {
48
47
  {{/each}}
49
48
  get: () => Promise<{{interfaceName}}Values>;
50
49
  }
50
+
51
+ {{#each contextPaths}}
52
+ namespace {{this}} {
53
+ {{/each}}
54
+ {{{typeDeclarations}}}
55
+ {{#each contextPaths}}
56
+ }
57
+ {{/each}}
51
58
  }
@@ -1,14 +1,5 @@
1
1
  import poly = require("./index");
2
2
 
3
- type UnregisterWebhookEventListener = () => void;
4
- type AuthFunctionCallback = (token?: string, url?: string, error?: any) => any;
5
- interface Response<T> {
6
- status: number;
7
- data: T;
8
- headers: Record<string, string>;
9
- }
10
-
11
- {{{typeDeclarations}}}
12
3
  declare module "./index" {
13
4
  interface {{interfaceName}} {
14
5
  {{#each subContexts}}
@@ -21,9 +12,18 @@ declare module "./index" {
21
12
  */
22
13
  {{/if}}
23
14
  {{name}}({{#each arguments}}{{name}}{{#unless required}}?{{/unless}}: {{{type}}}{{#unless @last}}, {{/unless}}{{/each}}):
24
- {{#if synchronous}}{{#if useResponseTypeWrapper}}Response<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}
25
- {{else}}Promise<{{#if useResponseTypeWrapper}}Response<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}>
15
+ {{#if synchronous}}{{#if useResponseTypeWrapper}}ApiFunctionResponse<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}
16
+ {{else}}Promise<{{#if useResponseTypeWrapper}}ApiFunctionResponse<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}>
26
17
  {{/if}};
27
18
  {{/each}}
28
19
  }
20
+
21
+ {{#each contextPaths}}
22
+ namespace {{this}} {
23
+ {{/each}}
24
+ {{{typeDeclarations}}}
25
+ {{#each contextPaths}}
26
+ }
27
+ {{/each}}
28
+
29
29
  }
@@ -4,4 +4,5 @@ export * from './update-variable.dto';
4
4
  export * from './variable-change-event-handler.dto';
5
5
  export * from './variable-change-event.dto';
6
6
  export * from './context-variable-values';
7
+ export * from './variables-change-event-handler.dto';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC"}
@@ -20,4 +20,5 @@ __exportStar(require("./update-variable.dto"), exports);
20
20
  __exportStar(require("./variable-change-event-handler.dto"), exports);
21
21
  __exportStar(require("./variable-change-event.dto"), exports);
22
22
  __exportStar(require("./context-variable-values"), exports);
23
+ __exportStar(require("./variables-change-event-handler.dto"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,sEAAoD;AACpD,8DAA4C;AAC5C,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,sEAAoD;AACpD,8DAA4C;AAC5C,4DAA0C;AAC1C,uEAAqD"}
@@ -1,5 +1,8 @@
1
+ export type VariableChangeEventType = 'update' | 'delete';
1
2
  export interface VariableChangeEvent {
2
- type: 'update' | 'delete';
3
+ path: string;
4
+ secret: boolean;
5
+ type: VariableChangeEventType;
3
6
  previousValue: any;
4
7
  currentValue: any;
5
8
  updateTime: number;
@@ -1 +1 @@
1
- {"version":3,"file":"variable-change-event.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"variable-change-event.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event.dto.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,11 @@
1
+ import { VariableChangeEventType } from './variable-change-event.dto';
2
+ export interface VariablesChangeEventHandlerDto {
3
+ path: string;
4
+ apiKey: string;
5
+ clientID: string;
6
+ options?: {
7
+ type?: VariableChangeEventType;
8
+ secret?: boolean;
9
+ };
10
+ }
11
+ //# sourceMappingURL=variables-change-event-handler.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables-change-event-handler.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variables-change-event-handler.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,uBAAuB,CAAC;QAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAA;CACF"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=variables-change-event-handler.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables-change-event-handler.dto.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variables-change-event-handler.dto.ts"],"names":[],"mappings":""}