@panyam/tsutils 0.0.51 → 0.0.55

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.
Files changed (51) hide show
  1. package/lib/cjs/apis/evapis.js.map +1 -1
  2. package/lib/cjs/apis/index.js.map +1 -1
  3. package/lib/cjs/apis/net.js.map +1 -1
  4. package/lib/cjs/apis/promiseapis.js.map +1 -1
  5. package/lib/cjs/browser.js.map +1 -1
  6. package/lib/cjs/comms/actors.js.map +1 -1
  7. package/lib/cjs/comms/bus.js.map +1 -1
  8. package/lib/cjs/comms/events.js.map +1 -1
  9. package/lib/cjs/constants.js.map +1 -1
  10. package/lib/cjs/dal.js.map +1 -1
  11. package/lib/cjs/decorators.js.map +1 -1
  12. package/lib/cjs/dom.d.ts +2 -0
  13. package/lib/cjs/dom.js +37 -1
  14. package/lib/cjs/dom.js.map +1 -1
  15. package/lib/cjs/geom.d.ts +2 -1
  16. package/lib/cjs/geom.js +15 -8
  17. package/lib/cjs/geom.js.map +1 -1
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/list.js.map +1 -1
  20. package/lib/cjs/misc.js.map +1 -1
  21. package/lib/cjs/numberutils.js.map +1 -1
  22. package/lib/cjs/properties.js.map +1 -1
  23. package/lib/cjs/streams.js.map +1 -1
  24. package/lib/cjs/timeutils.js.map +1 -1
  25. package/lib/cjs/types.js.map +1 -1
  26. package/lib/esm/apis/evapis.js.map +1 -1
  27. package/lib/esm/apis/index.js.map +1 -1
  28. package/lib/esm/apis/net.js.map +1 -1
  29. package/lib/esm/apis/promiseapis.js.map +1 -1
  30. package/lib/esm/browser.js.map +1 -1
  31. package/lib/esm/comms/actors.js.map +1 -1
  32. package/lib/esm/comms/bus.js.map +1 -1
  33. package/lib/esm/comms/events.js.map +1 -1
  34. package/lib/esm/constants.js.map +1 -1
  35. package/lib/esm/dal.js.map +1 -1
  36. package/lib/esm/decorators.js.map +1 -1
  37. package/lib/esm/dom.d.ts +2 -0
  38. package/lib/esm/dom.js +16 -0
  39. package/lib/esm/dom.js.map +1 -1
  40. package/lib/esm/geom.d.ts +2 -1
  41. package/lib/esm/geom.js +15 -8
  42. package/lib/esm/geom.js.map +1 -1
  43. package/lib/esm/index.js.map +1 -1
  44. package/lib/esm/list.js.map +1 -1
  45. package/lib/esm/misc.js.map +1 -1
  46. package/lib/esm/numberutils.js.map +1 -1
  47. package/lib/esm/properties.js.map +1 -1
  48. package/lib/esm/streams.js.map +1 -1
  49. package/lib/esm/timeutils.js.map +1 -1
  50. package/lib/esm/types.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"evapis.js","sourceRoot":"","sources":["../../../src/apis/evapis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evapis.js","sourceRoot":"","sources":["../../../src/apis/evapis.ts"],"names":[],"mappings":"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","sourcesContent":["import { TEvent, EventHub } from \"../comms/events\";\nimport { Nullable } from \"../types\";\nconst axios = require(\"axios\").default;\n\nexport enum ResourceApiEvent {\n LIST_STARTED = \"LIST_STARTED\",\n LIST_FINISHED = \"LIST_FINISHED\",\n LIST_FAILED = \"LIST_FAILED\",\n\n CREATE_STARTED = \"CREATE_STARTED\",\n CREATE_FINISHED = \"CREATE_FINISHED\",\n CREATE_FAILED = \"CREATE_FAILED\",\n\n BATCH_GET_STARTED = \"BATCH_GET_STARTED\",\n BATCH_GET_FINISHED = \"BATCH_GET_FINISHED\",\n BATCH_GET_FAILED = \"BATCH_GET_FAILED\",\n\n GET_STARTED = \"GET_STARTED\",\n GET_FINISHED = \"GET_FINISHED\",\n GET_FAILED = \"GET_FAILED\",\n\n DELETE_STARTED = \"DELETE_STARTED\",\n DELETE_FINISHED = \"DELETE_FINISHED\",\n DELETE_FAILED = \"DELETE_FAILED\",\n\n UPDATE_STARTED = \"UPDATE_STARTED\",\n UPDATE_FINISHED = \"UPDATE_FINISHED\",\n UPDATE_FAILED = \"UPDATE_FAILED\",\n}\n\nexport abstract class ResourceEvApi<ResType> extends EventHub {\n abstract urlForGet(resId: string, params: any): string;\n abstract urlForBatchGet(resIds: string[]): string;\n abstract urlForDelete(resId: string, params: any): string;\n abstract urlForUpdate(resId: string, params: any): string;\n abstract urlForList(params: any): string;\n abstract urlForCreate(params: any): string;\n\n abstract processListResponse(response: Response): ResType[];\n abstract processGetResponse(response: Response): Nullable<ResType>;\n abstract processDeleteResponse(response: Response): boolean;\n abstract processUpdateResponse(response: Response): ResType;\n abstract processCreateResponse(response: Response): ResType;\n abstract processUpdateParams(params: any): any;\n abstract processCreateParams(params: any): any;\n\n create(params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_STARTED, this));\n const url = this.urlForCreate(params);\n axios\n .post(url, this.processCreateParams(params))\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_FAILED, this, err));\n });\n }\n\n batchGet(...resIds: string[]): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_STARTED, this));\n const url = this.urlForBatchGet(resIds);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_FINISHED, this, this.processGetResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_FAILED, this, err));\n });\n }\n\n get(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_STARTED, this));\n const url = this.urlForGet(resId, params);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_FINISHED, this, this.processGetResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_FAILED, this, err));\n });\n }\n\n list(params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_STARTED, this));\n const url = this.urlForList(params);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_FAILED, this, err));\n });\n }\n\n update(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_STARTED, this));\n const url = this.urlForUpdate(resId, params);\n axios\n .post(url, this.processUpdateParams(params))\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_FAILED, this, err));\n });\n }\n\n delete(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_STARTED, this));\n const url = this.urlForDelete(resId, params);\n axios({\n method: \"delete\",\n url: url,\n })\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_FAILED, this, err));\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAsB;AACtB,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAsB;AACtB,gDAA8B","sourcesContent":["export * from \"./net\";\nexport * from \"./promiseapis\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/apis/net.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/apis/net.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * A helper for building URLs.\n */\nexport class URLBuilder {\n baseUrl: string;\n path: string;\n params: any = [];\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n appendPath(path: string): this {\n if (!this.baseUrl.endsWith(\"/\") && !path.startsWith(\"/\")) {\n this.baseUrl += \"/\";\n }\n this.baseUrl += path;\n return this;\n }\n\n addParam(key: string, value: string): this {\n this.params.push([key, value]);\n return this;\n }\n\n addParams(params: any): this {\n for (const key in params) {\n this.addParam(key, params[key]);\n }\n return this;\n }\n\n build(): string {\n const url = this.baseUrl;\n const path = this.path;\n const params = this.params;\n const paramString = params\n .map((item: any, _index: number) => {\n const [key, value] = item;\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n })\n .join(\"&\");\n if (paramString.length > 0) {\n return url + (url.indexOf(\"?\") >= 0 ? \"&\" : \"?\") + paramString;\n } else {\n return url;\n }\n }\n}\n\nexport class Request {\n url: string;\n options: any;\n\n constructor(url: string, options: any) {\n this.url = url;\n this.options = options || {};\n this.options.headers = this.options.headers || {};\n this.options.body = this.options.body || null;\n }\n\n get method(): string {\n return this.options.method || \"GET\";\n }\n\n set method(method: string) {\n this.options.method = method;\n }\n\n get body(): any {\n return this.options.body;\n }\n\n set body(body: any) {\n this.options.body = body;\n }\n\n get headers(): any {\n return this.options.headers;\n }\n\n get contentType(): string {\n return this.options.contentType;\n }\n}\n\nexport class Response {\n status: number;\n statusText: string;\n headers: any = {};\n data: any = null;\n error: any = null;\n\n constructor(status = 200, statusText = \"\", data: any = null) {\n this.status = status;\n this.statusText = statusText;\n this.data = data;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseapis.js","sourceRoot":"","sources":["../../../src/apis/promiseapis.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAEvC,MAAsB,WAAW;IAiBzB,MAAM,CAAC,MAAW;;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,QAAQ,CAAC,GAAG,MAAgB;;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,GAAG,CAAC,KAAa,EAAE,MAAW;;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEK,IAAI,CAAC,MAAW;;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;CACF;AApDD,kCAoDC"}
1
+ {"version":3,"file":"promiseapis.js","sourceRoot":"","sources":["../../../src/apis/promiseapis.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAEvC,MAAsB,WAAW;IAiBzB,MAAM,CAAC,MAAW;;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,QAAQ,CAAC,GAAG,MAAgB;;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,GAAG,CAAC,KAAa,EAAE,MAAW;;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEK,IAAI,CAAC,MAAW;;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;CACF;AApDD,kCAoDC","sourcesContent":["import { StringMap, Nullable } from \"../types\";\nconst axios = require(\"axios\").default;\n\nexport abstract class ResourceApi<ResType> {\n abstract urlForGet(resId: string, params: any): string;\n abstract urlForBatchGet(resIds: string[]): string;\n abstract urlForDelete(resId: string, params: any): string;\n abstract urlForUpdate(resId: string, params: any): string;\n abstract urlForList(params: any): string;\n abstract urlForCreate(params: any): string;\n\n abstract processListResponse(response: Response): ResType[];\n abstract processBatchGetResponse(response: Response): StringMap<ResType>;\n abstract processGetResponse(response: Response): Nullable<ResType>;\n abstract processDeleteResponse(response: Response): boolean;\n abstract processUpdateResponse(response: Response): ResType;\n abstract processCreateResponse(response: Response): ResType;\n abstract processUpdateParams(params: any): any;\n abstract processCreateParams(params: any): any;\n\n async create(params: any): Promise<ResType> {\n const url = this.urlForCreate(params);\n const response = await axios.post(url, this.processCreateParams(params));\n return this.processCreateResponse(response);\n }\n\n async batchGet(...resIds: string[]): Promise<StringMap<ResType>> {\n const url = this.urlForBatchGet(resIds);\n const response = await axios.get(url);\n return this.processBatchGetResponse(response);\n }\n\n async get(resId: string, params: any): Promise<Nullable<ResType>> {\n const url = this.urlForGet(resId, params);\n const response = await axios.get(url);\n return this.processGetResponse(response);\n }\n\n async list(params: any): Promise<ResType[]> {\n const url = this.urlForList(params);\n const response = await axios.get(url);\n return this.processListResponse(response);\n }\n\n async update(resId: string, params: any): Promise<ResType> {\n const url = this.urlForUpdate(resId, params);\n const response = await axios.put(url, this.processUpdateParams(params));\n return this.processUpdateResponse(response);\n }\n\n async delete(resId: string, params: any): Promise<boolean> {\n const url = this.urlForDelete(resId, params);\n const response = await axios({ method: \"delete\", url: url });\n return this.processDeleteResponse(response);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;AACA,MAAa,OAAO;;AAApB,0BASC;AARQ,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,kBAAU,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,gBAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzE,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;AACA,MAAa,OAAO;;AAApB,0BASC;AARQ,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,kBAAU,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,gBAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzE,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC","sourcesContent":["declare let navigator: any;\nexport class Browser {\n static IS_EXPLORER = () => navigator && navigator.userAgent.indexOf(\"MSIE\") > -1;\n static IS_FIREFOX = () => navigator && navigator.userAgent.indexOf(\"Firefox\") > -1;\n static IS_OPERA = () => navigator && navigator.userAgent.toLowerCase().indexOf(\"op\") > -1;\n\n protected static UAHasChrome = () => navigator && navigator.userAgent.indexOf(\"Chrome\") > -1;\n protected static UAHasSafari = () => navigator && navigator.userAgent.indexOf(\"Safari\") > -1;\n static IS_SAFARI = () => navigator && Browser.UAHasSafari() && (!Browser.UAHasChrome() || !Browser.UAHasSafari());\n static IS_CHROME = () => navigator && Browser.UAHasChrome() && (!Browser.UAHasChrome() || !Browser.IS_OPERA());\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"actors.js","sourceRoot":"","sources":["../../../src/comms/actors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actors.js","sourceRoot":"","sources":["../../../src/comms/actors.ts"],"names":[],"mappings":";;;AAAA,oCAA4C;AAM5C,MAAsB,KAAK;IACzB,cAAc,CAAC,GAAY;QACzB,cAAM,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,kDAAkD,CAAC,CAAC;QAC/E,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,cAAM,CACJ,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,EACpC,+EAA+E,CAChF,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,GAAW,CAAC,CAAC;SAC/B;IACH,CAAC;IAKD,WAAW,CAAC,IAAU;IAEtB,CAAC;IAKD,YAAY,CAAC,MAAa;IAE1B,CAAC;CAwBF;AAnDD,sBAmDC;AAED,MAAsB,OAAO;IAwC3B,YAAY,IAAY,EAAE,MAAa,EAAE,MAAa;QApC7C,SAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAuBlC,eAAU,GAAQ,IAAI,CAAC;QAMvB,YAAO,GAAQ,IAAI,CAAC;QAQlB,cAAM,CAAC,MAAM,IAAI,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAChD,cAAM,CAAC,MAAM,IAAI,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;;AA9CH,0BA+CC;AA7CgB,eAAO,GAAG,CAAC,CAAC;AA+C7B,MAAe,eAAmB,SAAQ,OAAO;IAAjD;;QASU,iBAAY,GAAmB,IAAI,CAAC;IAe9C,CAAC;IAbC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,cAAc,CAAC,GAAmB;QAC1C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,GAAG,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;YACrC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAa,KAAM,SAAQ,eAAsB;IAkB/C,YAAY,UAAgB,EAAE,KAAW;QAEvC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAnBtD,YAAO,GAAG,IAAI,CAAC;QAoBtB,cAAM,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,EAAE,mCAAmC,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QAClC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,UAAgB,EAAE,KAAW;QACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAjCD,sBAiCC;AAED,MAAa,IAAK,SAAQ,eAAqB;IAA/C;;QACW,YAAO,GAAG,KAAK,CAAC;QAQzB,aAAQ,GAAW,EAAE,CAAC;QAKtB,UAAK,GAAoB,IAAI,CAAC;QAK9B,gBAAW,GAAqB,IAAI,CAAC;IAYvC,CAAC;IAVC,KAAK,CAAC,UAAiB;QACrB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3D,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,KAAW;QACpB,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AA/BD,oBA+BC","sourcesContent":["import { Nullable, assert } from \"../types\";\n\n/**\n * Actors are the base classes of any physical entity that can\n * belong in a system.\n */\nexport abstract class Actor {\n processMessage(msg: Message): void {\n assert(msg.target == this, \"Cannot handle messages whose target is not this.\");\n if (msg.isReply) {\n const reply = msg as Reply;\n assert(\n reply.responseTo.spawnedFrom != null,\n \"Cannot spawn a reply for a send that itself was not spawned from another send\",\n );\n this.processReply(reply);\n } else {\n this.processSend(msg as Send);\n }\n }\n\n /**\n * Called to handle a Send message to this actor.\n */\n processSend(send: Send): void {\n // Drop it\n }\n\n /**\n * Called to handle a Reply message to this actor.\n */\n processReply(_reply: Reply): void {\n // Drop it\n }\n\n /*\n replyToSend(send: Send, error?: any): Reply {\n const out = send.spawnReply(error);\n out.target.processReply(out);\n return out;\n }\n\n forwardReply(inboundReply: Reply): Nullable<Reply> {\n const spawnedFromSend = inboundReply.responseTo.spawnedFrom;\n if (spawnedFromSend.reply == null) {\n // we are receiving a reply from the downstream so forward it back\n const outboundReply = inboundReply.spawn(spawnedFromSend);\n world.inject(outboundReply);\n return outboundReply;\n } else {\n // This send had already been replied (ie with an error -\n // say due to timeout, act of god etc)\n // So we can ignore sending this reply\n return null;\n }\n }\n */\n}\n\nexport abstract class Message {\n // Globally unique ID for all elements.\n private static counter = 0;\n\n readonly uuid = Message.counter++;\n\n /**\n * Name of the message.\n */\n readonly name: string;\n\n readonly isReply: boolean;\n\n /**\n * The actor this message originated from.\n */\n readonly source: Actor;\n\n /**\n * Target actor for this message.\n */\n readonly target: Actor;\n\n /**\n * Data that can be set by the source actor that only *it* can\n * use.\n */\n sourceData: any = null;\n\n /**\n * Message payload.\n * Specific to the message.\n */\n payload: any = null;\n\n /**\n * Descriptive label for the Message.\n */\n label: string;\n\n constructor(name: string, source: Actor, target: Actor) {\n assert(source != null, \"Source cannot be null\");\n assert(target != null, \"Target cannot be null\");\n this.name = name;\n this.source = source;\n this.target = target;\n }\n}\n\nabstract class ForwardableBase<T> extends Message {\n /**\n * The first/root message in the forward chain.\n */\n private _rootMessage: ForwardableBase<T>;\n\n /**\n * The message that is being forwarded.\n */\n private _spawnedFrom: Nullable<this> = null;\n\n get spawnedFrom(): Nullable<this> {\n return this._spawnedFrom;\n }\n\n protected setSpawnedFrom(msg: Nullable<this>): void {\n this._spawnedFrom = msg;\n if (msg == null) this._rootMessage = this;\n else this._rootMessage = msg.rootMessage;\n }\n\n get rootMessage(): this {\n return this._rootMessage as this;\n }\n}\n\nexport class Reply extends ForwardableBase<Reply> {\n readonly isReply = true;\n\n /**\n * The message this is in response to\n */\n responseTo: Send;\n\n /**\n * Whether this reply is an error or not.\n */\n isError: boolean;\n\n /**\n * If Reply is an error then a few summary fields about the error.\n */\n error?: any;\n\n constructor(responseTo: Send, error?: any) {\n // Reverse target and source\n super(responseTo.name, responseTo.target, responseTo.source);\n assert(responseTo.reply == null, \"Send's reply has already been set\");\n this.responseTo = responseTo;\n this.error = error || null;\n this.isError = this.error != null;\n responseTo.reply = this;\n }\n\n spawn(responseTo: Send, error?: any): Reply {\n const child = new Reply(responseTo, error);\n child.setSpawnedFrom(this);\n return child;\n }\n}\n\nexport class Send extends ForwardableBase<Send> {\n readonly isReply = false;\n\n /**\n * All child sends that were spawned from this Send.\n * The parent/spawnedFrom and child message references help us\n * form a call tree/trace of a message as it traverses\n * the system.\n */\n children: Send[] = [];\n\n /**\n * Tells which message is a reply to this message.\n */\n reply: Nullable<Reply> = null;\n\n /**\n * When the Send was cancelled (if it was).\n */\n cancelledAt: Nullable<number> = null;\n\n spawn(nextTarget: Actor): Send {\n const child = new Send(this.name, this.target, nextTarget);\n child.setSpawnedFrom(this);\n this.children.push(child);\n return child;\n }\n\n spawnReply(error?: any): Reply {\n return new Reply(this, error);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/comms/bus.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAGtC,MAAa,QAAS,SAAQ,qBAAY;IAGxC;QACE,KAAK,EAAE,CAAC;IAEV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;SACpC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAOM,SAAS,CAAC,SAAiB,EAAE,QAAkB;QACpD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAOM,WAAW,CAAC,SAAiB,EAAE,QAAkB;QACtD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAOM,OAAO,CAAC,SAAiB,EAAE,IAAS;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AA1CD,4BA0CC"}
1
+ {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/comms/bus.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAGtC,MAAa,QAAS,SAAQ,qBAAY;IAGxC;QACE,KAAK,EAAE,CAAC;IAEV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;SACpC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAOM,SAAS,CAAC,SAAiB,EAAE,QAAkB;QACpD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAOM,WAAW,CAAC,SAAiB,EAAE,QAAkB;QACtD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAOM,OAAO,CAAC,SAAiB,EAAE,IAAS;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AA1CD,4BA0CC","sourcesContent":["import { EventEmitter } from \"events\";\nexport type Callback = (eventName: string, data: any) => void;\n\nexport class EventBus extends EventEmitter {\n private static instance: EventBus;\n\n private constructor() {\n super();\n // do nothing.\n }\n\n static getInstance(): EventBus {\n if (!EventBus.instance) {\n EventBus.instance = new EventBus();\n }\n\n return EventBus.instance;\n }\n\n /**\n * Subscribe to an event\n * @param eventName\n * @param callback\n */\n public subscribe(eventName: string, callback: Callback): void {\n this.on(eventName, callback);\n }\n\n /**\n * Unsubscribe from an event\n * @param eventName\n * @param callback\n */\n public unsubscribe(eventName: string, callback: Callback): void {\n this.removeListener(eventName, callback);\n }\n\n /**\n *\n * @param eventName Publish an event\n * @param data\n */\n public publish(eventName: string, data: any): void {\n this.emit(eventName, data);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/comms/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/comms/events.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable, Timestamp } from \"../types\";\n\n/**\n * Super class of all Events.\n */\nexport class TEvent {\n // Globally unique ID for all events.\n private static counter = 0;\n readonly uuid = TEvent.counter++;\n\n /**\n * The event this event was spawned from (if any).\n */\n protected _spawnedFrom: Nullable<this> = null;\n\n /**\n * Name of the event.\n */\n readonly name: string;\n\n /**\n * Source from which this event is originating.\n */\n readonly source: any;\n\n /**\n * Source state that is set by the source of the event only\n * *it* can use.\n */\n sourceState: any = null;\n\n /**\n * Event specific payload.\n */\n payload: any;\n\n /**\n * Whether the event was cancelled.\n */\n cancelled = false;\n\n /**\n * Timestamp of the event - optional.\n */\n timeStamp: Timestamp = -1;\n\n /**\n * All child events that were spawned from this Event.\n * The parent/spawnedFrom and child event references help us\n * form a call tree/trace of a events as it traverses\n * the system.\n */\n children: TEvent[] = [];\n\n constructor(name: string, source: any, payload?: any) {\n this.name = name;\n this.source = source;\n this.payload = payload;\n }\n\n get spawnedFrom(): Nullable<this> {\n return this._spawnedFrom;\n }\n\n protected setSpawnedFrom(msg: Nullable<this>): void {\n this._spawnedFrom = msg;\n if (msg == null) this._rootEvent = this;\n else this._rootEvent = msg.rootEvent;\n }\n\n spawn(name: string, source: any, payload?: any): TEvent {\n const child = new TEvent(name, source, payload);\n child.setSpawnedFrom(this);\n this.children.push(child);\n return child;\n }\n\n /**\n * The first/root message in the forward chain.\n */\n private _rootEvent: this;\n\n get rootEvent(): this {\n return this._rootEvent as this;\n }\n}\n\nexport class State {\n private static counter = 0;\n stateData: any = null;\n readonly id = State.counter++;\n\n get name(): string {\n return this.constructor.name;\n }\n\n enter(data: any): void {\n this.stateData = data;\n }\n\n handle(event: TEvent): void {\n // todo\n }\n}\n\nexport type EventCallback = ((event: TEvent) => void) | ((event: TEvent) => Promise<void>);\n\nexport class EventEmitter {\n protected _eventHub: EventHub | null;\n constructor() {\n this._eventHub = new EventHub();\n }\n get eventHub(): EventHub | null {\n return this._eventHub;\n }\n set eventHub(hub: EventHub | null) {\n const oldHub = this._eventHub;\n this._eventHub = hub;\n this.eventHubChanged(oldHub);\n }\n protected eventHubChanged(oldHub: EventHub | null): void {\n // Do nothing\n console.log(\"WARNING - EventHub Change Listener not implemented: \", this.constructor.name);\n }\n}\n\nexport class EventHub {\n private _handlers: { [key: string]: Array<EventCallback> } = {};\n private _muted = false;\n\n get isMuted(): boolean {\n return this._muted;\n }\n\n mute(): void {\n this._muted = true;\n }\n\n unmute(): void {\n this._muted = false;\n }\n\n on(names: Array<string> | string, callback: EventCallback): this {\n return this._addHandler(names, this._handlers, callback);\n }\n\n removeOn(names: Array<string> | string, callback: EventCallback): this {\n return this._removeHandler(names, this._handlers, callback);\n }\n\n _ensurestrings(names: Array<string> | string): string[] {\n if (typeof names === \"string\") {\n names = (names as string).split(\",\");\n }\n return names.map(function (v) {\n return v.trim();\n });\n }\n\n _addHandler<T>(names: Array<string> | string, handlerlist: { [key: string]: Array<T> }, handler: T): this {\n this._ensurestrings(names).forEach(function (name) {\n handlerlist[name] = handlerlist[name] || [];\n handlerlist[name].push(handler);\n });\n return this;\n }\n\n _removeHandler<T>(names: Array<string> | string, handlerlist: { [key: string]: Array<T> }, handler: T): this {\n this._ensurestrings(names).forEach(function (name) {\n const evHandlers = handlerlist[name] || [];\n for (let i = 0; i < evHandlers.length; i++) {\n if (evHandlers[i] == handler) {\n evHandlers.splice(i, 1);\n break;\n }\n }\n });\n return this;\n }\n\n emit(name: string, source: any, payload?: any): boolean {\n return this.dispatchEvent(new TEvent(name, source, payload));\n }\n\n dispatchEvent(event: TEvent): boolean {\n const evtCallbacks = this._handlers[event.name] || [];\n for (const callback of evtCallbacks) {\n callback(event);\n if (event.cancelled) return false;\n }\n return true;\n }\n}\n\n/**\n * StateMachines allow declarative and stateful chaining of events.\n */\nexport class StateMachine {\n private _states: { [key: string]: State } = {};\n private _rootState: Nullable<State> = null;\n private _currentState: Nullable<State> = null;\n constructor() {\n this._states = {};\n this._rootState = null;\n this._currentState = null;\n }\n\n /**\n * The starting/root state of the machine.\n *\n * @param {String} name Name of the default/root state.\n */\n set rootState(name: string) {\n this._rootState = this.getState(name);\n if (this._currentState == null) {\n this._currentState = this._rootState;\n }\n }\n\n /**\n * Exits the current state (if any) and enters a new state.\n *\n * @param {String} state Name of the new state to enter.\n * @param {Object} data State specific data for the state handler to use for the new state.\n */\n enter(state: string, data: any = null): void {\n if (state == \"\") {\n this._currentState = this._rootState;\n } else {\n this._currentState = this.getState(state);\n }\n if (this._currentState != null) {\n this._currentState.enter(data);\n }\n }\n\n /**\n * Get the state by name.\n *\n * @param {String} name Name of the state being queried.\n * @returns {State} State object associated with the name.\n */\n getState(name: string): State {\n if (!(name in this._states)) {\n throw Error(\"State '\" + name + \"' not yet registered.\");\n }\n return this._states[name];\n }\n\n /**\n * Register a new state in the state machine.\n *\n * @param {State} state State being registered. If another State with\n * the same name exists, then a {DuplicateError} is thrown.\n * @param {Bool} isRoot Whether the new state is a root state.\n */\n registerState(state: State, isRoot = false): void {\n const name = state.name;\n if (name in this._states) {\n throw Error(\"State '\" + name + \"' already registered.\");\n }\n this._states[name] = state;\n if (isRoot || false) {\n this.rootState = state.name;\n }\n }\n\n /**\n * Handles an event from the current state in the state machine possibly resulting in a state transition.\n *\n * @param {Object} name Type of event being sent.\n * @param {EventSource} source The source generating the event.\n * @param {Object} data The event specific data.\n */\n handle(event: TEvent): void {\n if (this._currentState == null) return;\n\n const nextState: any = this._currentState.handle(event);\n if (nextState != null) {\n if (nextState == \"\") {\n if (this._rootState != null) {\n this.enter(this._rootState.name);\n } else {\n throw new Error(\"Root state has not been set\");\n }\n } else {\n this.enter(nextState);\n }\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,OAAO,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC;AAClB,QAAA,QAAQ,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,OAAO,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC;AAClB,QAAA,QAAQ,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC","sourcesContent":["export const INFINITY = 1e48;\nexport const MAX_INT = 2 ** 32;\nexport const MAX_LONG = 2 ** 64;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dal.js","sourceRoot":"","sources":["../../src/dal.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKrB,YAAY,MAAY;QACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;CACF;AAXD,gCAWC;AAED,MAAa,QAAS,SAAQ,UAAU;IAatC,YAAY,MAAY;QACtB,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;IAC9D,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACF;AAlCD,4BAkCC"}
1
+ {"version":3,"file":"dal.js","sourceRoot":"","sources":["../../src/dal.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKrB,YAAY,MAAY;QACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;CACF;AAXD,gCAWC;AAED,MAAa,QAAS,SAAQ,UAAU;IAatC,YAAY,MAAY;QACtB,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;IAC9D,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACF;AAlCD,4BAkCC","sourcesContent":["import { Timestamp } from \"./types\";\n\nexport class BaseEntity {\n isActive: boolean;\n createdAt: Timestamp;\n updatedAt: Timestamp;\n\n constructor(config?: any) {\n config = config || {};\n this.isActive = config.isActive == false ? false : true;\n this.createdAt = config.createdAt || Date.now();\n this.updatedAt = config.updatedAt || Date.now();\n }\n}\n\nexport class Resource extends BaseEntity {\n // Collection ID\n id: string;\n\n // Owner/Creator of this collection\n userId: string;\n\n // Visibility status\n visibility: \"public\" | \"private\" | \"limited\";\n\n // Who can see this score\n visibleTo: string[];\n\n constructor(config?: any) {\n super((config = config || {}));\n this.id = \"\" + (config.id || \"\");\n this.userId = \"\" + (config.userId || \"\");\n this.visibleTo = config.visibleTo || [];\n this.visibility = (config.visibility || \"private\").toLowerCase();\n }\n\n isVisibleTo(userId: string): boolean {\n return this.userId == userId || this.visibility == \"public\";\n }\n\n // TODO - move this to schema and/or decorators\n get version(): number {\n return 0;\n }\n\n // And others things here\n get hasKey(): boolean {\n return this.id.trim().length > 0;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS;IACvB,OAAO,UAAmE,WAAc;QAEtF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,KAAM,SAAQ,WAAW;YAAzB;;gBAEI,SAAI,GAAW,OAAO,EAAE,CAAC;YACpC,CAAC;SAAA,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AATD,8BASC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS;IACvB,OAAO,UAAmE,WAAc;QAEtF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,KAAM,SAAQ,WAAW;YAAzB;;gBAEI,SAAI,GAAW,OAAO,EAAE,CAAC;YACpC,CAAC;SAAA,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AATD,8BASC","sourcesContent":["export function mixinUuid(): any {\n return function <T extends { new (...args: any[]): Record<string, any> }>(constructor: T): any {\n // return function (constructor: Function) {\n let counter = 0;\n return class extends constructor {\n // Globally unique ID for all elements.\n readonly uuid: number = counter++;\n };\n };\n}\n"]}
package/lib/cjs/dom.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { Undefined } from "./types";
2
+ import * as Geom from "./geom";
3
+ export declare function svgBBox(element: SVGGraphicsElement): Geom.Rect;
2
4
  export declare function getFontMetrics(fontFamily: string, fontSize: number): any;
3
5
  export declare function forEachChild(elem: Element, visitor: (child: Element, index: number) => Undefined<boolean>): false | undefined;
4
6
  export declare function forEachNode(elem: Element, visitor: (child: ChildNode, index: number) => Undefined<boolean>): void;
package/lib/cjs/dom.js CHANGED
@@ -1,7 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureElement = exports.setCSS = exports.getCSS = exports.insertAfter = exports.removeNode = exports.createNode = exports.createSVGNode = exports.getAttrOrStyle = exports.setAttr = exports.ensureAttr = exports.getAttr = exports.parseCSSStyles = exports.forEachAttribute = exports.forEachNode = exports.forEachChild = exports.getFontMetrics = void 0;
22
+ exports.ensureElement = exports.setCSS = exports.getCSS = exports.insertAfter = exports.removeNode = exports.createNode = exports.createSVGNode = exports.getAttrOrStyle = exports.setAttr = exports.ensureAttr = exports.getAttr = exports.parseCSSStyles = exports.forEachAttribute = exports.forEachNode = exports.forEachChild = exports.getFontMetrics = exports.svgBBox = void 0;
23
+ const Geom = __importStar(require("./geom"));
24
+ const browser_1 = require("./browser");
4
25
  const fontMetrics = {};
26
+ function svgBBox(element) {
27
+ var _a;
28
+ const bbox = Geom.Rect.from(element.getBBox());
29
+ if (browser_1.Browser.IS_SAFARI()) {
30
+ const clientRect = element.getClientRects()[0];
31
+ if (clientRect) {
32
+ const parentClientRect = (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
33
+ bbox.x = bbox.x + clientRect.x - ((parentClientRect === null || parentClientRect === void 0 ? void 0 : parentClientRect.x) || 0);
34
+ bbox.width = clientRect.width;
35
+ bbox.height = clientRect.height;
36
+ }
37
+ }
38
+ return bbox;
39
+ }
40
+ exports.svgBBox = svgBBox;
5
41
  function getFontMetrics(fontFamily, fontSize) {
6
42
  if (!(fontFamily in fontMetrics)) {
7
43
  fontMetrics[fontFamily] = {};
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/dom.ts"],"names":[],"mappings":"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","sourcesContent":["import { Undefined } from \"./types\";\nimport * as Geom from \"./geom\";\nimport { Browser } from \"./browser\";\n\ndeclare const $: any;\nconst fontMetrics: { [key: string]: any } = {};\n\n/**\n * Calculates the bounding box for an svg element in a consistent way across\n * browsers.\n */\nexport function svgBBox(element: SVGGraphicsElement): Geom.Rect {\n const bbox = Geom.Rect.from(element.getBBox());\n // Due to safari bug which returns really crazy span widths!\n if (Browser.IS_SAFARI()) {\n const clientRect = element.getClientRects()[0];\n if (clientRect) {\n const parentClientRect = element.parentElement?.getBoundingClientRect();\n bbox.x = bbox.x + clientRect.x - (parentClientRect?.x || 0);\n // bbox.y = clientRect.y; // - (parentClientRect?.y || 0);\n bbox.width = clientRect.width;\n bbox.height = clientRect.height;\n }\n }\n return bbox;\n}\n\nexport function getFontMetrics(fontFamily: string, fontSize: number): any {\n if (!(fontFamily in fontMetrics)) {\n fontMetrics[fontFamily] = {};\n }\n const familyMetrics = fontMetrics[fontFamily];\n if (!(fontSize in familyMetrics)) {\n const a = $(\"<div style='position:absolute;top:0;left:0'>M</div>\");\n a.css(\"font-family\", fontFamily);\n a.css(\"font-size\", fontSize);\n $($(document)[0].body).append(a);\n familyMetrics[fontSize] = {\n height: a[0].offsetHeight,\n size: fontSize,\n };\n a.remove();\n }\n return familyMetrics[fontSize];\n}\n\nexport function forEachChild(elem: Element, visitor: (child: Element, index: number) => Undefined<boolean>) {\n const children = elem.children;\n const L = children.length;\n for (let i = 0; i < L; i++) {\n const child = children[i];\n if (visitor(child, i) == false) return false;\n }\n}\n\nexport function forEachNode(elem: Element, visitor: (child: ChildNode, index: number) => Undefined<boolean>) {\n const children = elem.childNodes;\n const L = children.length;\n for (let i = 0; i < L; i++) {\n const child = children[i];\n if (visitor(child, i) == false) return;\n }\n}\n\nexport function forEachAttribute(elem: Element, visitor: (name: string, value: any) => Undefined<boolean>) {\n const nodeNameMap = elem.attributes;\n for (let i = 0; i < nodeNameMap.length; i++) {\n const attrib = nodeNameMap[i];\n if (visitor(attrib.name, attrib.value) == false) return;\n }\n}\n\n/**\n * Processing of different kinds of attributes.\n */\nexport function parseCSSStyles(value: string) {\n const out: any = {};\n if (value && value != null) {\n const values = value.split(\";\");\n values.forEach(function (elem) {\n if (elem.trim().length > 0) {\n const kvpair = elem.split(\":\");\n if (kvpair.length >= 2) {\n const key = kvpair[0].trim();\n const value = kvpair[1].trim();\n if (key.length > 0) {\n out[key] = value;\n }\n }\n }\n });\n }\n return out;\n}\n\nexport function getAttr(elem: Element, attrib: string, ...validators: any) {\n let value = elem.getAttribute(attrib);\n for (let i = 0; i < validators.length; i++) {\n value = validators[i](value);\n }\n return value;\n}\n\nexport function ensureAttr(elem: Element, attrib: string) {\n const value = elem.getAttribute(attrib) || null;\n if (value == null) {\n throw new Error(`Element MUST have Attribute: ${attrib}`);\n }\n return value;\n}\n\nexport function setAttr(elem: Element, name: string, value: any) {\n return elem.setAttribute(name, value);\n}\n\nexport function getAttrOrStyle(elem: Element, attribName: string, cssStyles: any, styleName: string) {\n return elem.getAttribute(attribName) || cssStyles[styleName];\n}\n\nexport function createSVGNode<T extends SVGGraphicsElement>(nodename: string, config?: any): any {\n config = config || {};\n config.ns = \"http://www.w3.org/2000/svg\";\n return createNode(nodename, config) as T;\n}\n\nexport function createNode(nodename: string, config?: any): Element {\n let out;\n config = config || {};\n const ns = config.ns;\n const doc = config.doc || document;\n const attrs = config.attrs || {};\n const text = config.text || \"\";\n const parent = config.parent || null;\n if (ns) out = doc.createElementNS(ns, nodename);\n else out = doc.createElement(nodename);\n if (parent != null) {\n parent.appendChild(out);\n }\n for (const attr in attrs || {}) {\n const value = attrs[attr];\n out.setAttribute(attr, value);\n }\n if (text) {\n out.textContent = text;\n }\n return out;\n}\n\n/**\n * Remove a node from its parent.\n */\nexport function removeNode(node: Node): void {\n node.parentNode?.removeChild(node);\n}\n\nexport function insertAfter(node: Node, ...newNodes: Node[]): boolean {\n const parentNode = node.parentNode;\n if (parentNode == null) return false;\n const nextNode = node.nextSibling;\n if (nextNode == null) {\n for (let i = 0; i < newNodes.length; i++) {\n parentNode.appendChild(newNodes[i]);\n }\n } else {\n for (let i = 0; i < newNodes.length; i++) {\n parentNode.insertBefore(newNodes[i], nextNode);\n }\n }\n return true;\n}\n\nexport function getCSS(elem: Element, attr: string): any {\n return (elem as any).style[attr];\n}\n\nexport function setCSS(elem: Element, attr: string, value: any): void {\n (elem as any).style[attr] = value;\n}\n\nexport function ensureElement(elemOrId: Element | string, root: any = null): Element {\n if (typeof elemOrId === \"string\") {\n if (root == null) root = document;\n return root.querySelector(elemOrId);\n } else {\n return elemOrId;\n }\n}\n\n/*\nexport function setEnabled(elem: Element, enable = true): Element {\n elem.prop(\"disabled\", !enable);\n return elem;\n}\n\nexport function setVisible(elem: Element, show = true): Element {\n if (show) {\n elem.show();\n } else {\n elem.hide();\n }\n return elem;\n}\n\nexport function getcssint(elem: JQuery<HTMLElement>, attrib: string): number{\n return parseInt(elem.css(attrib).replace(/px/, \"\"));\n}\n\nexport function centerElem(elem: JQuery<HTMLElement>, axis: string) {\n const parent = elem.parent();\n const horizPadding =\n getcssint(elem, \"padding-left\") +\n getcssint(elem, \"padding-right\") +\n getcssint(elem, \"margin-left\") +\n getcssint(elem, \"margin-right\") +\n getcssint(parent, \"border-left\") +\n getcssint(parent, \"border-right\");\n const vertPadding =\n getcssint(elem, \"padding-top\") +\n getcssint(elem, \"padding-bottom\") +\n getcssint(elem, \"margin-top\") +\n getcssint(elem, \"margin-bottom\") +\n getcssint(parent, \"border-top\") +\n getcssint(parent, \"border-bottom\");\n const finalHeight: number = (parent.height() as number) - vertPadding;\n const finalWidth: number = (parent.width() as number) - horizPadding;\n if (axis == \"x\") {\n elem.css(\"left\", (finalWidth - (elem.width() as number)) / 2);\n } else if (axis == \"y\") {\n elem.css(\"top\", (finalHeight - (elem.height() as number)) / 2);\n } else {\n elem.css(\"left\", (finalWidth - (elem.width() as number)) / 2);\n elem.css(\"top\", (finalHeight - (elem.height() as number)) / 2);\n }\n}\n\nexport function fillChildComponent(elem: JQuery<HTMLElement>) {\n const parent = elem.parent();\n const horizPadding =\n getcssint(elem, \"padding-left\") +\n getcssint(elem, \"padding-right\") +\n getcssint(elem, \"margin-left\") +\n getcssint(elem, \"margin-right\") +\n getcssint(parent, \"border-left\") +\n getcssint(parent, \"border-right\");\n const vertPadding =\n getcssint(elem, \"padding-top\") +\n getcssint(elem, \"padding-bottom\") +\n getcssint(elem, \"margin-top\") +\n getcssint(elem, \"margin-bottom\") +\n getcssint(parent, \"border-top\") +\n getcssint(parent, \"border-bottom\");\n const finalHeight = (parent.height() as number) - vertPadding;\n const finalWidth = (parent.width() as number) - horizPadding;\n elem.height(finalHeight);\n elem.width(finalWidth);\n}\n*/\n"]}
package/lib/cjs/geom.d.ts CHANGED
@@ -33,5 +33,6 @@ export declare class Rect implements BBox {
33
33
  constructor(x?: number, y?: number, width?: number, height?: number);
34
34
  static from(box: BBox): Rect;
35
35
  copy(): Rect;
36
- union(another: BBox): this;
36
+ union(another: BBox | null): this;
37
+ unionAll(...boxes: (BBox | null)[]): this;
37
38
  }
package/lib/cjs/geom.js CHANGED
@@ -40,14 +40,21 @@ class Rect {
40
40
  return Rect.from(this);
41
41
  }
42
42
  union(another) {
43
- const minX = Math.min(this.x, another.x);
44
- const minY = Math.min(this.y, another.y);
45
- const maxX = Math.max(this.x + this.width, another.x + another.width);
46
- const maxY = Math.max(this.y + this.height, another.y + another.height);
47
- this.x = minX;
48
- this.y = minY;
49
- this.width = maxX - minX;
50
- this.height = maxY - minY;
43
+ if (another) {
44
+ const minX = Math.min(this.x, another.x);
45
+ const minY = Math.min(this.y, another.y);
46
+ const maxX = Math.max(this.x + this.width, another.x + another.width);
47
+ const maxY = Math.max(this.y + this.height, another.y + another.height);
48
+ this.x = minX;
49
+ this.y = minY;
50
+ this.width = maxX - minX;
51
+ this.height = maxY - minY;
52
+ }
53
+ return this;
54
+ }
55
+ unionAll(...boxes) {
56
+ for (const b of boxes)
57
+ this.union(b);
51
58
  return this;
52
59
  }
53
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"geom.js","sourceRoot":"","sources":["../../src/geom.ts"],"names":[],"mappings":";;;AAKA,MAAa,KAAK;IAChB,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC;QAAnB,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;CAC3C;AAFD,sBAEC;AAED,MAAa,IAAI;IAGf,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAFxB,UAAK,GAAG,CAAC,CAAC;QACV,WAAM,GAAG,CAAC,CAAC;QAET,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAPD,oBAOC;AAED,MAAa,MAAM;IACjB,YAAmB,OAAO,CAAC,EAAS,MAAM,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAA7D,SAAI,GAAJ,IAAI,CAAI;QAAS,QAAG,GAAH,GAAG,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;CACrF;AAFD,wBAEC;AASD,MAAa,IAAI;IACf,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAAxD,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;IAE/E,MAAM,CAAC,IAAI,CAAC,GAAS;QACnB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAa;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtBD,oBAsBC"}
1
+ {"version":3,"file":"geom.js","sourceRoot":"","sources":["../../src/geom.ts"],"names":[],"mappings":";;;AAKA,MAAa,KAAK;IAChB,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC;QAAnB,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;CAC3C;AAFD,sBAEC;AAED,MAAa,IAAI;IAGf,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAFxB,UAAK,GAAG,CAAC,CAAC;QACV,WAAM,GAAG,CAAC,CAAC;QAET,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAPD,oBAOC;AAED,MAAa,MAAM;IACjB,YAAmB,OAAO,CAAC,EAAS,MAAM,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAA7D,SAAI,GAAJ,IAAI,CAAI;QAAS,QAAG,GAAH,GAAG,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;CACrF;AAFD,wBAEC;AASD,MAAa,IAAI;IACf,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAAxD,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;IAE/E,MAAM,CAAC,IAAI,CAAC,GAAS;QACnB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKD,KAAK,CAAC,OAAoB;QACxB,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,QAAQ,CAAC,GAAG,KAAsB;QAChC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnCD,oBAmCC","sourcesContent":["export interface Coords {\n x: number;\n y: number;\n}\n\nexport class Point implements Coords {\n constructor(public x = 0, public y = 0) {}\n}\n\nexport class Size {\n width = 0;\n height = 0;\n constructor(w = 0, h = 0) {\n this.width = w;\n this.height = h;\n }\n}\n\nexport class Insets {\n constructor(public left = 0, public top = 0, public right = 0, public bottom = 0) {}\n}\n\nexport interface BBox {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport class Rect implements BBox {\n constructor(public x = 0, public y = 0, public width = 0, public height = 0) {}\n\n static from(box: BBox): Rect {\n return new Rect(box.x, box.y, box.width, box.height);\n }\n\n copy(): Rect {\n return Rect.from(this);\n }\n\n /**\n * Returns union with another box.\n */\n union(another: BBox | null): this {\n if (another) {\n const minX = Math.min(this.x, another.x);\n const minY = Math.min(this.y, another.y);\n const maxX = Math.max(this.x + this.width, another.x + another.width);\n const maxY = Math.max(this.y + this.height, another.y + another.height);\n this.x = minX;\n this.y = minY;\n this.width = maxX - minX;\n this.height = maxY - minY;\n }\n return this;\n }\n\n /**\n * Returns union of multiple boxes.\n */\n unionAll(...boxes: (BBox | null)[]): this {\n for (const b of boxes) this.union(b);\n return this;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,oDAAoC;AACpC,yDAAyC;AACzC,yDAAyC;AACzC,gDAAgC;AAChC,+CAA+B;AAC/B,qDAAqC;AACrC,6CAA6B;AAC7B,+CAA+B;AAC/B,qDAAqC;AACrC,oDAAoC;AAEpC,6CAA6B;AAC7B,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,oDAAoC;AACpC,yDAAyC;AACzC,yDAAyC;AACzC,gDAAgC;AAChC,+CAA+B;AAC/B,qDAAqC;AACrC,6CAA6B;AAC7B,+CAA+B;AAC/B,qDAAqC;AACrC,oDAAoC;AAEpC,6CAA6B;AAC7B,qCAAoC;AAA3B,kGAAA,OAAO,OAAA","sourcesContent":["export * from \"./types\";\nexport * as Api from \"./apis/index\";\nexport * as Constants from \"./constants\";\nexport * as Events from \"./comms/events\";\nexport * as Lists from \"./list\";\nexport * as Misc from \"./misc\";\nexport * as Streams from \"./streams\";\nexport * as DOM from \"./dom\";\nexport * as Geom from \"./geom\";\nexport * as Num from \"./numberutils\";\nexport * as Time from \"./timeutils\";\n// export * as Properties from \"./properties\";\nexport * as DAL from \"./dal\";\nexport { Browser } from \"./browser\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\n\nexport interface ListNode<V> {\n nextSibling: Nullable<V>;\n prevSibling: Nullable<V>;\n}\n\nclass MutableListNode<V> implements ListNode<MutableListNode<V>> {\n nextSibling: Nullable<MutableListNode<V>> = null;\n prevSibling: Nullable<MutableListNode<V>> = null;\n constructor(public value: V) {}\n}\n\n/**\n * A list implementation where the value itself contains next and prev pointers\n * so we do not need to create wrapper classes.\n */\nexport class ValueList<V extends ListNode<V>> {\n protected _firstChild: Nullable<V> = null;\n protected _lastChild: Nullable<V> = null;\n protected _size = 0;\n\n constructor(...values: V[]) {\n for (const v of values) this.push(v);\n }\n\n toJSON(): V[] {\n return Array.from(this.values());\n }\n\n forEach(method: (val: V) => boolean | any): number {\n let tmp: V | null = this._firstChild;\n let count = 0;\n while (tmp != null) {\n if (method(tmp) == false) {\n break;\n }\n count++;\n tmp = tmp.nextSibling;\n }\n return count;\n }\n\n equals(another: ValueList<V>, eqlFunc: (val1: V, val2: V) => boolean): boolean {\n if (this.size != another.size) return false;\n let tmp = this.first;\n let tmp2 = another.first;\n for (; tmp != null && tmp2 != null; tmp = tmp.nextSibling, tmp2 = tmp2.nextSibling) {\n if (!eqlFunc(tmp, tmp2)) {\n return false;\n }\n }\n return tmp == null && tmp2 == null;\n }\n\n get isEmpty(): boolean {\n return this._size == 0;\n }\n\n get size(): number {\n return this._size;\n }\n\n get first(): Nullable<V> {\n return this._firstChild;\n }\n\n get last(): Nullable<V> {\n return this._lastChild;\n }\n\n /**\n * Generator of values in reverse order.\n */\n *reversedValues(): Generator<V> {\n let tmp = this._lastChild;\n while (tmp != null) {\n yield tmp;\n tmp = tmp.prevSibling;\n }\n }\n\n /**\n * Generator of values in forward order.\n */\n *values(): Generator<V> {\n let tmp = this._firstChild;\n while (tmp != null) {\n yield tmp;\n tmp = tmp.nextSibling;\n }\n }\n\n popBack(): V {\n if (this._lastChild == null) {\n throw new Error(\"No children\");\n }\n const out = this._lastChild;\n const prev = this._lastChild.prevSibling;\n this._size--;\n if (prev == null) {\n this._firstChild = this._lastChild = null;\n } else {\n prev.nextSibling = null;\n this._lastChild = prev;\n }\n return out;\n }\n\n popFront(): V {\n if (this._firstChild == null) {\n throw new Error(\"No children\");\n }\n const out = this._firstChild;\n const next = this._firstChild.nextSibling;\n this._size--;\n if (next == null) {\n this._firstChild = this._lastChild = null;\n } else {\n next.prevSibling = null;\n this._firstChild = next;\n }\n return out;\n }\n\n add(child: V, before: Nullable<V> = null): this {\n this._size++;\n if (this._firstChild == null || this._lastChild == null) {\n this._firstChild = this._lastChild = child;\n } else if (before == null) {\n child.prevSibling = this._lastChild;\n child.nextSibling = null;\n this._lastChild.nextSibling = child;\n this._lastChild = child;\n } else if (before == this._firstChild) {\n child.nextSibling = before;\n child.prevSibling = null;\n this._firstChild.prevSibling = child;\n this._firstChild = child;\n } else {\n const next = before.nextSibling;\n const prev = before.prevSibling;\n child.nextSibling = next;\n child.prevSibling = prev;\n if (next != null) {\n next.prevSibling = child;\n }\n if (prev != null) {\n prev.nextSibling = child;\n }\n }\n return this;\n }\n\n pushFront(value: V): this {\n return this.add(value, this._firstChild);\n }\n\n push(value: V): this {\n return this.add(value);\n }\n}\n\n/**\n * A list implementation where the values themselves need to be wrapper in a list node.\n * If values already have sibling node properties they can be direclty used via ValueLists.\n */\nexport class List<V> {\n private container: ValueList<MutableListNode<V>>;\n\n constructor(...values: V[]) {\n this.container = new ValueList<MutableListNode<V>>();\n for (const v of values) this.push(v);\n }\n\n toJSON(): V[] {\n return Array.from(this.values());\n }\n\n forEach(method: (val: V) => boolean | any): number {\n return this.container.forEach((v) => method(v.value));\n }\n\n equals(another: List<V>, eqlFunc: (val1: V, val2: V) => boolean): boolean {\n return this.container.equals(another.container, (a, b) => eqlFunc(a.value, b.value));\n }\n\n get isEmpty(): boolean {\n return this.container.isEmpty;\n }\n\n get size(): number {\n return this.container.size;\n }\n\n get first(): Nullable<MutableListNode<V>> {\n return this.container.first;\n }\n\n get last(): Nullable<MutableListNode<V>> {\n return this.container.last;\n }\n\n /**\n * Generator of values in reverse order.\n */\n *reversedValues(): Generator<V> {\n for (const v of this.container.reversedValues()) yield v.value;\n }\n\n /**\n * Generator of values in forward order.\n */\n *values(): Generator<V> {\n for (const v of this.container.values()) yield v.value;\n }\n\n popBack(): V {\n return this.container.popBack().value;\n }\n\n popFront(): V {\n return this.container.popFront().value;\n }\n\n pushFront(value: V): this {\n return this.add(value, this.container.first);\n }\n\n push(value: V): this {\n return this.add(value);\n }\n\n add(child: V, before: Nullable<MutableListNode<V>> = null): this {\n this.container.add(new MutableListNode(child), before);\n return this;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/misc.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,KAAa,EAAE,QAAgB;IACtD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7B,OAAO,KAAK,GAAG,CAAC,EAAE;QAChB,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC3B,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;KAClC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AATD,4BASC;AAED,SAAgB,OAAO,CAAC,IAAS,EAAE,GAAW,EAAE,SAAuC;IACrF,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;QAClB,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;;YACtD,OAAO,SAAS,CAAC;KACvB;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAND,0BAMC;AAED,SAAgB,SAAS,CAAC,KAAU,EAAE,OAAO,GAAG,IAAI;IAClD,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAFD,8BAEC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC;AALD,kCAKC;AAED,SAAgB,YAAY,CAAC,KAAoB,EAAE,SAAiB;IAClE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAND,oCAMC;AAED,SAAgB,WAAW,CAAa,KAAa,EAAE,KAAQ;IAC7D,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,kCAMC;AAED,SAAgB,YAAY,CAC1B,KAAuB,EACvB,OAA0B,EAC1B,UAAU,GAAG,CAAC,EACd,MAAM,GAAG,KAAK;IAEd,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;KACjC;IACD,IAAI,MAAM,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAbD,oCAaC;AAEM,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,mBAAmB,uBAW9B"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/misc.ts"],"names":[],"mappings":"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","sourcesContent":["export function encodeAs(value: number, alphabet: string): string {\n let out = \"\";\n const nDig = alphabet.length;\n while (value > 0) {\n const digit = value % nDig;\n out = alphabet[digit] + out;\n value = Math.floor(value / nDig);\n }\n return out;\n}\n\nexport function dictGet(dict: any, key: string, onmissing: any | ((key: string) => any)): any {\n if (!(key in dict)) {\n if (typeof onmissing === \"function\") return onmissing(key);\n else return onmissing;\n }\n return dict[key];\n}\n\nexport function ifDefined(value: any, elseVal = null): any {\n return typeof value === \"undefined\" ? elseVal : value;\n}\n\nexport function stripQuotes(str: string): string {\n str = str.trim();\n if (str.startsWith('\"')) str = str.substring(1);\n if (str.endsWith('\"')) str = str.substring(0, str.length - 1);\n return str;\n}\n\nexport function trimmedSplit(value: string | null, delimiter: string): string[] {\n if (value == null) return [];\n return (value || \"\")\n .split(delimiter)\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n}\n\nexport function ArrayTimesN<T = number>(count: number, value: T): T[] {\n const out: T[] = [];\n for (let i = 0; i < count; i++) {\n out.push(value);\n }\n return out;\n}\n\nexport function firstIndexOf<T>(\n items: ReadonlyArray<T>,\n cmpFunc: (t: T) => boolean,\n startIndex = 0,\n ensure = false,\n): number {\n for (let i = startIndex; i < items.length; i++) {\n if (cmpFunc(items[i])) return i;\n }\n if (ensure) {\n throw new Error(\"Matching item not found\");\n }\n return -1;\n}\n\nexport const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key: any, value: any) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n }\n return value;\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"numberutils.js","sourceRoot":"","sources":["../../src/numberutils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numberutils.js","sourceRoot":"","sources":["../../src/numberutils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\n\nexport function range(start: number, end: Nullable<number> = null, incr: Nullable<number> = 1): number[] {\n if (end == null) {\n const absStart = Math.abs(start);\n const arr = Array.from({ length: absStart });\n if (start >= 0) {\n return arr.map((x, i) => i);\n } else {\n return arr.map((x, i) => i - (absStart - 1));\n }\n }\n const out: number[] = [];\n if (incr == null) {\n incr = 1;\n }\n incr = Math.abs(incr);\n if (start !== end) {\n if (start < end) {\n for (let i = start; i <= end; i += incr) {\n out.push(i);\n }\n } else {\n for (let i = start; i >= end; i -= incr) {\n out.push(i);\n }\n }\n }\n return out;\n}\n\n/*\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n*/\n\nexport function gcdof(x: number, y: number): number {\n x = Math.abs(x);\n y = Math.abs(y);\n while (y > 0) {\n const t = y;\n y = x % y;\n x = t;\n }\n return x;\n}\n\nexport class Fraction {\n readonly num: number;\n readonly den: number;\n\n static readonly ZERO = new Fraction();\n static readonly ONE = new Fraction(1, 1);\n static readonly INFINITY = new Fraction(1, 0);\n\n constructor(num = 0, den = 1) {\n if (isNaN(num) || isNaN(den)) {\n throw new Error(\"Invalid numerator or denminator\");\n }\n this.num = num;\n this.den = den;\n }\n\n get isWhole(): boolean {\n return this.num % this.den == 0;\n }\n\n get isZero(): boolean {\n return this.num == 0;\n }\n\n get isInfinity(): boolean {\n return this.den == 0;\n }\n\n get isOne(): boolean {\n return this.num == this.den;\n }\n\n get ceil(): number {\n if (this.num % this.den == 0) {\n return this.num / this.den;\n } else {\n return 1 + Math.floor(this.num / this.den);\n }\n }\n\n get floor(): number {\n if (this.num % this.den == 0) {\n return this.num / this.den;\n } else {\n return Math.floor(this.num / this.den);\n }\n }\n\n plus(another: Fraction): Fraction {\n return new Fraction(this.num * another.den + this.den * another.num, this.den * another.den);\n }\n\n plusNum(another: number): Fraction {\n return new Fraction(this.num + this.den * another, this.den);\n }\n\n minus(another: Fraction): Fraction {\n return new Fraction(this.num * another.den - this.den * another.num, this.den * another.den);\n }\n\n minusNum(another: number): Fraction {\n return new Fraction(this.num - this.den * another, this.den);\n }\n\n times(another: Fraction): Fraction {\n return new Fraction(this.num * another.num, this.den * another.den);\n }\n\n timesNum(another: number): Fraction {\n return new Fraction(this.num * another, this.den);\n }\n\n divby(another: Fraction): Fraction {\n return new Fraction(this.num * another.den, this.den * another.num);\n }\n\n divbyNum(another: number): Fraction {\n return new Fraction(this.num, this.den * another);\n }\n\n /**\n * Returns another / this.\n */\n numDivby(another: number): Fraction {\n return new Fraction(this.den * another, this.num);\n }\n\n /**\n * Returns this % another\n */\n mod(another: Fraction): Fraction {\n // a (mod b) = a − b ⌊a / b⌋\n const d = this.divby(another);\n const floorOfD = Math.floor(d.num / d.den);\n return this.minus(another.timesNum(floorOfD));\n }\n\n /*\n * Returns this % another\n */\n modNum(another: number): Fraction {\n // a (mod b) = a − b ⌊a / b⌋\n const d = this.divbyNum(another);\n const floorOfD = Math.floor(d.num / d.den);\n return this.minusNum(another * floorOfD);\n }\n\n get inverse(): Fraction {\n return new Fraction(this.den, this.num);\n }\n\n get factorized(): Fraction {\n const gcd = gcdof(this.num, this.den);\n return new Fraction(this.num / gcd, this.den / gcd);\n }\n\n equals(another: Fraction): boolean {\n return this.num * another.den == this.den * another.num;\n }\n\n equalsNum(another: number): boolean {\n return this.num == this.den * another;\n }\n\n cmp(another: Fraction): number {\n return this.num * another.den - this.den * another.num;\n }\n\n cmpNum(another: number): number {\n return this.num - this.den * another;\n }\n\n isLT(another: Fraction): boolean {\n return this.cmp(another) < 0;\n }\n\n isLTE(another: Fraction): boolean {\n return this.cmp(another) <= 0;\n }\n\n isLTNum(another: number): boolean {\n return this.cmpNum(another) < 0;\n }\n\n isLTENum(another: number): boolean {\n return this.cmpNum(another) <= 0;\n }\n\n isGT(another: Fraction): boolean {\n return this.cmp(another) > 0;\n }\n\n isGTE(another: Fraction): boolean {\n return this.cmp(another) >= 0;\n }\n\n isGTNum(another: number): boolean {\n return this.cmpNum(another) > 0;\n }\n\n isGTENum(another: number): boolean {\n return this.cmpNum(another) >= 0;\n }\n\n toString(): string {\n return this.num + \"/\" + this.den;\n }\n\n static max(f1: Fraction, f2: Fraction): Fraction {\n return f1.cmp(f2) > 0 ? f1 : f2;\n }\n\n static min(f1: Fraction, f2: Fraction): Fraction {\n return f1.cmp(f2) < 0 ? f1 : f2;\n }\n}\n\n// Shortcut helper\nexport const Frac = (a = 0, b = 1): Fraction => new Fraction(a, b);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/properties.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\nimport { EventBus } from \"./comms/bus\";\nimport { ifDefined } from \"./misc\";\n\nexport class PropertySchema {\n // Name of the property\n public name: string;\n public units = \"\";\n public defaultValue: any = null;\n public minValue: Nullable<number> = null;\n public maxValue: Nullable<number> = null;\n public beforeSetterName: Nullable<string> = null;\n\n constructor(name: string, config: any) {\n this.name = name;\n this.beforeSetterName = ifDefined(config.beforeSetterName);\n this.units = ifDefined(config.units);\n this.defaultValue = ifDefined(config.defaultValue);\n this.minValue = ifDefined(config.minValue);\n this.maxValue = ifDefined(config.maxValue);\n }\n\n validate(newValue: number): boolean {\n if (this.minValue != null && newValue < this.minValue) return false;\n if (this.maxValue != null && newValue > this.maxValue) return false;\n // TODO - other validations\n return true;\n }\n}\n\n/**\n * Proprties are values required to fully resolve a component.\n * Like disk needs seek latency or capacity.\n */\nexport class Property {\n // Value of the property\n readonly schema: PropertySchema;\n public currentValue: any = null;\n public beforeSetterFunc: any = null;\n\n constructor(schema: PropertySchema) {\n this.schema = schema;\n }\n\n clone(): Property {\n const out = new Property(this.schema);\n out.currentValue = this.currentValue;\n return out;\n }\n\n get value() {\n return this.currentValue;\n }\n\n setValue(instance: any, value: any): boolean {\n if (this.schema.beforeSetterName != null) {\n if (this.beforeSetterFunc == null) {\n const beforeSetterFunc = instance[this.schema.beforeSetterName];\n if (beforeSetterFunc == null) {\n throw new Error(\"Cannot find beforeSetter function: \" + this.schema.beforeSetterName);\n }\n this.beforeSetterFunc = beforeSetterFunc.bind(instance);\n }\n if (this.beforeSetterFunc(value) == false) {\n // validation failed\n return false;\n }\n }\n if (!this.schema.validate(value)) {\n return false;\n }\n this.currentValue = value;\n return true;\n }\n}\n\nexport class PropertyStore {\n /**\n * The properties for this Element\n */\n readonly __properties__: { [key: string]: Property } = {};\n\n private eventBus = EventBus.getInstance();\n\n getPropertyNames(): string[] {\n // return Object.keys((this.constructor as any).__properties__);\n return Object.keys(this.__properties__);\n }\n\n getProperty(name: string): Nullable<Property> {\n (this as any)[name];\n return this.__properties__[name] || null;\n }\n\n setProperty(name: string, value: any): void {\n if (this.__properties__[name]) {\n const old = this.__properties__[name].value;\n this.__properties__[name].setValue(this, value);\n // TODO: Maybe need a fully qualified name here.\n this.eventBus.emit(\"PropertyChange\", {\n name: name,\n old: old,\n current: value,\n });\n }\n }\n}\n\nexport const mixinPropertyStore = (target: any) => {\n return class extends target {\n /**\n * The properties for this Element\n */\n readonly __properties__: { [key: string]: Property } = {};\n\n getProperties(): { [key: string]: Property } {\n return this.__properties__;\n }\n\n getProperty(name: string): Property {\n return this.__properties__[name];\n }\n\n setProperty(name: string, value: any): void {\n if (this.__properties__[name]) {\n this.__properties__[name].setValue(this, value);\n }\n }\n };\n};\n\ninterface PropertyParams<T> {\n defaultValue?: Nullable<T>;\n propertiesName?: string;\n beforeSetterName?: Nullable<string>;\n units?: string;\n minValue?: Nullable<number>;\n maxValue?: Nullable<number>;\n}\n\nfunction ensureProperty<T>(\n schema: PropertySchema,\n instance: any,\n propertyKey: string,\n propertiesName = \"__properties__\",\n): Property {\n if (!instance[propertiesName]) {\n throw new Error(`Property store (${propertiesName}) does not exist in target.`);\n }\n const propertiesMap = instance[propertiesName];\n if (propertyKey in propertiesMap) {\n return propertiesMap[propertyKey];\n }\n const property = (propertiesMap[propertyKey] = new Property(schema));\n property.setValue(instance, schema.defaultValue);\n return property;\n}\n\n/**\n * property is a decorator factory. It returns a decorator that can be applied to a property.\n * This decorator allows us to have some properties of an Element be treated specially (so it\n * can be reflected, configured/enumerated via UI). This decorator in a way makes our Element\n * attributes metadata-able so we dont have to duplicate a property object and an attribute\n * manually.\n */\nexport function property<T>({\n propertiesName = \"__properties__\",\n defaultValue = null,\n beforeSetterName = null,\n units = \"\",\n minValue = null,\n maxValue = null,\n}: PropertyParams<T> = {}) {\n return function (target: any, propertyKey: string) {\n const root = target; // .constructor;\n if (!(propertiesName in root)) {\n root[propertiesName] = {};\n }\n const propertySchemas = root[propertiesName];\n const newSchema = new PropertySchema(propertyKey, {\n units: units,\n beforeSetterName: beforeSetterName,\n defaultValue: defaultValue,\n minValue: minValue,\n maxValue: maxValue,\n });\n if (propertyKey in propertySchemas) {\n // throw new Error(\"Duplicate property: \" + propertyKey);\n }\n propertySchemas[propertyKey] = newSchema;\n\n Object.defineProperty(target, propertyKey, {\n get() {\n const property = ensureProperty(newSchema, this, propertyKey, propertiesName);\n return property.value;\n },\n set(newValue: any) {\n const property = ensureProperty(newSchema, this, propertyKey, propertiesName);\n property.setValue(this, newValue);\n },\n enumerable: true,\n configurable: false,\n });\n };\n}\n\nexport function propertyValidator<T>(propertyName: string, propertiesName = \"__properties__\") {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n // const property = ensureProperty(this, propertyKey, null, propertiesName);\n // property.setValue(\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":";;;AAAA,QAAe,CAAC,CAAC,WAAW,CAAI,GAAqB;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;KACxB;AACH,CAAC;AAJD,kCAIC;AAED,QAAe,CAAC,CAAC,UAAU,CAA+B,IAAS;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,CAAC,GAAQ,EAAE,IAAI,CAAC,GAAG,CAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAJD,gCAIC;AAED,QAAe,CAAC,CAAC,SAAS,CAAO,MAAoB,EAAE,MAAmC;IACxF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAND,8BAMC;AAED,QAAe,CAAC,CAAC,YAAY,CAAI,MAAoB,EAAE,UAA8C;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAZD,oCAYC;AAED,SAAgB,aAAa,CAC3B,MAAoB,EACpB,SAA4C,EAC5C,UAAa;IAEb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,sCAWC"}
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":";;;AAAA,QAAe,CAAC,CAAC,WAAW,CAAI,GAAqB;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;KACxB;AACH,CAAC;AAJD,kCAIC;AAED,QAAe,CAAC,CAAC,UAAU,CAA+B,IAAS;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,CAAC,GAAQ,EAAE,IAAI,CAAC,GAAG,CAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAJD,gCAIC;AAED,QAAe,CAAC,CAAC,SAAS,CAAO,MAAoB,EAAE,MAAmC;IACxF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAND,8BAMC;AAED,QAAe,CAAC,CAAC,YAAY,CAAI,MAAoB,EAAE,UAA8C;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAZD,oCAYC;AAED,SAAgB,aAAa,CAC3B,MAAoB,EACpB,SAA4C,EAC5C,UAAa;IAEb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,sCAWC","sourcesContent":["export function* streamArray<V>(arr: ReadonlyArray<V>): Generator<[number, V]> {\n for (let i = 0; i < arr.length; i++) {\n yield [i, arr[i] as V];\n }\n}\n\nexport function* streamDict<K extends string | number, V>(dict: any): Generator<[K, V]> {\n for (const key in dict) {\n yield [key as K, dict[key] as V];\n }\n}\n\nexport function* mapStream<X, Y>(stream: Generator<X>, mapper: (x: X, index?: number) => Y): Generator<Y> {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n yield mapper(next.value, i);\n i++;\n }\n}\n\nexport function* filterStream<X>(stream: Generator<X>, filterFunc?: (x: X, index?: number) => boolean): Generator<X> {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n if (filterFunc) {\n if (filterFunc(next.value, i)) {\n yield next.value;\n }\n } else if (next.value) {\n yield next.value;\n }\n i++;\n }\n}\n\nexport function collectStream<X, Y>(\n stream: Generator<X>,\n collector: (x: X, y: Y, index?: number) => Y,\n collection: Y,\n): Y {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n collection = collector(next.value, collection, i);\n i++;\n }\n return collection;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timeutils.js","sourceRoot":"","sources":["../../src/timeutils.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,GAAG,OAAO,CAAC;AACjB,QAAA,OAAO,GAAG,UAAU,CAAC;AACrB,QAAA,OAAO,GAAG,WAAW,CAAC;AACtB,QAAA,QAAQ,GAAG,aAAa,CAAC;AAMtC,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,gBAAQ,GAAG,GAAG,CAAC;AACxB,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,0BAEC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,0BAEC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,wBAEC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,cAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAXD,sCAWC"}
1
+ {"version":3,"file":"timeutils.js","sourceRoot":"","sources":["../../src/timeutils.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,GAAG,OAAO,CAAC;AACjB,QAAA,OAAO,GAAG,UAAU,CAAC;AACrB,QAAA,OAAO,GAAG,WAAW,CAAC;AACtB,QAAA,QAAQ,GAAG,aAAa,CAAC;AAMtC,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,gBAAQ,GAAG,GAAG,CAAC;AACxB,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,0BAEC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,0BAEC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,eAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAFD,wBAEC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,cAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAXD,sCAWC","sourcesContent":["import { Nullable } from \"./types\";\n\nexport const ONE_MUS = 1000;\nexport const ONE_MS = 1000000;\nexport const ONE_SEC = 1000000000;\nexport const ONE_MIN = 60000000000;\nexport const ONE_HOUR = 3600000000000;\n\nexport interface Diagnostics {\n notifyTimeTaken(time: number, label: string, source: any): void;\n}\n\nexport function Hours(val: number): number {\n return ONE_HOUR * val;\n}\n\nexport function Minutes(val: number): number {\n return ONE_MIN * val;\n}\n\nexport function Seconds(val: number): number {\n return ONE_SEC * val;\n}\n\nexport function Micros(val: number): number {\n return ONE_MUS * val;\n}\n\nexport function Millis(val: number): number {\n return ONE_MS * val;\n}\n\nexport function StrToDuration(value: string): number {\n value = value.toLowerCase();\n const intValue = parseInt(value);\n if (value.endsWith(\"ms\")) {\n return Millis(intValue);\n } else if (value.endsWith(\"mus\")) {\n return Micros(intValue);\n } else if (value.endsWith(\"s\")) {\n return Seconds(intValue);\n }\n return intValue;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AASA,SAAgB,MAAM,CAAC,SAAkB,EAAE,GAAY;IACrD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;KACtB;AACH,CAAC;AAJD,wBAIC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AASA,SAAgB,MAAM,CAAC,SAAkB,EAAE,GAAY;IACrD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;KACtB;AACH,CAAC;AAJD,wBAIC","sourcesContent":["export type Timestamp = number;\nexport type NumberRange = [number, number];\n\nexport type StringMap<T> = { [key: string]: T };\nexport type NumMap<T> = { [key: number]: T };\nexport type Nullable<T> = T | null;\n\nexport type Undefined<T> = T | undefined | void;\n\nexport function assert(condition: boolean, msg?: string): asserts condition {\n if (!condition) {\n throw new Error(msg);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"evapis.js","sourceRoot":"","sources":["../../../src/apis/evapis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evapis.js","sourceRoot":"","sources":["../../../src/apis/evapis.ts"],"names":[],"mappings":"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","sourcesContent":["import { TEvent, EventHub } from \"../comms/events\";\nimport { Nullable } from \"../types\";\nconst axios = require(\"axios\").default;\n\nexport enum ResourceApiEvent {\n LIST_STARTED = \"LIST_STARTED\",\n LIST_FINISHED = \"LIST_FINISHED\",\n LIST_FAILED = \"LIST_FAILED\",\n\n CREATE_STARTED = \"CREATE_STARTED\",\n CREATE_FINISHED = \"CREATE_FINISHED\",\n CREATE_FAILED = \"CREATE_FAILED\",\n\n BATCH_GET_STARTED = \"BATCH_GET_STARTED\",\n BATCH_GET_FINISHED = \"BATCH_GET_FINISHED\",\n BATCH_GET_FAILED = \"BATCH_GET_FAILED\",\n\n GET_STARTED = \"GET_STARTED\",\n GET_FINISHED = \"GET_FINISHED\",\n GET_FAILED = \"GET_FAILED\",\n\n DELETE_STARTED = \"DELETE_STARTED\",\n DELETE_FINISHED = \"DELETE_FINISHED\",\n DELETE_FAILED = \"DELETE_FAILED\",\n\n UPDATE_STARTED = \"UPDATE_STARTED\",\n UPDATE_FINISHED = \"UPDATE_FINISHED\",\n UPDATE_FAILED = \"UPDATE_FAILED\",\n}\n\nexport abstract class ResourceEvApi<ResType> extends EventHub {\n abstract urlForGet(resId: string, params: any): string;\n abstract urlForBatchGet(resIds: string[]): string;\n abstract urlForDelete(resId: string, params: any): string;\n abstract urlForUpdate(resId: string, params: any): string;\n abstract urlForList(params: any): string;\n abstract urlForCreate(params: any): string;\n\n abstract processListResponse(response: Response): ResType[];\n abstract processGetResponse(response: Response): Nullable<ResType>;\n abstract processDeleteResponse(response: Response): boolean;\n abstract processUpdateResponse(response: Response): ResType;\n abstract processCreateResponse(response: Response): ResType;\n abstract processUpdateParams(params: any): any;\n abstract processCreateParams(params: any): any;\n\n create(params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_STARTED, this));\n const url = this.urlForCreate(params);\n axios\n .post(url, this.processCreateParams(params))\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.CREATE_FAILED, this, err));\n });\n }\n\n batchGet(...resIds: string[]): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_STARTED, this));\n const url = this.urlForBatchGet(resIds);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_FINISHED, this, this.processGetResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.BATCH_GET_FAILED, this, err));\n });\n }\n\n get(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_STARTED, this));\n const url = this.urlForGet(resId, params);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_FINISHED, this, this.processGetResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.GET_FAILED, this, err));\n });\n }\n\n list(params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_STARTED, this));\n const url = this.urlForList(params);\n axios\n .get(url)\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.LIST_FAILED, this, err));\n });\n }\n\n update(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_STARTED, this));\n const url = this.urlForUpdate(resId, params);\n axios\n .post(url, this.processUpdateParams(params))\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.UPDATE_FAILED, this, err));\n });\n }\n\n delete(resId: string, params: any): void {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_STARTED, this));\n const url = this.urlForDelete(resId, params);\n axios({\n method: \"delete\",\n url: url,\n })\n .then((response: Response) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_FINISHED, this, this.processListResponse(response)));\n })\n .error((err: Error) => {\n this.dispatchEvent(new TEvent(ResourceApiEvent.DELETE_FAILED, this, err));\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apis/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./net\";\nexport * from \"./promiseapis\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/apis/net.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/apis/net.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * A helper for building URLs.\n */\nexport class URLBuilder {\n baseUrl: string;\n path: string;\n params: any = [];\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n appendPath(path: string): this {\n if (!this.baseUrl.endsWith(\"/\") && !path.startsWith(\"/\")) {\n this.baseUrl += \"/\";\n }\n this.baseUrl += path;\n return this;\n }\n\n addParam(key: string, value: string): this {\n this.params.push([key, value]);\n return this;\n }\n\n addParams(params: any): this {\n for (const key in params) {\n this.addParam(key, params[key]);\n }\n return this;\n }\n\n build(): string {\n const url = this.baseUrl;\n const path = this.path;\n const params = this.params;\n const paramString = params\n .map((item: any, _index: number) => {\n const [key, value] = item;\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value);\n })\n .join(\"&\");\n if (paramString.length > 0) {\n return url + (url.indexOf(\"?\") >= 0 ? \"&\" : \"?\") + paramString;\n } else {\n return url;\n }\n }\n}\n\nexport class Request {\n url: string;\n options: any;\n\n constructor(url: string, options: any) {\n this.url = url;\n this.options = options || {};\n this.options.headers = this.options.headers || {};\n this.options.body = this.options.body || null;\n }\n\n get method(): string {\n return this.options.method || \"GET\";\n }\n\n set method(method: string) {\n this.options.method = method;\n }\n\n get body(): any {\n return this.options.body;\n }\n\n set body(body: any) {\n this.options.body = body;\n }\n\n get headers(): any {\n return this.options.headers;\n }\n\n get contentType(): string {\n return this.options.contentType;\n }\n}\n\nexport class Response {\n status: number;\n statusText: string;\n headers: any = {};\n data: any = null;\n error: any = null;\n\n constructor(status = 200, statusText = \"\", data: any = null) {\n this.status = status;\n this.statusText = statusText;\n this.data = data;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseapis.js","sourceRoot":"","sources":["../../../src/apis/promiseapis.ts"],"names":[],"mappings":";;;;;;;;;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAEvC,MAAM,OAAgB,WAAW;IAiBzB,MAAM,CAAC,MAAW;;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,QAAQ,CAAC,GAAG,MAAgB;;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,GAAG,CAAC,KAAa,EAAE,MAAW;;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEK,IAAI,CAAC,MAAW;;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"promiseapis.js","sourceRoot":"","sources":["../../../src/apis/promiseapis.ts"],"names":[],"mappings":";;;;;;;;;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAEvC,MAAM,OAAgB,WAAW;IAiBzB,MAAM,CAAC,MAAW;;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,QAAQ,CAAC,GAAG,MAAgB;;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,GAAG,CAAC,KAAa,EAAE,MAAW;;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;IAEK,IAAI,CAAC,MAAW;;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,MAAW;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;KAAA;CACF","sourcesContent":["import { StringMap, Nullable } from \"../types\";\nconst axios = require(\"axios\").default;\n\nexport abstract class ResourceApi<ResType> {\n abstract urlForGet(resId: string, params: any): string;\n abstract urlForBatchGet(resIds: string[]): string;\n abstract urlForDelete(resId: string, params: any): string;\n abstract urlForUpdate(resId: string, params: any): string;\n abstract urlForList(params: any): string;\n abstract urlForCreate(params: any): string;\n\n abstract processListResponse(response: Response): ResType[];\n abstract processBatchGetResponse(response: Response): StringMap<ResType>;\n abstract processGetResponse(response: Response): Nullable<ResType>;\n abstract processDeleteResponse(response: Response): boolean;\n abstract processUpdateResponse(response: Response): ResType;\n abstract processCreateResponse(response: Response): ResType;\n abstract processUpdateParams(params: any): any;\n abstract processCreateParams(params: any): any;\n\n async create(params: any): Promise<ResType> {\n const url = this.urlForCreate(params);\n const response = await axios.post(url, this.processCreateParams(params));\n return this.processCreateResponse(response);\n }\n\n async batchGet(...resIds: string[]): Promise<StringMap<ResType>> {\n const url = this.urlForBatchGet(resIds);\n const response = await axios.get(url);\n return this.processBatchGetResponse(response);\n }\n\n async get(resId: string, params: any): Promise<Nullable<ResType>> {\n const url = this.urlForGet(resId, params);\n const response = await axios.get(url);\n return this.processGetResponse(response);\n }\n\n async list(params: any): Promise<ResType[]> {\n const url = this.urlForList(params);\n const response = await axios.get(url);\n return this.processListResponse(response);\n }\n\n async update(resId: string, params: any): Promise<ResType> {\n const url = this.urlForUpdate(resId, params);\n const response = await axios.put(url, this.processUpdateParams(params));\n return this.processUpdateResponse(response);\n }\n\n async delete(resId: string, params: any): Promise<boolean> {\n const url = this.urlForDelete(resId, params);\n const response = await axios({ method: \"delete\", url: url });\n return this.processDeleteResponse(response);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,OAAO;;AACX,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,kBAAU,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,gBAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzE,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,OAAO;;AACX,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,kBAAU,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,gBAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzE,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,mBAAW,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,iBAAS,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC","sourcesContent":["declare let navigator: any;\nexport class Browser {\n static IS_EXPLORER = () => navigator && navigator.userAgent.indexOf(\"MSIE\") > -1;\n static IS_FIREFOX = () => navigator && navigator.userAgent.indexOf(\"Firefox\") > -1;\n static IS_OPERA = () => navigator && navigator.userAgent.toLowerCase().indexOf(\"op\") > -1;\n\n protected static UAHasChrome = () => navigator && navigator.userAgent.indexOf(\"Chrome\") > -1;\n protected static UAHasSafari = () => navigator && navigator.userAgent.indexOf(\"Safari\") > -1;\n static IS_SAFARI = () => navigator && Browser.UAHasSafari() && (!Browser.UAHasChrome() || !Browser.UAHasSafari());\n static IS_CHROME = () => navigator && Browser.UAHasChrome() && (!Browser.UAHasChrome() || !Browser.IS_OPERA());\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"actors.js","sourceRoot":"","sources":["../../../src/comms/actors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actors.js","sourceRoot":"","sources":["../../../src/comms/actors.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable, assert } from \"../types\";\n\n/**\n * Actors are the base classes of any physical entity that can\n * belong in a system.\n */\nexport abstract class Actor {\n processMessage(msg: Message): void {\n assert(msg.target == this, \"Cannot handle messages whose target is not this.\");\n if (msg.isReply) {\n const reply = msg as Reply;\n assert(\n reply.responseTo.spawnedFrom != null,\n \"Cannot spawn a reply for a send that itself was not spawned from another send\",\n );\n this.processReply(reply);\n } else {\n this.processSend(msg as Send);\n }\n }\n\n /**\n * Called to handle a Send message to this actor.\n */\n processSend(send: Send): void {\n // Drop it\n }\n\n /**\n * Called to handle a Reply message to this actor.\n */\n processReply(_reply: Reply): void {\n // Drop it\n }\n\n /*\n replyToSend(send: Send, error?: any): Reply {\n const out = send.spawnReply(error);\n out.target.processReply(out);\n return out;\n }\n\n forwardReply(inboundReply: Reply): Nullable<Reply> {\n const spawnedFromSend = inboundReply.responseTo.spawnedFrom;\n if (spawnedFromSend.reply == null) {\n // we are receiving a reply from the downstream so forward it back\n const outboundReply = inboundReply.spawn(spawnedFromSend);\n world.inject(outboundReply);\n return outboundReply;\n } else {\n // This send had already been replied (ie with an error -\n // say due to timeout, act of god etc)\n // So we can ignore sending this reply\n return null;\n }\n }\n */\n}\n\nexport abstract class Message {\n // Globally unique ID for all elements.\n private static counter = 0;\n\n readonly uuid = Message.counter++;\n\n /**\n * Name of the message.\n */\n readonly name: string;\n\n readonly isReply: boolean;\n\n /**\n * The actor this message originated from.\n */\n readonly source: Actor;\n\n /**\n * Target actor for this message.\n */\n readonly target: Actor;\n\n /**\n * Data that can be set by the source actor that only *it* can\n * use.\n */\n sourceData: any = null;\n\n /**\n * Message payload.\n * Specific to the message.\n */\n payload: any = null;\n\n /**\n * Descriptive label for the Message.\n */\n label: string;\n\n constructor(name: string, source: Actor, target: Actor) {\n assert(source != null, \"Source cannot be null\");\n assert(target != null, \"Target cannot be null\");\n this.name = name;\n this.source = source;\n this.target = target;\n }\n}\n\nabstract class ForwardableBase<T> extends Message {\n /**\n * The first/root message in the forward chain.\n */\n private _rootMessage: ForwardableBase<T>;\n\n /**\n * The message that is being forwarded.\n */\n private _spawnedFrom: Nullable<this> = null;\n\n get spawnedFrom(): Nullable<this> {\n return this._spawnedFrom;\n }\n\n protected setSpawnedFrom(msg: Nullable<this>): void {\n this._spawnedFrom = msg;\n if (msg == null) this._rootMessage = this;\n else this._rootMessage = msg.rootMessage;\n }\n\n get rootMessage(): this {\n return this._rootMessage as this;\n }\n}\n\nexport class Reply extends ForwardableBase<Reply> {\n readonly isReply = true;\n\n /**\n * The message this is in response to\n */\n responseTo: Send;\n\n /**\n * Whether this reply is an error or not.\n */\n isError: boolean;\n\n /**\n * If Reply is an error then a few summary fields about the error.\n */\n error?: any;\n\n constructor(responseTo: Send, error?: any) {\n // Reverse target and source\n super(responseTo.name, responseTo.target, responseTo.source);\n assert(responseTo.reply == null, \"Send's reply has already been set\");\n this.responseTo = responseTo;\n this.error = error || null;\n this.isError = this.error != null;\n responseTo.reply = this;\n }\n\n spawn(responseTo: Send, error?: any): Reply {\n const child = new Reply(responseTo, error);\n child.setSpawnedFrom(this);\n return child;\n }\n}\n\nexport class Send extends ForwardableBase<Send> {\n readonly isReply = false;\n\n /**\n * All child sends that were spawned from this Send.\n * The parent/spawnedFrom and child message references help us\n * form a call tree/trace of a message as it traverses\n * the system.\n */\n children: Send[] = [];\n\n /**\n * Tells which message is a reply to this message.\n */\n reply: Nullable<Reply> = null;\n\n /**\n * When the Send was cancelled (if it was).\n */\n cancelledAt: Nullable<number> = null;\n\n spawn(nextTarget: Actor): Send {\n const child = new Send(this.name, this.target, nextTarget);\n child.setSpawnedFrom(this);\n this.children.push(child);\n return child;\n }\n\n spawnReply(error?: any): Reply {\n return new Reply(this, error);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/comms/bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,OAAO,QAAS,SAAQ,YAAY;IAGxC;QACE,KAAK,EAAE,CAAC;IAEV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;SACpC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAOM,SAAS,CAAC,SAAiB,EAAE,QAAkB;QACpD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAOM,WAAW,CAAC,SAAiB,EAAE,QAAkB;QACtD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAOM,OAAO,CAAC,SAAiB,EAAE,IAAS;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/comms/bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,OAAO,QAAS,SAAQ,YAAY;IAGxC;QACE,KAAK,EAAE,CAAC;IAEV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;SACpC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAOM,SAAS,CAAC,SAAiB,EAAE,QAAkB;QACpD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAOM,WAAW,CAAC,SAAiB,EAAE,QAAkB;QACtD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAOM,OAAO,CAAC,SAAiB,EAAE,IAAS;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import { EventEmitter } from \"events\";\nexport type Callback = (eventName: string, data: any) => void;\n\nexport class EventBus extends EventEmitter {\n private static instance: EventBus;\n\n private constructor() {\n super();\n // do nothing.\n }\n\n static getInstance(): EventBus {\n if (!EventBus.instance) {\n EventBus.instance = new EventBus();\n }\n\n return EventBus.instance;\n }\n\n /**\n * Subscribe to an event\n * @param eventName\n * @param callback\n */\n public subscribe(eventName: string, callback: Callback): void {\n this.on(eventName, callback);\n }\n\n /**\n * Unsubscribe from an event\n * @param eventName\n * @param callback\n */\n public unsubscribe(eventName: string, callback: Callback): void {\n this.removeListener(eventName, callback);\n }\n\n /**\n *\n * @param eventName Publish an event\n * @param data\n */\n public publish(eventName: string, data: any): void {\n this.emit(eventName, data);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/comms/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/comms/events.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable, Timestamp } from \"../types\";\n\n/**\n * Super class of all Events.\n */\nexport class TEvent {\n // Globally unique ID for all events.\n private static counter = 0;\n readonly uuid = TEvent.counter++;\n\n /**\n * The event this event was spawned from (if any).\n */\n protected _spawnedFrom: Nullable<this> = null;\n\n /**\n * Name of the event.\n */\n readonly name: string;\n\n /**\n * Source from which this event is originating.\n */\n readonly source: any;\n\n /**\n * Source state that is set by the source of the event only\n * *it* can use.\n */\n sourceState: any = null;\n\n /**\n * Event specific payload.\n */\n payload: any;\n\n /**\n * Whether the event was cancelled.\n */\n cancelled = false;\n\n /**\n * Timestamp of the event - optional.\n */\n timeStamp: Timestamp = -1;\n\n /**\n * All child events that were spawned from this Event.\n * The parent/spawnedFrom and child event references help us\n * form a call tree/trace of a events as it traverses\n * the system.\n */\n children: TEvent[] = [];\n\n constructor(name: string, source: any, payload?: any) {\n this.name = name;\n this.source = source;\n this.payload = payload;\n }\n\n get spawnedFrom(): Nullable<this> {\n return this._spawnedFrom;\n }\n\n protected setSpawnedFrom(msg: Nullable<this>): void {\n this._spawnedFrom = msg;\n if (msg == null) this._rootEvent = this;\n else this._rootEvent = msg.rootEvent;\n }\n\n spawn(name: string, source: any, payload?: any): TEvent {\n const child = new TEvent(name, source, payload);\n child.setSpawnedFrom(this);\n this.children.push(child);\n return child;\n }\n\n /**\n * The first/root message in the forward chain.\n */\n private _rootEvent: this;\n\n get rootEvent(): this {\n return this._rootEvent as this;\n }\n}\n\nexport class State {\n private static counter = 0;\n stateData: any = null;\n readonly id = State.counter++;\n\n get name(): string {\n return this.constructor.name;\n }\n\n enter(data: any): void {\n this.stateData = data;\n }\n\n handle(event: TEvent): void {\n // todo\n }\n}\n\nexport type EventCallback = ((event: TEvent) => void) | ((event: TEvent) => Promise<void>);\n\nexport class EventEmitter {\n protected _eventHub: EventHub | null;\n constructor() {\n this._eventHub = new EventHub();\n }\n get eventHub(): EventHub | null {\n return this._eventHub;\n }\n set eventHub(hub: EventHub | null) {\n const oldHub = this._eventHub;\n this._eventHub = hub;\n this.eventHubChanged(oldHub);\n }\n protected eventHubChanged(oldHub: EventHub | null): void {\n // Do nothing\n console.log(\"WARNING - EventHub Change Listener not implemented: \", this.constructor.name);\n }\n}\n\nexport class EventHub {\n private _handlers: { [key: string]: Array<EventCallback> } = {};\n private _muted = false;\n\n get isMuted(): boolean {\n return this._muted;\n }\n\n mute(): void {\n this._muted = true;\n }\n\n unmute(): void {\n this._muted = false;\n }\n\n on(names: Array<string> | string, callback: EventCallback): this {\n return this._addHandler(names, this._handlers, callback);\n }\n\n removeOn(names: Array<string> | string, callback: EventCallback): this {\n return this._removeHandler(names, this._handlers, callback);\n }\n\n _ensurestrings(names: Array<string> | string): string[] {\n if (typeof names === \"string\") {\n names = (names as string).split(\",\");\n }\n return names.map(function (v) {\n return v.trim();\n });\n }\n\n _addHandler<T>(names: Array<string> | string, handlerlist: { [key: string]: Array<T> }, handler: T): this {\n this._ensurestrings(names).forEach(function (name) {\n handlerlist[name] = handlerlist[name] || [];\n handlerlist[name].push(handler);\n });\n return this;\n }\n\n _removeHandler<T>(names: Array<string> | string, handlerlist: { [key: string]: Array<T> }, handler: T): this {\n this._ensurestrings(names).forEach(function (name) {\n const evHandlers = handlerlist[name] || [];\n for (let i = 0; i < evHandlers.length; i++) {\n if (evHandlers[i] == handler) {\n evHandlers.splice(i, 1);\n break;\n }\n }\n });\n return this;\n }\n\n emit(name: string, source: any, payload?: any): boolean {\n return this.dispatchEvent(new TEvent(name, source, payload));\n }\n\n dispatchEvent(event: TEvent): boolean {\n const evtCallbacks = this._handlers[event.name] || [];\n for (const callback of evtCallbacks) {\n callback(event);\n if (event.cancelled) return false;\n }\n return true;\n }\n}\n\n/**\n * StateMachines allow declarative and stateful chaining of events.\n */\nexport class StateMachine {\n private _states: { [key: string]: State } = {};\n private _rootState: Nullable<State> = null;\n private _currentState: Nullable<State> = null;\n constructor() {\n this._states = {};\n this._rootState = null;\n this._currentState = null;\n }\n\n /**\n * The starting/root state of the machine.\n *\n * @param {String} name Name of the default/root state.\n */\n set rootState(name: string) {\n this._rootState = this.getState(name);\n if (this._currentState == null) {\n this._currentState = this._rootState;\n }\n }\n\n /**\n * Exits the current state (if any) and enters a new state.\n *\n * @param {String} state Name of the new state to enter.\n * @param {Object} data State specific data for the state handler to use for the new state.\n */\n enter(state: string, data: any = null): void {\n if (state == \"\") {\n this._currentState = this._rootState;\n } else {\n this._currentState = this.getState(state);\n }\n if (this._currentState != null) {\n this._currentState.enter(data);\n }\n }\n\n /**\n * Get the state by name.\n *\n * @param {String} name Name of the state being queried.\n * @returns {State} State object associated with the name.\n */\n getState(name: string): State {\n if (!(name in this._states)) {\n throw Error(\"State '\" + name + \"' not yet registered.\");\n }\n return this._states[name];\n }\n\n /**\n * Register a new state in the state machine.\n *\n * @param {State} state State being registered. If another State with\n * the same name exists, then a {DuplicateError} is thrown.\n * @param {Bool} isRoot Whether the new state is a root state.\n */\n registerState(state: State, isRoot = false): void {\n const name = state.name;\n if (name in this._states) {\n throw Error(\"State '\" + name + \"' already registered.\");\n }\n this._states[name] = state;\n if (isRoot || false) {\n this.rootState = state.name;\n }\n }\n\n /**\n * Handles an event from the current state in the state machine possibly resulting in a state transition.\n *\n * @param {Object} name Type of event being sent.\n * @param {EventSource} source The source generating the event.\n * @param {Object} data The event specific data.\n */\n handle(event: TEvent): void {\n if (this._currentState == null) return;\n\n const nextState: any = this._currentState.handle(event);\n if (nextState != null) {\n if (nextState == \"\") {\n if (this._rootState != null) {\n this.enter(this._rootState.name);\n } else {\n throw new Error(\"Root state has not been set\");\n }\n } else {\n this.enter(nextState);\n }\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAC","sourcesContent":["export const INFINITY = 1e48;\nexport const MAX_INT = 2 ** 32;\nexport const MAX_LONG = 2 ** 64;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dal.js","sourceRoot":"","sources":["../../src/dal.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAKrB,YAAY,MAAY;QACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,UAAU;IAatC,YAAY,MAAY;QACtB,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;IAC9D,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"dal.js","sourceRoot":"","sources":["../../src/dal.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAKrB,YAAY,MAAY;QACtB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,UAAU;IAatC,YAAY,MAAY;QACtB,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC;IAC9D,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACF","sourcesContent":["import { Timestamp } from \"./types\";\n\nexport class BaseEntity {\n isActive: boolean;\n createdAt: Timestamp;\n updatedAt: Timestamp;\n\n constructor(config?: any) {\n config = config || {};\n this.isActive = config.isActive == false ? false : true;\n this.createdAt = config.createdAt || Date.now();\n this.updatedAt = config.updatedAt || Date.now();\n }\n}\n\nexport class Resource extends BaseEntity {\n // Collection ID\n id: string;\n\n // Owner/Creator of this collection\n userId: string;\n\n // Visibility status\n visibility: \"public\" | \"private\" | \"limited\";\n\n // Who can see this score\n visibleTo: string[];\n\n constructor(config?: any) {\n super((config = config || {}));\n this.id = \"\" + (config.id || \"\");\n this.userId = \"\" + (config.userId || \"\");\n this.visibleTo = config.visibleTo || [];\n this.visibility = (config.visibility || \"private\").toLowerCase();\n }\n\n isVisibleTo(userId: string): boolean {\n return this.userId == userId || this.visibility == \"public\";\n }\n\n // TODO - move this to schema and/or decorators\n get version(): number {\n return 0;\n }\n\n // And others things here\n get hasKey(): boolean {\n return this.id.trim().length > 0;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,UAAmE,WAAc;QAEtF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,KAAM,SAAQ,WAAW;YAAzB;;gBAEI,SAAI,GAAW,OAAO,EAAE,CAAC;YACpC,CAAC;SAAA,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,UAAmE,WAAc;QAEtF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,KAAM,SAAQ,WAAW;YAAzB;;gBAEI,SAAI,GAAW,OAAO,EAAE,CAAC;YACpC,CAAC;SAAA,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["export function mixinUuid(): any {\n return function <T extends { new (...args: any[]): Record<string, any> }>(constructor: T): any {\n // return function (constructor: Function) {\n let counter = 0;\n return class extends constructor {\n // Globally unique ID for all elements.\n readonly uuid: number = counter++;\n };\n };\n}\n"]}
package/lib/esm/dom.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { Undefined } from "./types";
2
+ import * as Geom from "./geom";
3
+ export declare function svgBBox(element: SVGGraphicsElement): Geom.Rect;
2
4
  export declare function getFontMetrics(fontFamily: string, fontSize: number): any;
3
5
  export declare function forEachChild(elem: Element, visitor: (child: Element, index: number) => Undefined<boolean>): false | undefined;
4
6
  export declare function forEachNode(elem: Element, visitor: (child: ChildNode, index: number) => Undefined<boolean>): void;
package/lib/esm/dom.js CHANGED
@@ -1,4 +1,20 @@
1
+ import * as Geom from "./geom";
2
+ import { Browser } from "./browser";
1
3
  const fontMetrics = {};
4
+ export function svgBBox(element) {
5
+ var _a;
6
+ const bbox = Geom.Rect.from(element.getBBox());
7
+ if (Browser.IS_SAFARI()) {
8
+ const clientRect = element.getClientRects()[0];
9
+ if (clientRect) {
10
+ const parentClientRect = (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
11
+ bbox.x = bbox.x + clientRect.x - ((parentClientRect === null || parentClientRect === void 0 ? void 0 : parentClientRect.x) || 0);
12
+ bbox.width = clientRect.width;
13
+ bbox.height = clientRect.height;
14
+ }
15
+ }
16
+ return bbox;
17
+ }
2
18
  export function getFontMetrics(fontFamily, fontSize) {
3
19
  if (!(fontFamily in fontMetrics)) {
4
20
  fontMetrics[fontFamily] = {};
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/dom.ts"],"names":[],"mappings":"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","sourcesContent":["import { Undefined } from \"./types\";\nimport * as Geom from \"./geom\";\nimport { Browser } from \"./browser\";\n\ndeclare const $: any;\nconst fontMetrics: { [key: string]: any } = {};\n\n/**\n * Calculates the bounding box for an svg element in a consistent way across\n * browsers.\n */\nexport function svgBBox(element: SVGGraphicsElement): Geom.Rect {\n const bbox = Geom.Rect.from(element.getBBox());\n // Due to safari bug which returns really crazy span widths!\n if (Browser.IS_SAFARI()) {\n const clientRect = element.getClientRects()[0];\n if (clientRect) {\n const parentClientRect = element.parentElement?.getBoundingClientRect();\n bbox.x = bbox.x + clientRect.x - (parentClientRect?.x || 0);\n // bbox.y = clientRect.y; // - (parentClientRect?.y || 0);\n bbox.width = clientRect.width;\n bbox.height = clientRect.height;\n }\n }\n return bbox;\n}\n\nexport function getFontMetrics(fontFamily: string, fontSize: number): any {\n if (!(fontFamily in fontMetrics)) {\n fontMetrics[fontFamily] = {};\n }\n const familyMetrics = fontMetrics[fontFamily];\n if (!(fontSize in familyMetrics)) {\n const a = $(\"<div style='position:absolute;top:0;left:0'>M</div>\");\n a.css(\"font-family\", fontFamily);\n a.css(\"font-size\", fontSize);\n $($(document)[0].body).append(a);\n familyMetrics[fontSize] = {\n height: a[0].offsetHeight,\n size: fontSize,\n };\n a.remove();\n }\n return familyMetrics[fontSize];\n}\n\nexport function forEachChild(elem: Element, visitor: (child: Element, index: number) => Undefined<boolean>) {\n const children = elem.children;\n const L = children.length;\n for (let i = 0; i < L; i++) {\n const child = children[i];\n if (visitor(child, i) == false) return false;\n }\n}\n\nexport function forEachNode(elem: Element, visitor: (child: ChildNode, index: number) => Undefined<boolean>) {\n const children = elem.childNodes;\n const L = children.length;\n for (let i = 0; i < L; i++) {\n const child = children[i];\n if (visitor(child, i) == false) return;\n }\n}\n\nexport function forEachAttribute(elem: Element, visitor: (name: string, value: any) => Undefined<boolean>) {\n const nodeNameMap = elem.attributes;\n for (let i = 0; i < nodeNameMap.length; i++) {\n const attrib = nodeNameMap[i];\n if (visitor(attrib.name, attrib.value) == false) return;\n }\n}\n\n/**\n * Processing of different kinds of attributes.\n */\nexport function parseCSSStyles(value: string) {\n const out: any = {};\n if (value && value != null) {\n const values = value.split(\";\");\n values.forEach(function (elem) {\n if (elem.trim().length > 0) {\n const kvpair = elem.split(\":\");\n if (kvpair.length >= 2) {\n const key = kvpair[0].trim();\n const value = kvpair[1].trim();\n if (key.length > 0) {\n out[key] = value;\n }\n }\n }\n });\n }\n return out;\n}\n\nexport function getAttr(elem: Element, attrib: string, ...validators: any) {\n let value = elem.getAttribute(attrib);\n for (let i = 0; i < validators.length; i++) {\n value = validators[i](value);\n }\n return value;\n}\n\nexport function ensureAttr(elem: Element, attrib: string) {\n const value = elem.getAttribute(attrib) || null;\n if (value == null) {\n throw new Error(`Element MUST have Attribute: ${attrib}`);\n }\n return value;\n}\n\nexport function setAttr(elem: Element, name: string, value: any) {\n return elem.setAttribute(name, value);\n}\n\nexport function getAttrOrStyle(elem: Element, attribName: string, cssStyles: any, styleName: string) {\n return elem.getAttribute(attribName) || cssStyles[styleName];\n}\n\nexport function createSVGNode<T extends SVGGraphicsElement>(nodename: string, config?: any): any {\n config = config || {};\n config.ns = \"http://www.w3.org/2000/svg\";\n return createNode(nodename, config) as T;\n}\n\nexport function createNode(nodename: string, config?: any): Element {\n let out;\n config = config || {};\n const ns = config.ns;\n const doc = config.doc || document;\n const attrs = config.attrs || {};\n const text = config.text || \"\";\n const parent = config.parent || null;\n if (ns) out = doc.createElementNS(ns, nodename);\n else out = doc.createElement(nodename);\n if (parent != null) {\n parent.appendChild(out);\n }\n for (const attr in attrs || {}) {\n const value = attrs[attr];\n out.setAttribute(attr, value);\n }\n if (text) {\n out.textContent = text;\n }\n return out;\n}\n\n/**\n * Remove a node from its parent.\n */\nexport function removeNode(node: Node): void {\n node.parentNode?.removeChild(node);\n}\n\nexport function insertAfter(node: Node, ...newNodes: Node[]): boolean {\n const parentNode = node.parentNode;\n if (parentNode == null) return false;\n const nextNode = node.nextSibling;\n if (nextNode == null) {\n for (let i = 0; i < newNodes.length; i++) {\n parentNode.appendChild(newNodes[i]);\n }\n } else {\n for (let i = 0; i < newNodes.length; i++) {\n parentNode.insertBefore(newNodes[i], nextNode);\n }\n }\n return true;\n}\n\nexport function getCSS(elem: Element, attr: string): any {\n return (elem as any).style[attr];\n}\n\nexport function setCSS(elem: Element, attr: string, value: any): void {\n (elem as any).style[attr] = value;\n}\n\nexport function ensureElement(elemOrId: Element | string, root: any = null): Element {\n if (typeof elemOrId === \"string\") {\n if (root == null) root = document;\n return root.querySelector(elemOrId);\n } else {\n return elemOrId;\n }\n}\n\n/*\nexport function setEnabled(elem: Element, enable = true): Element {\n elem.prop(\"disabled\", !enable);\n return elem;\n}\n\nexport function setVisible(elem: Element, show = true): Element {\n if (show) {\n elem.show();\n } else {\n elem.hide();\n }\n return elem;\n}\n\nexport function getcssint(elem: JQuery<HTMLElement>, attrib: string): number{\n return parseInt(elem.css(attrib).replace(/px/, \"\"));\n}\n\nexport function centerElem(elem: JQuery<HTMLElement>, axis: string) {\n const parent = elem.parent();\n const horizPadding =\n getcssint(elem, \"padding-left\") +\n getcssint(elem, \"padding-right\") +\n getcssint(elem, \"margin-left\") +\n getcssint(elem, \"margin-right\") +\n getcssint(parent, \"border-left\") +\n getcssint(parent, \"border-right\");\n const vertPadding =\n getcssint(elem, \"padding-top\") +\n getcssint(elem, \"padding-bottom\") +\n getcssint(elem, \"margin-top\") +\n getcssint(elem, \"margin-bottom\") +\n getcssint(parent, \"border-top\") +\n getcssint(parent, \"border-bottom\");\n const finalHeight: number = (parent.height() as number) - vertPadding;\n const finalWidth: number = (parent.width() as number) - horizPadding;\n if (axis == \"x\") {\n elem.css(\"left\", (finalWidth - (elem.width() as number)) / 2);\n } else if (axis == \"y\") {\n elem.css(\"top\", (finalHeight - (elem.height() as number)) / 2);\n } else {\n elem.css(\"left\", (finalWidth - (elem.width() as number)) / 2);\n elem.css(\"top\", (finalHeight - (elem.height() as number)) / 2);\n }\n}\n\nexport function fillChildComponent(elem: JQuery<HTMLElement>) {\n const parent = elem.parent();\n const horizPadding =\n getcssint(elem, \"padding-left\") +\n getcssint(elem, \"padding-right\") +\n getcssint(elem, \"margin-left\") +\n getcssint(elem, \"margin-right\") +\n getcssint(parent, \"border-left\") +\n getcssint(parent, \"border-right\");\n const vertPadding =\n getcssint(elem, \"padding-top\") +\n getcssint(elem, \"padding-bottom\") +\n getcssint(elem, \"margin-top\") +\n getcssint(elem, \"margin-bottom\") +\n getcssint(parent, \"border-top\") +\n getcssint(parent, \"border-bottom\");\n const finalHeight = (parent.height() as number) - vertPadding;\n const finalWidth = (parent.width() as number) - horizPadding;\n elem.height(finalHeight);\n elem.width(finalWidth);\n}\n*/\n"]}
package/lib/esm/geom.d.ts CHANGED
@@ -33,5 +33,6 @@ export declare class Rect implements BBox {
33
33
  constructor(x?: number, y?: number, width?: number, height?: number);
34
34
  static from(box: BBox): Rect;
35
35
  copy(): Rect;
36
- union(another: BBox): this;
36
+ union(another: BBox | null): this;
37
+ unionAll(...boxes: (BBox | null)[]): this;
37
38
  }
package/lib/esm/geom.js CHANGED
@@ -34,14 +34,21 @@ export class Rect {
34
34
  return Rect.from(this);
35
35
  }
36
36
  union(another) {
37
- const minX = Math.min(this.x, another.x);
38
- const minY = Math.min(this.y, another.y);
39
- const maxX = Math.max(this.x + this.width, another.x + another.width);
40
- const maxY = Math.max(this.y + this.height, another.y + another.height);
41
- this.x = minX;
42
- this.y = minY;
43
- this.width = maxX - minX;
44
- this.height = maxY - minY;
37
+ if (another) {
38
+ const minX = Math.min(this.x, another.x);
39
+ const minY = Math.min(this.y, another.y);
40
+ const maxX = Math.max(this.x + this.width, another.x + another.width);
41
+ const maxY = Math.max(this.y + this.height, another.y + another.height);
42
+ this.x = minX;
43
+ this.y = minY;
44
+ this.width = maxX - minX;
45
+ this.height = maxY - minY;
46
+ }
47
+ return this;
48
+ }
49
+ unionAll(...boxes) {
50
+ for (const b of boxes)
51
+ this.union(b);
45
52
  return this;
46
53
  }
47
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"geom.js","sourceRoot":"","sources":["../../src/geom.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,KAAK;IAChB,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC;QAAnB,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;CAC3C;AAED,MAAM,OAAO,IAAI;IAGf,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAFxB,UAAK,GAAG,CAAC,CAAC;QACV,WAAM,GAAG,CAAC,CAAC;QAET,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,MAAM;IACjB,YAAmB,OAAO,CAAC,EAAS,MAAM,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAA7D,SAAI,GAAJ,IAAI,CAAI;QAAS,QAAG,GAAH,GAAG,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;CACrF;AASD,MAAM,OAAO,IAAI;IACf,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAAxD,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;IAE/E,MAAM,CAAC,IAAI,CAAC,GAAS;QACnB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAa;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"geom.js","sourceRoot":"","sources":["../../src/geom.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,KAAK;IAChB,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC;QAAnB,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;CAC3C;AAED,MAAM,OAAO,IAAI;IAGf,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAFxB,UAAK,GAAG,CAAC,CAAC;QACV,WAAM,GAAG,CAAC,CAAC;QAET,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,MAAM;IACjB,YAAmB,OAAO,CAAC,EAAS,MAAM,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAA7D,SAAI,GAAJ,IAAI,CAAI;QAAS,QAAG,GAAH,GAAG,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;CACrF;AASD,MAAM,OAAO,IAAI;IACf,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,QAAQ,CAAC,EAAS,SAAS,CAAC;QAAxD,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,WAAM,GAAN,MAAM,CAAI;IAAG,CAAC;IAE/E,MAAM,CAAC,IAAI,CAAC,GAAS;QACnB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAKD,KAAK,CAAC,OAAoB;QACxB,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,QAAQ,CAAC,GAAG,KAAsB;QAChC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["export interface Coords {\n x: number;\n y: number;\n}\n\nexport class Point implements Coords {\n constructor(public x = 0, public y = 0) {}\n}\n\nexport class Size {\n width = 0;\n height = 0;\n constructor(w = 0, h = 0) {\n this.width = w;\n this.height = h;\n }\n}\n\nexport class Insets {\n constructor(public left = 0, public top = 0, public right = 0, public bottom = 0) {}\n}\n\nexport interface BBox {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport class Rect implements BBox {\n constructor(public x = 0, public y = 0, public width = 0, public height = 0) {}\n\n static from(box: BBox): Rect {\n return new Rect(box.x, box.y, box.width, box.height);\n }\n\n copy(): Rect {\n return Rect.from(this);\n }\n\n /**\n * Returns union with another box.\n */\n union(another: BBox | null): this {\n if (another) {\n const minX = Math.min(this.x, another.x);\n const minY = Math.min(this.y, another.y);\n const maxX = Math.max(this.x + this.width, another.x + another.width);\n const maxY = Math.max(this.y + this.height, another.y + another.height);\n this.x = minX;\n this.y = minY;\n this.width = maxX - minX;\n this.height = maxY - minY;\n }\n return this;\n }\n\n /**\n * Returns union of multiple boxes.\n */\n unionAll(...boxes: (BBox | null)[]): this {\n for (const b of boxes) this.union(b);\n return this;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;uBACH,cAAc;kBAAvB,GAAG;6BACY,aAAa;wBAA5B,SAAS;0BACG,gBAAgB;qBAA5B,MAAM;yBACK,QAAQ;oBAAnB,KAAK;wBACK,QAAQ;mBAAlB,IAAI;2BACS,WAAW;sBAAxB,OAAO;uBACE,OAAO;kBAAhB,GAAG;wBACO,QAAQ;mBAAlB,IAAI;uBACK,eAAe;kBAAxB,GAAG;wBACO,aAAa;mBAAvB,IAAI;uBAEK,OAAO;kBAAhB,GAAG;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;uBACH,cAAc;kBAAvB,GAAG;6BACY,aAAa;wBAA5B,SAAS;0BACG,gBAAgB;qBAA5B,MAAM;yBACK,QAAQ;oBAAnB,KAAK;wBACK,QAAQ;mBAAlB,IAAI;2BACS,WAAW;sBAAxB,OAAO;uBACE,OAAO;kBAAhB,GAAG;wBACO,QAAQ;mBAAlB,IAAI;uBACK,eAAe;kBAAxB,GAAG;wBACO,aAAa;mBAAvB,IAAI;uBAEK,OAAO;kBAAhB,GAAG;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export * from \"./types\";\nexport * as Api from \"./apis/index\";\nexport * as Constants from \"./constants\";\nexport * as Events from \"./comms/events\";\nexport * as Lists from \"./list\";\nexport * as Misc from \"./misc\";\nexport * as Streams from \"./streams\";\nexport * as DOM from \"./dom\";\nexport * as Geom from \"./geom\";\nexport * as Num from \"./numberutils\";\nexport * as Time from \"./timeutils\";\n// export * as Properties from \"./properties\";\nexport * as DAL from \"./dal\";\nexport { Browser } from \"./browser\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\n\nexport interface ListNode<V> {\n nextSibling: Nullable<V>;\n prevSibling: Nullable<V>;\n}\n\nclass MutableListNode<V> implements ListNode<MutableListNode<V>> {\n nextSibling: Nullable<MutableListNode<V>> = null;\n prevSibling: Nullable<MutableListNode<V>> = null;\n constructor(public value: V) {}\n}\n\n/**\n * A list implementation where the value itself contains next and prev pointers\n * so we do not need to create wrapper classes.\n */\nexport class ValueList<V extends ListNode<V>> {\n protected _firstChild: Nullable<V> = null;\n protected _lastChild: Nullable<V> = null;\n protected _size = 0;\n\n constructor(...values: V[]) {\n for (const v of values) this.push(v);\n }\n\n toJSON(): V[] {\n return Array.from(this.values());\n }\n\n forEach(method: (val: V) => boolean | any): number {\n let tmp: V | null = this._firstChild;\n let count = 0;\n while (tmp != null) {\n if (method(tmp) == false) {\n break;\n }\n count++;\n tmp = tmp.nextSibling;\n }\n return count;\n }\n\n equals(another: ValueList<V>, eqlFunc: (val1: V, val2: V) => boolean): boolean {\n if (this.size != another.size) return false;\n let tmp = this.first;\n let tmp2 = another.first;\n for (; tmp != null && tmp2 != null; tmp = tmp.nextSibling, tmp2 = tmp2.nextSibling) {\n if (!eqlFunc(tmp, tmp2)) {\n return false;\n }\n }\n return tmp == null && tmp2 == null;\n }\n\n get isEmpty(): boolean {\n return this._size == 0;\n }\n\n get size(): number {\n return this._size;\n }\n\n get first(): Nullable<V> {\n return this._firstChild;\n }\n\n get last(): Nullable<V> {\n return this._lastChild;\n }\n\n /**\n * Generator of values in reverse order.\n */\n *reversedValues(): Generator<V> {\n let tmp = this._lastChild;\n while (tmp != null) {\n yield tmp;\n tmp = tmp.prevSibling;\n }\n }\n\n /**\n * Generator of values in forward order.\n */\n *values(): Generator<V> {\n let tmp = this._firstChild;\n while (tmp != null) {\n yield tmp;\n tmp = tmp.nextSibling;\n }\n }\n\n popBack(): V {\n if (this._lastChild == null) {\n throw new Error(\"No children\");\n }\n const out = this._lastChild;\n const prev = this._lastChild.prevSibling;\n this._size--;\n if (prev == null) {\n this._firstChild = this._lastChild = null;\n } else {\n prev.nextSibling = null;\n this._lastChild = prev;\n }\n return out;\n }\n\n popFront(): V {\n if (this._firstChild == null) {\n throw new Error(\"No children\");\n }\n const out = this._firstChild;\n const next = this._firstChild.nextSibling;\n this._size--;\n if (next == null) {\n this._firstChild = this._lastChild = null;\n } else {\n next.prevSibling = null;\n this._firstChild = next;\n }\n return out;\n }\n\n add(child: V, before: Nullable<V> = null): this {\n this._size++;\n if (this._firstChild == null || this._lastChild == null) {\n this._firstChild = this._lastChild = child;\n } else if (before == null) {\n child.prevSibling = this._lastChild;\n child.nextSibling = null;\n this._lastChild.nextSibling = child;\n this._lastChild = child;\n } else if (before == this._firstChild) {\n child.nextSibling = before;\n child.prevSibling = null;\n this._firstChild.prevSibling = child;\n this._firstChild = child;\n } else {\n const next = before.nextSibling;\n const prev = before.prevSibling;\n child.nextSibling = next;\n child.prevSibling = prev;\n if (next != null) {\n next.prevSibling = child;\n }\n if (prev != null) {\n prev.nextSibling = child;\n }\n }\n return this;\n }\n\n pushFront(value: V): this {\n return this.add(value, this._firstChild);\n }\n\n push(value: V): this {\n return this.add(value);\n }\n}\n\n/**\n * A list implementation where the values themselves need to be wrapper in a list node.\n * If values already have sibling node properties they can be direclty used via ValueLists.\n */\nexport class List<V> {\n private container: ValueList<MutableListNode<V>>;\n\n constructor(...values: V[]) {\n this.container = new ValueList<MutableListNode<V>>();\n for (const v of values) this.push(v);\n }\n\n toJSON(): V[] {\n return Array.from(this.values());\n }\n\n forEach(method: (val: V) => boolean | any): number {\n return this.container.forEach((v) => method(v.value));\n }\n\n equals(another: List<V>, eqlFunc: (val1: V, val2: V) => boolean): boolean {\n return this.container.equals(another.container, (a, b) => eqlFunc(a.value, b.value));\n }\n\n get isEmpty(): boolean {\n return this.container.isEmpty;\n }\n\n get size(): number {\n return this.container.size;\n }\n\n get first(): Nullable<MutableListNode<V>> {\n return this.container.first;\n }\n\n get last(): Nullable<MutableListNode<V>> {\n return this.container.last;\n }\n\n /**\n * Generator of values in reverse order.\n */\n *reversedValues(): Generator<V> {\n for (const v of this.container.reversedValues()) yield v.value;\n }\n\n /**\n * Generator of values in forward order.\n */\n *values(): Generator<V> {\n for (const v of this.container.values()) yield v.value;\n }\n\n popBack(): V {\n return this.container.popBack().value;\n }\n\n popFront(): V {\n return this.container.popFront().value;\n }\n\n pushFront(value: V): this {\n return this.add(value, this.container.first);\n }\n\n push(value: V): this {\n return this.add(value);\n }\n\n add(child: V, before: Nullable<MutableListNode<V>> = null): this {\n this.container.add(new MutableListNode(child), before);\n return this;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/misc.ts"],"names":[],"mappings":"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","sourcesContent":["export function encodeAs(value: number, alphabet: string): string {\n let out = \"\";\n const nDig = alphabet.length;\n while (value > 0) {\n const digit = value % nDig;\n out = alphabet[digit] + out;\n value = Math.floor(value / nDig);\n }\n return out;\n}\n\nexport function dictGet(dict: any, key: string, onmissing: any | ((key: string) => any)): any {\n if (!(key in dict)) {\n if (typeof onmissing === \"function\") return onmissing(key);\n else return onmissing;\n }\n return dict[key];\n}\n\nexport function ifDefined(value: any, elseVal = null): any {\n return typeof value === \"undefined\" ? elseVal : value;\n}\n\nexport function stripQuotes(str: string): string {\n str = str.trim();\n if (str.startsWith('\"')) str = str.substring(1);\n if (str.endsWith('\"')) str = str.substring(0, str.length - 1);\n return str;\n}\n\nexport function trimmedSplit(value: string | null, delimiter: string): string[] {\n if (value == null) return [];\n return (value || \"\")\n .split(delimiter)\n .map((v) => v.trim())\n .filter((v) => v.length > 0);\n}\n\nexport function ArrayTimesN<T = number>(count: number, value: T): T[] {\n const out: T[] = [];\n for (let i = 0; i < count; i++) {\n out.push(value);\n }\n return out;\n}\n\nexport function firstIndexOf<T>(\n items: ReadonlyArray<T>,\n cmpFunc: (t: T) => boolean,\n startIndex = 0,\n ensure = false,\n): number {\n for (let i = startIndex; i < items.length; i++) {\n if (cmpFunc(items[i])) return i;\n }\n if (ensure) {\n throw new Error(\"Matching item not found\");\n }\n return -1;\n}\n\nexport const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key: any, value: any) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n }\n return value;\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"numberutils.js","sourceRoot":"","sources":["../../src/numberutils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numberutils.js","sourceRoot":"","sources":["../../src/numberutils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\n\nexport function range(start: number, end: Nullable<number> = null, incr: Nullable<number> = 1): number[] {\n if (end == null) {\n const absStart = Math.abs(start);\n const arr = Array.from({ length: absStart });\n if (start >= 0) {\n return arr.map((x, i) => i);\n } else {\n return arr.map((x, i) => i - (absStart - 1));\n }\n }\n const out: number[] = [];\n if (incr == null) {\n incr = 1;\n }\n incr = Math.abs(incr);\n if (start !== end) {\n if (start < end) {\n for (let i = start; i <= end; i += incr) {\n out.push(i);\n }\n } else {\n for (let i = start; i >= end; i -= incr) {\n out.push(i);\n }\n }\n }\n return out;\n}\n\n/*\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n*/\n\nexport function gcdof(x: number, y: number): number {\n x = Math.abs(x);\n y = Math.abs(y);\n while (y > 0) {\n const t = y;\n y = x % y;\n x = t;\n }\n return x;\n}\n\nexport class Fraction {\n readonly num: number;\n readonly den: number;\n\n static readonly ZERO = new Fraction();\n static readonly ONE = new Fraction(1, 1);\n static readonly INFINITY = new Fraction(1, 0);\n\n constructor(num = 0, den = 1) {\n if (isNaN(num) || isNaN(den)) {\n throw new Error(\"Invalid numerator or denminator\");\n }\n this.num = num;\n this.den = den;\n }\n\n get isWhole(): boolean {\n return this.num % this.den == 0;\n }\n\n get isZero(): boolean {\n return this.num == 0;\n }\n\n get isInfinity(): boolean {\n return this.den == 0;\n }\n\n get isOne(): boolean {\n return this.num == this.den;\n }\n\n get ceil(): number {\n if (this.num % this.den == 0) {\n return this.num / this.den;\n } else {\n return 1 + Math.floor(this.num / this.den);\n }\n }\n\n get floor(): number {\n if (this.num % this.den == 0) {\n return this.num / this.den;\n } else {\n return Math.floor(this.num / this.den);\n }\n }\n\n plus(another: Fraction): Fraction {\n return new Fraction(this.num * another.den + this.den * another.num, this.den * another.den);\n }\n\n plusNum(another: number): Fraction {\n return new Fraction(this.num + this.den * another, this.den);\n }\n\n minus(another: Fraction): Fraction {\n return new Fraction(this.num * another.den - this.den * another.num, this.den * another.den);\n }\n\n minusNum(another: number): Fraction {\n return new Fraction(this.num - this.den * another, this.den);\n }\n\n times(another: Fraction): Fraction {\n return new Fraction(this.num * another.num, this.den * another.den);\n }\n\n timesNum(another: number): Fraction {\n return new Fraction(this.num * another, this.den);\n }\n\n divby(another: Fraction): Fraction {\n return new Fraction(this.num * another.den, this.den * another.num);\n }\n\n divbyNum(another: number): Fraction {\n return new Fraction(this.num, this.den * another);\n }\n\n /**\n * Returns another / this.\n */\n numDivby(another: number): Fraction {\n return new Fraction(this.den * another, this.num);\n }\n\n /**\n * Returns this % another\n */\n mod(another: Fraction): Fraction {\n // a (mod b) = a − b ⌊a / b⌋\n const d = this.divby(another);\n const floorOfD = Math.floor(d.num / d.den);\n return this.minus(another.timesNum(floorOfD));\n }\n\n /*\n * Returns this % another\n */\n modNum(another: number): Fraction {\n // a (mod b) = a − b ⌊a / b⌋\n const d = this.divbyNum(another);\n const floorOfD = Math.floor(d.num / d.den);\n return this.minusNum(another * floorOfD);\n }\n\n get inverse(): Fraction {\n return new Fraction(this.den, this.num);\n }\n\n get factorized(): Fraction {\n const gcd = gcdof(this.num, this.den);\n return new Fraction(this.num / gcd, this.den / gcd);\n }\n\n equals(another: Fraction): boolean {\n return this.num * another.den == this.den * another.num;\n }\n\n equalsNum(another: number): boolean {\n return this.num == this.den * another;\n }\n\n cmp(another: Fraction): number {\n return this.num * another.den - this.den * another.num;\n }\n\n cmpNum(another: number): number {\n return this.num - this.den * another;\n }\n\n isLT(another: Fraction): boolean {\n return this.cmp(another) < 0;\n }\n\n isLTE(another: Fraction): boolean {\n return this.cmp(another) <= 0;\n }\n\n isLTNum(another: number): boolean {\n return this.cmpNum(another) < 0;\n }\n\n isLTENum(another: number): boolean {\n return this.cmpNum(another) <= 0;\n }\n\n isGT(another: Fraction): boolean {\n return this.cmp(another) > 0;\n }\n\n isGTE(another: Fraction): boolean {\n return this.cmp(another) >= 0;\n }\n\n isGTNum(another: number): boolean {\n return this.cmpNum(another) > 0;\n }\n\n isGTENum(another: number): boolean {\n return this.cmpNum(another) >= 0;\n }\n\n toString(): string {\n return this.num + \"/\" + this.den;\n }\n\n static max(f1: Fraction, f2: Fraction): Fraction {\n return f1.cmp(f2) > 0 ? f1 : f2;\n }\n\n static min(f1: Fraction, f2: Fraction): Fraction {\n return f1.cmp(f2) < 0 ? f1 : f2;\n }\n}\n\n// Shortcut helper\nexport const Frac = (a = 0, b = 1): Fraction => new Fraction(a, b);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/properties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,OAAO,cAAc;IASzB,YAAY,IAAY,EAAE,MAAW;QAN9B,UAAK,GAAG,EAAE,CAAC;QACX,iBAAY,GAAQ,IAAI,CAAC;QACzB,aAAQ,GAAqB,IAAI,CAAC;QAClC,aAAQ,GAAqB,IAAI,CAAC;QAClC,qBAAgB,GAAqB,IAAI,CAAC;QAG/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEpE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAMD,MAAM,OAAO,QAAQ;IAMnB,YAAY,MAAsB;QAH3B,iBAAY,GAAQ,IAAI,CAAC;QACzB,qBAAgB,GAAQ,IAAI,CAAC;QAGlC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,QAAa,EAAE,KAAU;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACxC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;gBACjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAChE,IAAI,gBAAgB,IAAI,IAAI,EAAE;oBAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBACvF;gBACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;gBAEzC,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAA1B;QAIW,mBAAc,GAAgC,EAAE,CAAC;QAElD,aAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAwB5C,CAAC;IAtBC,gBAAgB;QAEd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,IAAY;QACrB,IAAY,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAU;QAClC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACnC,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAW,EAAE,EAAE;IAChD,OAAO,KAAM,SAAQ,MAAM;QAApB;;YAII,mBAAc,GAAgC,EAAE,CAAC;QAe5D,CAAC;QAbC,aAAa;YACX,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,WAAW,CAAC,IAAY;YACtB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,WAAW,CAAC,IAAY,EAAE,KAAU;YAClC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACjD;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAWF,SAAS,cAAc,CACrB,MAAsB,EACtB,QAAa,EACb,WAAmB,EACnB,cAAc,GAAG,gBAAgB;IAEjC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,6BAA6B,CAAC,CAAC;KACjF;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,WAAW,IAAI,aAAa,EAAE;QAChC,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;KACnC;IACD,MAAM,QAAQ,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AASD,MAAM,UAAU,QAAQ,CAAI,EAC1B,cAAc,GAAG,gBAAgB,EACjC,YAAY,GAAG,IAAI,EACnB,gBAAgB,GAAG,IAAI,EACvB,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,MACM,EAAE;IACvB,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;SAC3B;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE;YAChD,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,gBAAgB;YAClC,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,IAAI,WAAW,IAAI,eAAe,EAAE;SAEnC;QACD,eAAe,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QAEzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG;gBACD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC9E,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YACD,GAAG,CAAC,QAAa;gBACf,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC9E,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,YAAoB,EAAE,cAAc,GAAG,gBAAgB;IAC1F,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;IAGjF,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../src/properties.ts"],"names":[],"mappings":"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","sourcesContent":["import { Nullable } from \"./types\";\nimport { EventBus } from \"./comms/bus\";\nimport { ifDefined } from \"./misc\";\n\nexport class PropertySchema {\n // Name of the property\n public name: string;\n public units = \"\";\n public defaultValue: any = null;\n public minValue: Nullable<number> = null;\n public maxValue: Nullable<number> = null;\n public beforeSetterName: Nullable<string> = null;\n\n constructor(name: string, config: any) {\n this.name = name;\n this.beforeSetterName = ifDefined(config.beforeSetterName);\n this.units = ifDefined(config.units);\n this.defaultValue = ifDefined(config.defaultValue);\n this.minValue = ifDefined(config.minValue);\n this.maxValue = ifDefined(config.maxValue);\n }\n\n validate(newValue: number): boolean {\n if (this.minValue != null && newValue < this.minValue) return false;\n if (this.maxValue != null && newValue > this.maxValue) return false;\n // TODO - other validations\n return true;\n }\n}\n\n/**\n * Proprties are values required to fully resolve a component.\n * Like disk needs seek latency or capacity.\n */\nexport class Property {\n // Value of the property\n readonly schema: PropertySchema;\n public currentValue: any = null;\n public beforeSetterFunc: any = null;\n\n constructor(schema: PropertySchema) {\n this.schema = schema;\n }\n\n clone(): Property {\n const out = new Property(this.schema);\n out.currentValue = this.currentValue;\n return out;\n }\n\n get value() {\n return this.currentValue;\n }\n\n setValue(instance: any, value: any): boolean {\n if (this.schema.beforeSetterName != null) {\n if (this.beforeSetterFunc == null) {\n const beforeSetterFunc = instance[this.schema.beforeSetterName];\n if (beforeSetterFunc == null) {\n throw new Error(\"Cannot find beforeSetter function: \" + this.schema.beforeSetterName);\n }\n this.beforeSetterFunc = beforeSetterFunc.bind(instance);\n }\n if (this.beforeSetterFunc(value) == false) {\n // validation failed\n return false;\n }\n }\n if (!this.schema.validate(value)) {\n return false;\n }\n this.currentValue = value;\n return true;\n }\n}\n\nexport class PropertyStore {\n /**\n * The properties for this Element\n */\n readonly __properties__: { [key: string]: Property } = {};\n\n private eventBus = EventBus.getInstance();\n\n getPropertyNames(): string[] {\n // return Object.keys((this.constructor as any).__properties__);\n return Object.keys(this.__properties__);\n }\n\n getProperty(name: string): Nullable<Property> {\n (this as any)[name];\n return this.__properties__[name] || null;\n }\n\n setProperty(name: string, value: any): void {\n if (this.__properties__[name]) {\n const old = this.__properties__[name].value;\n this.__properties__[name].setValue(this, value);\n // TODO: Maybe need a fully qualified name here.\n this.eventBus.emit(\"PropertyChange\", {\n name: name,\n old: old,\n current: value,\n });\n }\n }\n}\n\nexport const mixinPropertyStore = (target: any) => {\n return class extends target {\n /**\n * The properties for this Element\n */\n readonly __properties__: { [key: string]: Property } = {};\n\n getProperties(): { [key: string]: Property } {\n return this.__properties__;\n }\n\n getProperty(name: string): Property {\n return this.__properties__[name];\n }\n\n setProperty(name: string, value: any): void {\n if (this.__properties__[name]) {\n this.__properties__[name].setValue(this, value);\n }\n }\n };\n};\n\ninterface PropertyParams<T> {\n defaultValue?: Nullable<T>;\n propertiesName?: string;\n beforeSetterName?: Nullable<string>;\n units?: string;\n minValue?: Nullable<number>;\n maxValue?: Nullable<number>;\n}\n\nfunction ensureProperty<T>(\n schema: PropertySchema,\n instance: any,\n propertyKey: string,\n propertiesName = \"__properties__\",\n): Property {\n if (!instance[propertiesName]) {\n throw new Error(`Property store (${propertiesName}) does not exist in target.`);\n }\n const propertiesMap = instance[propertiesName];\n if (propertyKey in propertiesMap) {\n return propertiesMap[propertyKey];\n }\n const property = (propertiesMap[propertyKey] = new Property(schema));\n property.setValue(instance, schema.defaultValue);\n return property;\n}\n\n/**\n * property is a decorator factory. It returns a decorator that can be applied to a property.\n * This decorator allows us to have some properties of an Element be treated specially (so it\n * can be reflected, configured/enumerated via UI). This decorator in a way makes our Element\n * attributes metadata-able so we dont have to duplicate a property object and an attribute\n * manually.\n */\nexport function property<T>({\n propertiesName = \"__properties__\",\n defaultValue = null,\n beforeSetterName = null,\n units = \"\",\n minValue = null,\n maxValue = null,\n}: PropertyParams<T> = {}) {\n return function (target: any, propertyKey: string) {\n const root = target; // .constructor;\n if (!(propertiesName in root)) {\n root[propertiesName] = {};\n }\n const propertySchemas = root[propertiesName];\n const newSchema = new PropertySchema(propertyKey, {\n units: units,\n beforeSetterName: beforeSetterName,\n defaultValue: defaultValue,\n minValue: minValue,\n maxValue: maxValue,\n });\n if (propertyKey in propertySchemas) {\n // throw new Error(\"Duplicate property: \" + propertyKey);\n }\n propertySchemas[propertyKey] = newSchema;\n\n Object.defineProperty(target, propertyKey, {\n get() {\n const property = ensureProperty(newSchema, this, propertyKey, propertiesName);\n return property.value;\n },\n set(newValue: any) {\n const property = ensureProperty(newSchema, this, propertyKey, propertiesName);\n property.setValue(this, newValue);\n },\n enumerable: true,\n configurable: false,\n });\n };\n}\n\nexport function propertyValidator<T>(propertyName: string, propertiesName = \"__properties__\") {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n // const property = ensureProperty(this, propertyKey, null, propertiesName);\n // property.setValue(\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,CAAC,CAAC,WAAW,CAAI,GAAqB;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,UAAU,CAA+B,IAAS;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,CAAC,GAAQ,EAAE,IAAI,CAAC,GAAG,CAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,SAAS,CAAO,MAAoB,EAAE,MAAmC;IACxF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,YAAY,CAAI,MAAoB,EAAE,UAA8C;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,SAA4C,EAC5C,UAAa;IAEb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,CAAC,CAAC,WAAW,CAAI,GAAqB;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAM,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,UAAU,CAA+B,IAAS;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,CAAC,GAAQ,EAAE,IAAI,CAAC,GAAG,CAAM,CAAC,CAAC;KAClC;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,SAAS,CAAO,MAAoB,EAAE,MAAmC;IACxF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,YAAY,CAAI,MAAoB,EAAE,UAA8C;IACnG,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC;aAClB;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,CAAC,EAAE,CAAC;KACL;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAoB,EACpB,SAA4C,EAC5C,UAAa;IAEb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;QAC/D,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["export function* streamArray<V>(arr: ReadonlyArray<V>): Generator<[number, V]> {\n for (let i = 0; i < arr.length; i++) {\n yield [i, arr[i] as V];\n }\n}\n\nexport function* streamDict<K extends string | number, V>(dict: any): Generator<[K, V]> {\n for (const key in dict) {\n yield [key as K, dict[key] as V];\n }\n}\n\nexport function* mapStream<X, Y>(stream: Generator<X>, mapper: (x: X, index?: number) => Y): Generator<Y> {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n yield mapper(next.value, i);\n i++;\n }\n}\n\nexport function* filterStream<X>(stream: Generator<X>, filterFunc?: (x: X, index?: number) => boolean): Generator<X> {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n if (filterFunc) {\n if (filterFunc(next.value, i)) {\n yield next.value;\n }\n } else if (next.value) {\n yield next.value;\n }\n i++;\n }\n}\n\nexport function collectStream<X, Y>(\n stream: Generator<X>,\n collector: (x: X, y: Y, index?: number) => Y,\n collection: Y,\n): Y {\n let i = 0;\n for (let next = stream.next(); !next.done; next = stream.next()) {\n collection = collector(next.value, collection, i);\n i++;\n }\n return collection;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"timeutils.js","sourceRoot":"","sources":["../../src/timeutils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AAMtC,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,QAAQ,GAAG,GAAG,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,MAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"timeutils.js","sourceRoot":"","sources":["../../src/timeutils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AAMtC,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,QAAQ,GAAG,GAAG,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,OAAO,GAAG,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,MAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;KACzB;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import { Nullable } from \"./types\";\n\nexport const ONE_MUS = 1000;\nexport const ONE_MS = 1000000;\nexport const ONE_SEC = 1000000000;\nexport const ONE_MIN = 60000000000;\nexport const ONE_HOUR = 3600000000000;\n\nexport interface Diagnostics {\n notifyTimeTaken(time: number, label: string, source: any): void;\n}\n\nexport function Hours(val: number): number {\n return ONE_HOUR * val;\n}\n\nexport function Minutes(val: number): number {\n return ONE_MIN * val;\n}\n\nexport function Seconds(val: number): number {\n return ONE_SEC * val;\n}\n\nexport function Micros(val: number): number {\n return ONE_MUS * val;\n}\n\nexport function Millis(val: number): number {\n return ONE_MS * val;\n}\n\nexport function StrToDuration(value: string): number {\n value = value.toLowerCase();\n const intValue = parseInt(value);\n if (value.endsWith(\"ms\")) {\n return Millis(intValue);\n } else if (value.endsWith(\"mus\")) {\n return Micros(intValue);\n } else if (value.endsWith(\"s\")) {\n return Seconds(intValue);\n }\n return intValue;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,GAAY;IACrD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;KACtB;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,GAAY;IACrD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;KACtB;AACH,CAAC","sourcesContent":["export type Timestamp = number;\nexport type NumberRange = [number, number];\n\nexport type StringMap<T> = { [key: string]: T };\nexport type NumMap<T> = { [key: number]: T };\nexport type Nullable<T> = T | null;\n\nexport type Undefined<T> = T | undefined | void;\n\nexport function assert(condition: boolean, msg?: string): asserts condition {\n if (!condition) {\n throw new Error(msg);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panyam/tsutils",
3
- "version": "0.0.51",
3
+ "version": "0.0.55",
4
4
  "author": "Sriram Panyam",
5
5
  "description": "Some basic TS utils for personal use",
6
6
  "homepage": "https://github.com/panyam/tsutils#readme",