@athree/helpers 4.0.0-wip.9 → 4.0.1

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.
@@ -0,0 +1,5 @@
1
+ export interface DebounceOptions {
2
+ leading?: boolean;
3
+ trailing?: boolean;
4
+ }
5
+ export declare function debounce(delay: number, options?: DebounceOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -0,0 +1,28 @@
1
+ export function debounce(delay, options = {}) {
2
+ const { leading = false, trailing = true } = options;
3
+ return (target, propertyKey, descriptor) => {
4
+ let timer = null;
5
+ let waiting = false;
6
+ let called = false;
7
+ const originalMethod = descriptor.value;
8
+ descriptor.value = function debounced(...args) {
9
+ if (leading && !waiting) {
10
+ originalMethod.apply(this, args);
11
+ called = true;
12
+ }
13
+ else {
14
+ called = false;
15
+ }
16
+ waiting = true;
17
+ clearTimeout(timer);
18
+ timer = setTimeout(() => {
19
+ waiting = false;
20
+ if (trailing && !called) {
21
+ originalMethod.apply(this, args);
22
+ called = true;
23
+ }
24
+ }, delay);
25
+ };
26
+ };
27
+ }
28
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/main/debounce.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,UAA2B,EAAE;IACjE,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B,EAAE,EAAE;QACxE,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,SAAS,SAAS,CAAC,GAAG,IAAW;YAChD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,OAAO,GAAG,KAAK,CAAC;gBAChB,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC;gBAClB,CAAC;YACL,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { StageInfo } from '@athree/runner-proto';
2
2
  export declare function errorToJson(error: any): {
3
3
  name: any;
4
- message: any;
5
- stack: any;
4
+ message: string;
5
+ stack: string;
6
6
  code: any;
7
7
  details: any;
8
8
  };
@@ -35,3 +35,11 @@ export declare class WorkflowFailError extends BaseError {
35
35
  details: {};
36
36
  constructor(code: string, message: string);
37
37
  }
38
+ export declare class NotFoundError extends BaseError {
39
+ code: string;
40
+ details: {};
41
+ constructor(message: string);
42
+ }
43
+ export declare class UserQuestionRejectedError extends Error {
44
+ constructor(questionId: string);
45
+ }
package/out/main/error.js CHANGED
@@ -1,8 +1,9 @@
1
+ import { stripColors } from './string.js';
1
2
  export function errorToJson(error) {
2
3
  return {
3
4
  name: error?.name ?? 'Error',
4
- message: error?.message ?? 'Unknown error',
5
- stack: error?.stack ?? '',
5
+ message: stripColors(error?.message ?? 'Unknown error'),
6
+ stack: stripColors(error?.stack ?? ''),
6
7
  code: error?.code,
7
8
  details: error?.details,
8
9
  };
@@ -53,4 +54,17 @@ export class WorkflowFailError extends BaseError {
53
54
  this.details = { code };
54
55
  }
55
56
  }
57
+ export class NotFoundError extends BaseError {
58
+ constructor(message) {
59
+ super(message);
60
+ this.code = 'NOT_FOUND';
61
+ this.details = {};
62
+ }
63
+ }
64
+ export class UserQuestionRejectedError extends Error {
65
+ constructor(questionId) {
66
+ super(`User rejected answering question: ${questionId}`);
67
+ this.name = 'UserQuestionRejectedError';
68
+ }
69
+ }
56
70
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/main/error.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAU;IAClC,OAAO;QACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,OAAO;QAC5B,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe;QAC1C,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;QACzB,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO;KAC1B,CAAC;AACN,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAApC;;QAEa,SAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAE1C,CAAC;CAAA;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAI7C;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAH7B,SAAI,GAAG,iBAAiB,CAAC;IAIzB,CAAC;CAEJ;AAED,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IAInD;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAHnC,SAAI,GAAG,uBAAuB,CAAC;IAI/B,CAAC;CAEJ;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IAIvD;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAH7B,SAAI,GAAG,0BAA0B,CAAC;IAIlC,CAAC;CAEJ;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAIjD,YAAY,WAAmB;QAC3B,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAHjD,SAAI,GAAG,qBAAqB,CAAC;IAI7B,CAAC;CAEJ;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IAKvD,YAAY,SAAoB;QAC5B,KAAK,CAAC,8BAA8B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAJ3D,SAAI,GAAG,2BAA2B,CAAC;QACnC,YAAO,GAAG,EAAE,CAAC;QAIT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;CAEJ;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAK5C,YAAY,IAAY,EAAE,OAAe;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJnB,SAAI,GAAG,eAAe,CAAC;QACvB,YAAO,GAAG,EAAE,CAAC;QAIT,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CAEJ"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/main/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,WAAW,CAAC,KAAU;IAClC,OAAO;QACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,OAAO;QAC5B,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;QACvD,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO;KAC1B,CAAC;AACN,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAApC;;QAEa,SAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAE1C,CAAC;CAAA;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAI7C;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAH7B,SAAI,GAAG,iBAAiB,CAAC;IAIzB,CAAC;CAEJ;AAED,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IAInD;QACI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAHnC,SAAI,GAAG,uBAAuB,CAAC;IAI/B,CAAC;CAEJ;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IAIvD;QACI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAH7B,SAAI,GAAG,0BAA0B,CAAC;IAIlC,CAAC;CAEJ;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IAIjD,YAAY,WAAmB;QAC3B,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAHjD,SAAI,GAAG,qBAAqB,CAAC;IAI7B,CAAC;CAEJ;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IAKvD,YAAY,SAAoB;QAC5B,KAAK,CAAC,8BAA8B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAJ3D,SAAI,GAAG,2BAA2B,CAAC;QACnC,YAAO,GAAG,EAAE,CAAC;QAIT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;CAEJ;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAK5C,YAAY,IAAY,EAAE,OAAe;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJnB,SAAI,GAAG,eAAe,CAAC;QACvB,YAAO,GAAG,EAAE,CAAC;QAIT,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CAEJ;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAKxC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJnB,SAAI,GAAG,WAAW,CAAC;QACnB,YAAO,GAAG,EAAE,CAAC;IAIb,CAAC;CAEJ;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAEhD,YAAY,UAAkB;QAC1B,KAAK,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC5C,CAAC;CAEJ"}
@@ -1,5 +1,6 @@
1
1
  export * from './clone.js';
2
2
  export * from './compare.js';
3
+ export * from './debounce.js';
3
4
  export * from './error.js';
4
5
  export * from './extract.js';
5
6
  export * from './id.js';
package/out/main/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './clone.js';
2
2
  export * from './compare.js';
3
+ export * from './debounce.js';
3
4
  export * from './error.js';
4
5
  export * from './extract.js';
5
6
  export * from './id.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare function slugify(text: string): string;
2
+ export declare function stripColors(str: string): string;
@@ -4,6 +4,12 @@ export function slugify(text) {
4
4
  .replace(/([A-Z])/g, '-$1')
5
5
  .replace(/[^a-zA-Z0-9-]/g, '-')
6
6
  .replace(/-+/g, '-')
7
+ .replace(/^-+/g, '')
8
+ .replace(/-+$/g, '')
7
9
  .toLowerCase();
8
10
  }
11
+ export function stripColors(str) {
12
+ // eslint-disable-next-line no-control-regex
13
+ return str.replace(/\x1B\[[0-9;]*m/g, '');
14
+ }
9
15
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/main/string.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,IAAY;IAChC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACd,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,WAAW,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/main/string.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,IAAY;IAChC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACd,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACnC,4CAA4C;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athree/helpers",
3
- "version": "4.0.0-wip.9",
3
+ "version": "4.0.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -13,7 +13,7 @@
13
13
  "clean": "rm -rf out/ *.tsbuildinfo"
14
14
  },
15
15
  "dependencies": {
16
- "@athree/runner-proto": "4.0.0-wip.9",
16
+ "@athree/runner-proto": "4.0.1",
17
17
  "@types/markdown-it": "^14.1.2",
18
18
  "markdown-it": "^14.1.0",
19
19
  "nanoid": "^5.1.3"