@milaboratories/pl-model-common 1.28.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bmodel/block_config.d.ts +1 -0
- package/dist/bmodel/code.d.ts +1 -0
- package/dist/driver_kit.d.ts +1 -1
- package/dist/drivers/index.d.ts +6 -6
- package/dist/drivers/index.js +1 -1
- package/dist/drivers/pframe/driver.cjs.map +1 -1
- package/dist/drivers/pframe/driver.d.ts +13 -5
- package/dist/drivers/pframe/driver.js.map +1 -1
- package/dist/drivers/pframe/index.d.ts +6 -5
- package/dist/drivers/pframe/index.js +1 -1
- package/dist/drivers/pframe/pframe.d.ts +2 -2
- package/dist/drivers/pframe/query/query_common.d.ts +2 -2
- package/dist/drivers/pframe/query/query_data.d.ts +1 -1
- package/dist/drivers/pframe/query/query_spec.d.ts +2 -2
- package/dist/drivers/pframe/spec/ids.d.ts +2 -2
- package/dist/drivers/pframe/spec/index.d.ts +1 -1
- package/dist/drivers/pframe/spec/index.js +1 -1
- package/dist/drivers/pframe/spec/selectors.d.ts +1 -1
- package/dist/drivers/pframe/spec/spec.cjs +14 -1
- package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
- package/dist/drivers/pframe/spec/spec.d.ts +9 -3
- package/dist/drivers/pframe/spec/spec.js +14 -2
- package/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/drivers/{pspec.d.ts → pframe/spec_driver.d.ts} +61 -16
- package/dist/drivers/pframe/table_calculate.d.ts +2 -2
- package/dist/drivers/pframe/table_common.d.ts +1 -1
- package/dist/drivers/pframe/unique_values.d.ts +2 -2
- package/dist/errors.cjs +56 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +29 -1
- package/dist/errors.js +43 -1
- package/dist/errors.js.map +1 -1
- package/dist/flags/block_flags.cjs.map +1 -1
- package/dist/flags/block_flags.d.ts +4 -1
- package/dist/flags/block_flags.js.map +1 -1
- package/dist/flags/flag_utils.d.ts +1 -1
- package/dist/flags/index.d.ts +3 -0
- package/dist/index.cjs +40 -0
- package/dist/index.d.ts +30 -21
- package/dist/index.js +11 -3
- package/dist/pool/query.d.ts +1 -1
- package/dist/pool_entry.cjs +30 -0
- package/dist/pool_entry.cjs.map +1 -0
- package/dist/pool_entry.d.ts +30 -0
- package/dist/pool_entry.js +29 -0
- package/dist/pool_entry.js.map +1 -0
- package/dist/services/index.cjs +6 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.js +6 -0
- package/dist/services/service_capabilities.cjs +51 -0
- package/dist/services/service_capabilities.cjs.map +1 -0
- package/dist/services/service_capabilities.d.ts +33 -0
- package/dist/services/service_capabilities.js +46 -0
- package/dist/services/service_capabilities.js.map +1 -0
- package/dist/services/service_declarations.cjs +17 -0
- package/dist/services/service_declarations.cjs.map +1 -0
- package/dist/services/service_declarations.d.ts +16 -0
- package/dist/services/service_declarations.js +17 -0
- package/dist/services/service_declarations.js.map +1 -0
- package/dist/services/service_injector_factory.cjs +19 -0
- package/dist/services/service_injector_factory.cjs.map +1 -0
- package/dist/services/service_injector_factory.d.ts +8 -0
- package/dist/services/service_injector_factory.js +18 -0
- package/dist/services/service_injector_factory.js.map +1 -0
- package/dist/services/service_injectors.cjs +48 -0
- package/dist/services/service_injectors.cjs.map +1 -0
- package/dist/services/service_injectors.d.ts +23 -0
- package/dist/services/service_injectors.js +46 -0
- package/dist/services/service_injectors.js.map +1 -0
- package/dist/services/service_registry.cjs +52 -0
- package/dist/services/service_registry.cjs.map +1 -0
- package/dist/services/service_registry.d.ts +25 -0
- package/dist/services/service_registry.js +51 -0
- package/dist/services/service_registry.js.map +1 -0
- package/dist/services/service_types.cjs +30 -0
- package/dist/services/service_types.cjs.map +1 -0
- package/dist/services/service_types.d.ts +45 -0
- package/dist/services/service_types.js +28 -0
- package/dist/services/service_types.js.map +1 -0
- package/package.json +5 -5
- package/src/drivers/index.ts +0 -1
- package/src/drivers/pframe/driver.ts +11 -1
- package/src/drivers/pframe/index.ts +1 -0
- package/src/drivers/pframe/spec/spec.ts +18 -4
- package/src/drivers/{pspec.ts → pframe/spec_driver.ts} +75 -17
- package/src/errors.ts +61 -0
- package/src/flags/block_flags.ts +5 -2
- package/src/index.ts +2 -0
- package/src/pool_entry.ts +42 -0
- package/src/services/index.ts +5 -0
- package/src/services/service_capabilities.test.ts +119 -0
- package/src/services/service_capabilities.ts +64 -0
- package/src/services/service_declarations.ts +25 -0
- package/src/services/service_injector_factory.ts +27 -0
- package/src/services/service_injectors.ts +79 -0
- package/src/services/service_registry.test.ts +69 -0
- package/src/services/service_registry.ts +94 -0
- package/src/services/service_types.ts +114 -0
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * Just for convenience, usually it is an Error with name 'AbortError'\n */\nexport class AbortError extends Error {\n name = \"AbortError\";\n}\n\n/**\n * Throw this to show a message without stack trace in UI\n */\nexport class UiError extends Error {\n name = \"UiError\";\n}\n\nexport function isAbortError(error: unknown): error is Error & { name: \"AbortError\" } {\n return error instanceof Error && error.name === \"AbortError\";\n}\n\nexport function hasAbortError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n\n return error.name === \"AbortError\" || hasAbortError(error.cause);\n}\n\nexport function isAggregateError(error: unknown): error is AggregateError {\n return error instanceof Error && error.name === \"AggregateError\";\n}\n\nexport class PFrameError extends Error {\n name = \"PFrameError\";\n}\n\nexport function isPFrameError(error: unknown): error is PFrameError {\n return error instanceof Error && error.name === \"PFrameError\";\n}\n\nexport class PFrameDriverError extends PFrameError {\n name = \"PFrameError.Driver\";\n}\n\nexport function isPFrameDriverError(error: unknown): error is PFrameDriverError {\n return error instanceof Error && error.name === \"PFrameError.Driver\";\n}\n\nfunction stringifyValue(value: unknown): string {\n if (typeof value === \"string\") {\n return `String value was thrown: ${value}`;\n }\n\n if (value && typeof value === \"object\") {\n try {\n return `Plain object was thrown: ${JSON.stringify(value)}`;\n } catch (jsonError) {\n const errorMessage = jsonError instanceof Error ? jsonError.message : String(jsonError);\n return `Non-serializable object was thrown (JSON.stringify failed: ${errorMessage}): ${String(value)}`;\n }\n }\n\n return String(`Non-Error value (${typeof value}) was thrown: ${value}`);\n}\n\nexport function ensureError(value: unknown): Error {\n if (value instanceof Error) {\n return value;\n }\n\n return new Error(stringifyValue(value));\n}\n\n// Error serialization for IPC/network transmission (Error objects can't be JSON serialized)\n\nexport type SerializedError = {\n name: string;\n message: string;\n stack: string | undefined;\n cause?: SerializedError;\n};\n\nexport function deserializeError(obj: SerializedError): Error {\n const cause = obj.cause ? deserializeError(obj.cause) : undefined;\n\n const error = new Error(obj.message, cause !== undefined ? { cause } : undefined);\n error.name = obj.name || \"Error\";\n error.stack = obj.stack;\n\n return error;\n}\n\nexport function serializeError(e: unknown): SerializedError {\n const error = ensureError(e);\n const cause = error.cause ? serializeError(error.cause) : undefined;\n\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n ...(error.cause !== undefined && { cause }),\n };\n}\n\nexport type ResultOrError<S, F = Error> =\n | {\n value: S;\n error?: undefined;\n }\n | {\n error: F;\n };\n\nexport function unwrapResult<T>(result: ResultOrError<T, Error | SerializedError>): T {\n if (result.error) {\n throw result.error instanceof Error ? result.error : deserializeError(result.error);\n }\n return result.value;\n}\n\nexport function serializeResult<T>(result: ResultOrError<T>): ResultOrError<T, SerializedError> {\n if (result.error) {\n return { error: serializeError(result.error) };\n }\n return { value: result.value };\n}\n\nexport function deserializeResult<T>(result: ResultOrError<T, SerializedError>): ResultOrError<T> {\n if (result.error) {\n return { error: deserializeError(result.error) };\n }\n return { value: result.value };\n}\n\nexport function wrapCallback<T>(callback: () => T): ResultOrError<T> {\n try {\n const value = callback();\n return { value };\n } catch (error) {\n return { error: ensureError(error) };\n }\n}\n\nexport async function wrapAsyncCallback<T>(callback: () => Promise<T>): Promise<ResultOrError<T>> {\n try {\n const value = await callback();\n return { value };\n } catch (error) {\n return { error: ensureError(error) };\n }\n}\n\nexport function wrapAndSerialize<T>(callback: () => T): ResultOrError<T, SerializedError> {\n const result = wrapCallback(callback);\n return serializeResult(result);\n}\n\nexport async function wrapAndSerializeAsync<T>(\n callback: () => Promise<T>,\n): Promise<ResultOrError<T, SerializedError>> {\n const result = await wrapAsyncCallback(callback);\n return serializeResult(result);\n}\n"],"mappings":";;;;AAGA,IAAa,aAAb,cAAgC,MAAM;CACpC,OAAO;;;;;AAMT,IAAa,UAAb,cAA6B,MAAM;CACjC,OAAO;;AAGT,SAAgB,aAAa,OAAyD;AACpF,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,SAAgB,cAAc,OAAyB;AACrD,KAAI,EAAE,iBAAiB,OACrB,QAAO;AAGT,QAAO,MAAM,SAAS,gBAAgB,cAAc,MAAM,MAAM;;AAGlE,SAAgB,iBAAiB,OAAyC;AACxE,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,cAAb,cAAiC,MAAM;CACrC,OAAO;;AAGT,SAAgB,cAAc,OAAsC;AAClE,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,oBAAb,cAAuC,YAAY;CACjD,OAAO;;AAGT,SAAgB,oBAAoB,OAA4C;AAC9E,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,SAAS,eAAe,OAAwB;AAC9C,KAAI,OAAO,UAAU,SACnB,QAAO,4BAA4B;AAGrC,KAAI,SAAS,OAAO,UAAU,SAC5B,KAAI;AACF,SAAO,4BAA4B,KAAK,UAAU,MAAM;UACjD,WAAW;AAElB,SAAO,8DADc,qBAAqB,QAAQ,UAAU,UAAU,OAAO,UAAU,CACL,KAAK,OAAO,MAAM;;AAIxG,QAAO,OAAO,oBAAoB,OAAO,MAAM,gBAAgB,QAAQ;;AAGzE,SAAgB,YAAY,OAAuB;AACjD,KAAI,iBAAiB,MACnB,QAAO;AAGT,QAAO,IAAI,MAAM,eAAe,MAAM,CAAC;;AAYzC,SAAgB,iBAAiB,KAA6B;CAC5D,MAAM,QAAQ,IAAI,QAAQ,iBAAiB,IAAI,MAAM,GAAG;CAExD,MAAM,QAAQ,IAAI,MAAM,IAAI,SAAS,UAAU,SAAY,EAAE,OAAO,GAAG,OAAU;AACjF,OAAM,OAAO,IAAI,QAAQ;AACzB,OAAM,QAAQ,IAAI;AAElB,QAAO;;AAGT,SAAgB,eAAe,GAA6B;CAC1D,MAAM,QAAQ,YAAY,EAAE;CAC5B,MAAM,QAAQ,MAAM,QAAQ,eAAe,MAAM,MAAM,GAAG;AAE1D,QAAO;EACL,MAAM,MAAM;EACZ,SAAS,MAAM;EACf,OAAO,MAAM;EACb,GAAI,MAAM,UAAU,UAAa,EAAE,OAAO;EAC3C;;AAYH,SAAgB,aAAgB,QAAsD;AACpF,KAAI,OAAO,MACT,OAAM,OAAO,iBAAiB,QAAQ,OAAO,QAAQ,iBAAiB,OAAO,MAAM;AAErF,QAAO,OAAO;;AAGhB,SAAgB,gBAAmB,QAA6D;AAC9F,KAAI,OAAO,MACT,QAAO,EAAE,OAAO,eAAe,OAAO,MAAM,EAAE;AAEhD,QAAO,EAAE,OAAO,OAAO,OAAO;;AAGhC,SAAgB,kBAAqB,QAA6D;AAChG,KAAI,OAAO,MACT,QAAO,EAAE,OAAO,iBAAiB,OAAO,MAAM,EAAE;AAElD,QAAO,EAAE,OAAO,OAAO,OAAO;;AAGhC,SAAgB,aAAgB,UAAqC;AACnE,KAAI;AAEF,SAAO,EAAE,OADK,UAAU,EACR;UACT,OAAO;AACd,SAAO,EAAE,OAAO,YAAY,MAAM,EAAE;;;AAIxC,eAAsB,kBAAqB,UAAuD;AAChG,KAAI;AAEF,SAAO,EAAE,OADK,MAAM,UAAU,EACd;UACT,OAAO;AACd,SAAO,EAAE,OAAO,YAAY,MAAM,EAAE;;;AAIxC,SAAgB,iBAAoB,UAAsD;AAExF,QAAO,gBADQ,aAAa,SAAS,CACP;;AAGhC,eAAsB,sBACpB,UAC4C;AAE5C,QAAO,gBADQ,MAAM,kBAAkB,SAAS,CAClB"}
|
|
1
|
+
{"version":3,"file":"errors.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * Just for convenience, usually it is an Error with name 'AbortError'\n */\nexport class AbortError extends Error {\n name = \"AbortError\";\n}\n\n/**\n * Throw this to show a message without stack trace in UI\n */\nexport class UiError extends Error {\n name = \"UiError\";\n}\n\nexport function isAbortError(error: unknown): error is Error & { name: \"AbortError\" } {\n return error instanceof Error && error.name === \"AbortError\";\n}\n\nexport function hasAbortError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n\n return error.name === \"AbortError\" || hasAbortError(error.cause);\n}\n\nexport function isAggregateError(error: unknown): error is AggregateError {\n return error instanceof Error && error.name === \"AggregateError\";\n}\n\nexport class ServiceError extends Error {\n name = \"ServiceError\";\n}\n\nexport function isServiceError(error: unknown): error is ServiceError {\n return (\n error instanceof Error &&\n (error.name === \"ServiceError\" || error.name.startsWith(\"ServiceError.\"))\n );\n}\n\nexport class ServiceInvalidIdError extends ServiceError {\n name = \"ServiceError.InvalidId\";\n}\n\nexport function isServiceInvalidIdError(error: unknown): error is ServiceInvalidIdError {\n return error instanceof Error && error.name === \"ServiceError.InvalidId\";\n}\n\nexport class ServiceAlreadyRegisteredError extends ServiceError {\n name = \"ServiceError.AlreadyRegistered\";\n}\n\nexport function isServiceAlreadyRegisteredError(\n error: unknown,\n): error is ServiceAlreadyRegisteredError {\n return error instanceof Error && error.name === \"ServiceError.AlreadyRegistered\";\n}\n\nexport class ServiceInjectionError extends ServiceError {\n name = \"ServiceError.Injection\";\n}\n\nexport function isServiceInjectionError(error: unknown): error is ServiceInjectionError {\n return error instanceof Error && error.name === \"ServiceError.Injection\";\n}\n\nexport class ServiceNotRegisteredError extends ServiceError {\n name = \"ServiceError.NotRegistered\";\n}\n\nexport function isServiceNotRegisteredError(error: unknown): error is ServiceNotRegisteredError {\n return error instanceof Error && error.name === \"ServiceError.NotRegistered\";\n}\n\nexport class ServiceMethodNotFoundError extends ServiceError {\n name = \"ServiceError.MethodNotFound\";\n}\n\nexport function isServiceMethodNotFoundError(error: unknown): error is ServiceMethodNotFoundError {\n return error instanceof Error && error.name === \"ServiceError.MethodNotFound\";\n}\n\nexport class PFrameError extends Error {\n name = \"PFrameError\";\n}\n\nexport function isPFrameError(error: unknown): error is PFrameError {\n return error instanceof Error && error.name === \"PFrameError\";\n}\n\nexport class PFrameDriverError extends PFrameError {\n name = \"PFrameError.Driver\";\n}\n\nexport function isPFrameDriverError(error: unknown): error is PFrameDriverError {\n return error instanceof Error && error.name === \"PFrameError.Driver\";\n}\n\nexport class PFrameSpecDriverError extends PFrameError {\n name = \"PFrameError.SpecDriver\";\n}\n\nexport function isPFrameSpecDriverError(error: unknown): error is PFrameSpecDriverError {\n return error instanceof Error && error.name === \"PFrameError.SpecDriver\";\n}\n\nfunction stringifyValue(value: unknown): string {\n if (typeof value === \"string\") {\n return `String value was thrown: ${value}`;\n }\n\n if (value && typeof value === \"object\") {\n try {\n return `Plain object was thrown: ${JSON.stringify(value)}`;\n } catch (jsonError) {\n const errorMessage = jsonError instanceof Error ? jsonError.message : String(jsonError);\n return `Non-serializable object was thrown (JSON.stringify failed: ${errorMessage}): ${String(value)}`;\n }\n }\n\n return String(`Non-Error value (${typeof value}) was thrown: ${value}`);\n}\n\nexport function ensureError(value: unknown): Error {\n if (value instanceof Error) {\n return value;\n }\n\n return new Error(stringifyValue(value));\n}\n\n// Error serialization for IPC/network transmission (Error objects can't be JSON serialized)\n\nexport type SerializedError = {\n name: string;\n message: string;\n stack: string | undefined;\n cause?: SerializedError;\n};\n\nexport function deserializeError(obj: SerializedError): Error {\n const cause = obj.cause ? deserializeError(obj.cause) : undefined;\n\n const error = new Error(obj.message, cause !== undefined ? { cause } : undefined);\n error.name = obj.name || \"Error\";\n error.stack = obj.stack;\n\n return error;\n}\n\nexport function serializeError(e: unknown): SerializedError {\n const error = ensureError(e);\n const cause = error.cause ? serializeError(error.cause) : undefined;\n\n return {\n name: error.name,\n message: error.message,\n stack: error.stack,\n ...(error.cause !== undefined && { cause }),\n };\n}\n\nexport type ResultOrError<S, F = Error> =\n | {\n value: S;\n error?: undefined;\n }\n | {\n error: F;\n };\n\nexport function unwrapResult<T>(result: ResultOrError<T, Error | SerializedError>): T {\n if (result.error) {\n throw result.error instanceof Error ? result.error : deserializeError(result.error);\n }\n return result.value;\n}\n\nexport function serializeResult<T>(result: ResultOrError<T>): ResultOrError<T, SerializedError> {\n if (result.error) {\n return { error: serializeError(result.error) };\n }\n return { value: result.value };\n}\n\nexport function deserializeResult<T>(result: ResultOrError<T, SerializedError>): ResultOrError<T> {\n if (result.error) {\n return { error: deserializeError(result.error) };\n }\n return { value: result.value };\n}\n\nexport function wrapCallback<T>(callback: () => T): ResultOrError<T> {\n try {\n const value = callback();\n return { value };\n } catch (error) {\n return { error: ensureError(error) };\n }\n}\n\nexport async function wrapAsyncCallback<T>(callback: () => Promise<T>): Promise<ResultOrError<T>> {\n try {\n const value = await callback();\n return { value };\n } catch (error) {\n return { error: ensureError(error) };\n }\n}\n\nexport function wrapAndSerialize<T>(callback: () => T): ResultOrError<T, SerializedError> {\n const result = wrapCallback(callback);\n return serializeResult(result);\n}\n\nexport async function wrapAndSerializeAsync<T>(\n callback: () => Promise<T>,\n): Promise<ResultOrError<T, SerializedError>> {\n const result = await wrapAsyncCallback(callback);\n return serializeResult(result);\n}\n"],"mappings":";;;;AAGA,IAAa,aAAb,cAAgC,MAAM;CACpC,OAAO;;;;;AAMT,IAAa,UAAb,cAA6B,MAAM;CACjC,OAAO;;AAGT,SAAgB,aAAa,OAAyD;AACpF,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,SAAgB,cAAc,OAAyB;AACrD,KAAI,EAAE,iBAAiB,OACrB,QAAO;AAGT,QAAO,MAAM,SAAS,gBAAgB,cAAc,MAAM,MAAM;;AAGlE,SAAgB,iBAAiB,OAAyC;AACxE,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,eAAb,cAAkC,MAAM;CACtC,OAAO;;AAGT,SAAgB,eAAe,OAAuC;AACpE,QACE,iBAAiB,UAChB,MAAM,SAAS,kBAAkB,MAAM,KAAK,WAAW,gBAAgB;;AAI5E,IAAa,wBAAb,cAA2C,aAAa;CACtD,OAAO;;AAGT,SAAgB,wBAAwB,OAAgD;AACtF,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,gCAAb,cAAmD,aAAa;CAC9D,OAAO;;AAGT,SAAgB,gCACd,OACwC;AACxC,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,wBAAb,cAA2C,aAAa;CACtD,OAAO;;AAGT,SAAgB,wBAAwB,OAAgD;AACtF,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,4BAAb,cAA+C,aAAa;CAC1D,OAAO;;AAGT,SAAgB,4BAA4B,OAAoD;AAC9F,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,6BAAb,cAAgD,aAAa;CAC3D,OAAO;;AAGT,SAAgB,6BAA6B,OAAqD;AAChG,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,cAAb,cAAiC,MAAM;CACrC,OAAO;;AAGT,SAAgB,cAAc,OAAsC;AAClE,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,oBAAb,cAAuC,YAAY;CACjD,OAAO;;AAGT,SAAgB,oBAAoB,OAA4C;AAC9E,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,IAAa,wBAAb,cAA2C,YAAY;CACrD,OAAO;;AAGT,SAAgB,wBAAwB,OAAgD;AACtF,QAAO,iBAAiB,SAAS,MAAM,SAAS;;AAGlD,SAAS,eAAe,OAAwB;AAC9C,KAAI,OAAO,UAAU,SACnB,QAAO,4BAA4B;AAGrC,KAAI,SAAS,OAAO,UAAU,SAC5B,KAAI;AACF,SAAO,4BAA4B,KAAK,UAAU,MAAM;UACjD,WAAW;AAElB,SAAO,8DADc,qBAAqB,QAAQ,UAAU,UAAU,OAAO,UAAU,CACL,KAAK,OAAO,MAAM;;AAIxG,QAAO,OAAO,oBAAoB,OAAO,MAAM,gBAAgB,QAAQ;;AAGzE,SAAgB,YAAY,OAAuB;AACjD,KAAI,iBAAiB,MACnB,QAAO;AAGT,QAAO,IAAI,MAAM,eAAe,MAAM,CAAC;;AAYzC,SAAgB,iBAAiB,KAA6B;CAC5D,MAAM,QAAQ,IAAI,QAAQ,iBAAiB,IAAI,MAAM,GAAG;CAExD,MAAM,QAAQ,IAAI,MAAM,IAAI,SAAS,UAAU,SAAY,EAAE,OAAO,GAAG,OAAU;AACjF,OAAM,OAAO,IAAI,QAAQ;AACzB,OAAM,QAAQ,IAAI;AAElB,QAAO;;AAGT,SAAgB,eAAe,GAA6B;CAC1D,MAAM,QAAQ,YAAY,EAAE;CAC5B,MAAM,QAAQ,MAAM,QAAQ,eAAe,MAAM,MAAM,GAAG;AAE1D,QAAO;EACL,MAAM,MAAM;EACZ,SAAS,MAAM;EACf,OAAO,MAAM;EACb,GAAI,MAAM,UAAU,UAAa,EAAE,OAAO;EAC3C;;AAYH,SAAgB,aAAgB,QAAsD;AACpF,KAAI,OAAO,MACT,OAAM,OAAO,iBAAiB,QAAQ,OAAO,QAAQ,iBAAiB,OAAO,MAAM;AAErF,QAAO,OAAO;;AAGhB,SAAgB,gBAAmB,QAA6D;AAC9F,KAAI,OAAO,MACT,QAAO,EAAE,OAAO,eAAe,OAAO,MAAM,EAAE;AAEhD,QAAO,EAAE,OAAO,OAAO,OAAO;;AAGhC,SAAgB,kBAAqB,QAA6D;AAChG,KAAI,OAAO,MACT,QAAO,EAAE,OAAO,iBAAiB,OAAO,MAAM,EAAE;AAElD,QAAO,EAAE,OAAO,OAAO,OAAO;;AAGhC,SAAgB,aAAgB,UAAqC;AACnE,KAAI;AAEF,SAAO,EAAE,OADK,UAAU,EACR;UACT,OAAO;AACd,SAAO,EAAE,OAAO,YAAY,MAAM,EAAE;;;AAIxC,eAAsB,kBAAqB,UAAuD;AAChG,KAAI;AAEF,SAAO,EAAE,OADK,MAAM,UAAU,EACd;UACT,OAAO;AACd,SAAO,EAAE,OAAO,YAAY,MAAM,EAAE;;;AAIxC,SAAgB,iBAAoB,UAAsD;AAExF,QAAO,gBADQ,aAAa,SAAS,CACP;;AAGhC,eAAsB,sBACpB,UAC4C;AAE5C,QAAO,gBADQ,MAAM,kBAAkB,SAAS,CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_flags.cjs","names":[],"sources":["../../src/flags/block_flags.ts"],"sourcesContent":["import type { ArrayTypeUnion, Assert, Is, IsSubtypeOf } from \"./type_utils\";\n\n/**\n * Block-specific feature flags. Define flags that are interpreted by the desktop app to select\n * appropriate API to expose into Model and UI runtimes.\n *\n * Flags are split into two categories:\n * - supports... - those flags tells the desktop app that the block supports certain APIs, but can without them as well\n * - requires... - those flags tells the desktop app that the block requires certain APIs, and if desktop app doesn't support it, it can't be used in the block\n */\nexport type BlockCodeFeatureFlags = Record<`supports${string}`, boolean | number | undefined> &\n Record<`requires${string}`, boolean | number | undefined>;\n\n/**\n * Known block flags. Flags are set during model compilation, see `BlockModel.create` for more details and for initial values.\n */\nexport type BlockCodeKnownFeatureFlags = {\n readonly supportsLazyState?: boolean;\n readonly supportsPframeQueryRanking?: boolean;\n readonly requiresModelAPIVersion?: number;\n readonly requiresUIAPIVersion?: number;\n readonly requiresCreatePTable?: number;\n};\n\nexport const AllSupportsFeatureFlags = [\"supportsLazyState\", \"supportsPframeQueryRanking\"] as const;\n\nexport const AllRequiresFeatureFlags = [\n \"requiresUIAPIVersion\",\n \"requiresCreatePTable\",\n \"requiresModelAPIVersion\",\n] as const;\n\n//\n// Assertions\n//\n\n// This assertion ensures that BlockConfigV3KnownFeatureFlags is a subtype of BlockConfigV3FeatureFlags.\n// It will produce a compile-time error if there's a mismatch.\ntype _KnownFlagsAreValidFlags = Assert<\n IsSubtypeOf<BlockCodeKnownFeatureFlags, BlockCodeFeatureFlags>\n>;\n\n// This check ensures that all keys in BlockConfigV3FeatureFlags are covered in the arrays above.\n// It will produce a compile-time error if there's a mismatch.\ntype _AllFlagsAreCovered = Assert<\n Is<\n keyof BlockCodeKnownFeatureFlags,\n ArrayTypeUnion<typeof AllRequiresFeatureFlags, typeof AllSupportsFeatureFlags>\n >\n>;\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"block_flags.cjs","names":[],"sources":["../../src/flags/block_flags.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"../services\";\nimport type { ArrayTypeUnion, Assert, Is, IsSubtypeOf } from \"./type_utils\";\n\n/**\n * Block-specific feature flags. Define flags that are interpreted by the desktop app to select\n * appropriate API to expose into Model and UI runtimes.\n *\n * Flags are split into two categories:\n * - supports... - those flags tells the desktop app that the block supports certain APIs, but can without them as well\n * - requires... - those flags tells the desktop app that the block requires certain APIs, and if desktop app doesn't support it, it can't be used in the block\n */\nexport type BlockCodeFeatureFlags = Record<`supports${string}`, boolean | number | undefined> &\n Record<`requires${string}`, boolean | number | undefined>;\n\n/**\n * Known block flags. Flags are set during model compilation, see `BlockModel.create` for more details and for initial values.\n */\nexport type BlockCodeKnownFeatureFlags = {\n readonly supportsLazyState?: boolean;\n readonly supportsPframeQueryRanking?: boolean;\n readonly requiresModelAPIVersion?: number;\n readonly requiresUIAPIVersion?: number;\n readonly requiresCreatePTable?: number;\n} & ServiceRequireFlags;\n\nexport const AllSupportsFeatureFlags = [\"supportsLazyState\", \"supportsPframeQueryRanking\"] as const;\n\nexport const AllRequiresFeatureFlags = [\n \"requiresUIAPIVersion\",\n \"requiresCreatePTable\",\n \"requiresModelAPIVersion\",\n] as const;\n\n//\n// Assertions\n//\n\n// This assertion ensures that BlockConfigV3KnownFeatureFlags is a subtype of BlockConfigV3FeatureFlags.\n// It will produce a compile-time error if there's a mismatch.\ntype _KnownFlagsAreValidFlags = Assert<\n IsSubtypeOf<BlockCodeKnownFeatureFlags, BlockCodeFeatureFlags>\n>;\n\n// This check ensures that all keys in BlockConfigV3FeatureFlags are covered in the arrays above.\n// It will produce a compile-time error if there's a mismatch.\n// Adding a service to Services automatically satisfies this assertion via ServiceRequireFlags.\ntype _AllFlagsAreCovered = Assert<\n Is<\n keyof BlockCodeKnownFeatureFlags,\n | ArrayTypeUnion<typeof AllRequiresFeatureFlags, typeof AllSupportsFeatureFlags>\n | keyof ServiceRequireFlags\n >\n>;\n"],"mappings":";;AAyBA,MAAa,0BAA0B,CAAC,qBAAqB,6BAA6B;AAE1F,MAAa,0BAA0B;CACrC;CACA;CACA;CACD"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { ServiceRequireFlags } from "../services/service_types.js";
|
|
2
|
+
import "../services/index.js";
|
|
3
|
+
|
|
1
4
|
//#region src/flags/block_flags.d.ts
|
|
2
5
|
/**
|
|
3
6
|
* Block-specific feature flags. Define flags that are interpreted by the desktop app to select
|
|
@@ -17,7 +20,7 @@ type BlockCodeKnownFeatureFlags = {
|
|
|
17
20
|
readonly requiresModelAPIVersion?: number;
|
|
18
21
|
readonly requiresUIAPIVersion?: number;
|
|
19
22
|
readonly requiresCreatePTable?: number;
|
|
20
|
-
};
|
|
23
|
+
} & ServiceRequireFlags;
|
|
21
24
|
declare const AllSupportsFeatureFlags: readonly ["supportsLazyState", "supportsPframeQueryRanking"];
|
|
22
25
|
declare const AllRequiresFeatureFlags: readonly ["requiresUIAPIVersion", "requiresCreatePTable", "requiresModelAPIVersion"];
|
|
23
26
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_flags.js","names":[],"sources":["../../src/flags/block_flags.ts"],"sourcesContent":["import type { ArrayTypeUnion, Assert, Is, IsSubtypeOf } from \"./type_utils\";\n\n/**\n * Block-specific feature flags. Define flags that are interpreted by the desktop app to select\n * appropriate API to expose into Model and UI runtimes.\n *\n * Flags are split into two categories:\n * - supports... - those flags tells the desktop app that the block supports certain APIs, but can without them as well\n * - requires... - those flags tells the desktop app that the block requires certain APIs, and if desktop app doesn't support it, it can't be used in the block\n */\nexport type BlockCodeFeatureFlags = Record<`supports${string}`, boolean | number | undefined> &\n Record<`requires${string}`, boolean | number | undefined>;\n\n/**\n * Known block flags. Flags are set during model compilation, see `BlockModel.create` for more details and for initial values.\n */\nexport type BlockCodeKnownFeatureFlags = {\n readonly supportsLazyState?: boolean;\n readonly supportsPframeQueryRanking?: boolean;\n readonly requiresModelAPIVersion?: number;\n readonly requiresUIAPIVersion?: number;\n readonly requiresCreatePTable?: number;\n};\n\nexport const AllSupportsFeatureFlags = [\"supportsLazyState\", \"supportsPframeQueryRanking\"] as const;\n\nexport const AllRequiresFeatureFlags = [\n \"requiresUIAPIVersion\",\n \"requiresCreatePTable\",\n \"requiresModelAPIVersion\",\n] as const;\n\n//\n// Assertions\n//\n\n// This assertion ensures that BlockConfigV3KnownFeatureFlags is a subtype of BlockConfigV3FeatureFlags.\n// It will produce a compile-time error if there's a mismatch.\ntype _KnownFlagsAreValidFlags = Assert<\n IsSubtypeOf<BlockCodeKnownFeatureFlags, BlockCodeFeatureFlags>\n>;\n\n// This check ensures that all keys in BlockConfigV3FeatureFlags are covered in the arrays above.\n// It will produce a compile-time error if there's a mismatch.\ntype _AllFlagsAreCovered = Assert<\n Is<\n keyof BlockCodeKnownFeatureFlags,\n ArrayTypeUnion<typeof AllRequiresFeatureFlags, typeof AllSupportsFeatureFlags>\n >\n>;\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"block_flags.js","names":[],"sources":["../../src/flags/block_flags.ts"],"sourcesContent":["import type { ServiceRequireFlags } from \"../services\";\nimport type { ArrayTypeUnion, Assert, Is, IsSubtypeOf } from \"./type_utils\";\n\n/**\n * Block-specific feature flags. Define flags that are interpreted by the desktop app to select\n * appropriate API to expose into Model and UI runtimes.\n *\n * Flags are split into two categories:\n * - supports... - those flags tells the desktop app that the block supports certain APIs, but can without them as well\n * - requires... - those flags tells the desktop app that the block requires certain APIs, and if desktop app doesn't support it, it can't be used in the block\n */\nexport type BlockCodeFeatureFlags = Record<`supports${string}`, boolean | number | undefined> &\n Record<`requires${string}`, boolean | number | undefined>;\n\n/**\n * Known block flags. Flags are set during model compilation, see `BlockModel.create` for more details and for initial values.\n */\nexport type BlockCodeKnownFeatureFlags = {\n readonly supportsLazyState?: boolean;\n readonly supportsPframeQueryRanking?: boolean;\n readonly requiresModelAPIVersion?: number;\n readonly requiresUIAPIVersion?: number;\n readonly requiresCreatePTable?: number;\n} & ServiceRequireFlags;\n\nexport const AllSupportsFeatureFlags = [\"supportsLazyState\", \"supportsPframeQueryRanking\"] as const;\n\nexport const AllRequiresFeatureFlags = [\n \"requiresUIAPIVersion\",\n \"requiresCreatePTable\",\n \"requiresModelAPIVersion\",\n] as const;\n\n//\n// Assertions\n//\n\n// This assertion ensures that BlockConfigV3KnownFeatureFlags is a subtype of BlockConfigV3FeatureFlags.\n// It will produce a compile-time error if there's a mismatch.\ntype _KnownFlagsAreValidFlags = Assert<\n IsSubtypeOf<BlockCodeKnownFeatureFlags, BlockCodeFeatureFlags>\n>;\n\n// This check ensures that all keys in BlockConfigV3FeatureFlags are covered in the arrays above.\n// It will produce a compile-time error if there's a mismatch.\n// Adding a service to Services automatically satisfies this assertion via ServiceRequireFlags.\ntype _AllFlagsAreCovered = Assert<\n Is<\n keyof BlockCodeKnownFeatureFlags,\n | ArrayTypeUnion<typeof AllRequiresFeatureFlags, typeof AllSupportsFeatureFlags>\n | keyof ServiceRequireFlags\n >\n>;\n"],"mappings":";AAyBA,MAAa,0BAA0B,CAAC,qBAAqB,6BAA6B;AAE1F,MAAa,0BAA0B;CACrC;CACA;CACA;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./block_flags.js";
|
|
2
1
|
import { FilterKeysByPrefix } from "./type_utils.js";
|
|
2
|
+
import { BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./block_flags.js";
|
|
3
3
|
|
|
4
4
|
//#region src/flags/flag_utils.d.ts
|
|
5
5
|
declare function checkBlockFlag(flags: BlockCodeFeatureFlags | undefined, flag: keyof BlockCodeKnownFeatureFlags, flagValue?: boolean | number): boolean;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./type_utils.js";
|
|
2
|
+
import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flag_utils.js";
|
|
3
|
+
import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./block_flags.js";
|
package/dist/index.cjs
CHANGED
|
@@ -35,6 +35,14 @@ const require_value_or_error = require('./value_or_error.cjs');
|
|
|
35
35
|
const require_base64 = require('./base64.cjs');
|
|
36
36
|
const require_httpAuth = require('./httpAuth.cjs');
|
|
37
37
|
const require_resource_types = require('./resource_types.cjs');
|
|
38
|
+
const require_service_types = require('./services/service_types.cjs');
|
|
39
|
+
const require_service_registry = require('./services/service_registry.cjs');
|
|
40
|
+
const require_service_declarations = require('./services/service_declarations.cjs');
|
|
41
|
+
const require_service_capabilities = require('./services/service_capabilities.cjs');
|
|
42
|
+
const require_service_injector_factory = require('./services/service_injector_factory.cjs');
|
|
43
|
+
const require_service_injectors = require('./services/service_injectors.cjs');
|
|
44
|
+
require('./services/index.cjs');
|
|
45
|
+
const require_pool_entry = require('./pool_entry.cjs');
|
|
38
46
|
|
|
39
47
|
exports.AbortError = require_errors.AbortError;
|
|
40
48
|
exports.AllRequiresFeatureFlags = require_block_flags.AllRequiresFeatureFlags;
|
|
@@ -49,32 +57,48 @@ exports.Domain = require_spec.Domain;
|
|
|
49
57
|
exports.DomainJson = require_spec.DomainJson;
|
|
50
58
|
exports.IncompatibleFlagsError = require_flag_utils.IncompatibleFlagsError;
|
|
51
59
|
exports.LinkerMap = require_linker_columns.LinkerMap;
|
|
60
|
+
exports.ModelServiceRegistry = require_service_registry.ModelServiceRegistry;
|
|
52
61
|
exports.PAxisName = require_spec.PAxisName;
|
|
53
62
|
exports.PColumnName = require_spec.PColumnName;
|
|
54
63
|
exports.PFrameDriverError = require_errors.PFrameDriverError;
|
|
55
64
|
exports.PFrameError = require_errors.PFrameError;
|
|
65
|
+
exports.PFrameSpecDriverError = require_errors.PFrameSpecDriverError;
|
|
56
66
|
exports.PTableAbsent = require_data_types.PTableAbsent;
|
|
57
67
|
exports.PTableNA = require_data_types.PTableNA;
|
|
58
68
|
exports.PlId = require_plid.PlId;
|
|
59
69
|
exports.PlIdBytes = require_plid.PlIdBytes;
|
|
60
70
|
exports.PlIdLength = require_plid.PlIdLength;
|
|
61
71
|
exports.PlRef = require_ref.PlRef;
|
|
72
|
+
exports.PoolEntryGuard = require_pool_entry.PoolEntryGuard;
|
|
62
73
|
exports.RangeBytes = require_blob.RangeBytes;
|
|
63
74
|
exports.ResourceTypeName = require_resource_types.ResourceTypeName;
|
|
64
75
|
exports.ResourceTypePrefix = require_resource_types.ResourceTypePrefix;
|
|
65
76
|
exports.RuntimeCapabilities = require_flag_utils.RuntimeCapabilities;
|
|
77
|
+
exports.SERVICE_CAPABILITY_FLAGS = require_service_capabilities.SERVICE_CAPABILITY_FLAGS;
|
|
78
|
+
exports.SERVICE_FEATURE_FLAGS = require_service_capabilities.SERVICE_FEATURE_FLAGS;
|
|
79
|
+
exports.SERVICE_METHOD_MAP = require_service_injectors.SERVICE_METHOD_MAP;
|
|
80
|
+
exports.ServiceAlreadyRegisteredError = require_errors.ServiceAlreadyRegisteredError;
|
|
81
|
+
exports.ServiceError = require_errors.ServiceError;
|
|
82
|
+
exports.ServiceInjectionError = require_errors.ServiceInjectionError;
|
|
83
|
+
exports.ServiceInvalidIdError = require_errors.ServiceInvalidIdError;
|
|
84
|
+
exports.ServiceMethodNotFoundError = require_errors.ServiceMethodNotFoundError;
|
|
85
|
+
exports.ServiceNotRegisteredError = require_errors.ServiceNotRegisteredError;
|
|
86
|
+
exports.Services = require_service_declarations.Services;
|
|
66
87
|
exports.UiError = require_errors.UiError;
|
|
88
|
+
exports.UiServiceRegistry = require_service_registry.UiServiceRegistry;
|
|
67
89
|
exports.ValueType = require_spec.ValueType;
|
|
68
90
|
exports.assertNever = require_util.assertNever;
|
|
69
91
|
exports.base64Decode = require_base64.base64Decode;
|
|
70
92
|
exports.base64Encode = require_base64.base64Encode;
|
|
71
93
|
exports.bigintReplacer = require_json.bigintReplacer;
|
|
94
|
+
exports.buildServiceInfo = require_service_injectors.buildServiceInfo;
|
|
72
95
|
exports.canonicalizeAxisId = require_spec.canonicalizeAxisId;
|
|
73
96
|
exports.canonicalizeAxisWithParents = require_spec.canonicalizeAxisWithParents;
|
|
74
97
|
exports.canonicalizeJson = require_json.canonicalizeJson;
|
|
75
98
|
exports.checkBlockFlag = require_flag_utils.checkBlockFlag;
|
|
76
99
|
exports.collectSpecQueryColumns = require_utils.collectSpecQueryColumns;
|
|
77
100
|
exports.createPlRef = require_ref.createPlRef;
|
|
101
|
+
exports.createUiServiceInjectors = require_service_injector_factory.createUiServiceInjectors;
|
|
78
102
|
exports.dataInfoToEntries = require_data_info.dataInfoToEntries;
|
|
79
103
|
exports.deriveNativeId = require_native_id.deriveNativeId;
|
|
80
104
|
exports.deserializeError = require_errors.deserializeError;
|
|
@@ -97,6 +121,7 @@ exports.getColumnIdAndSpec = require_spec.getColumnIdAndSpec;
|
|
|
97
121
|
exports.getDenormalizedAxesList = require_spec.getDenormalizedAxesList;
|
|
98
122
|
exports.getFileNameFromHandle = require_ls.getFileNameFromHandle;
|
|
99
123
|
exports.getFilePathFromHandle = require_ls.getFilePathFromHandle;
|
|
124
|
+
exports.getMethodNames = require_service_capabilities.getMethodNames;
|
|
100
125
|
exports.getNormalizedAxesList = require_spec.getNormalizedAxesList;
|
|
101
126
|
exports.getPColumnSpecId = require_spec.getPColumnSpecId;
|
|
102
127
|
exports.getPTableColumnId = require_table_common.getPTableColumnId;
|
|
@@ -115,20 +140,29 @@ exports.isFilteredPColumn = require_filtered_column.isFilteredPColumn;
|
|
|
115
140
|
exports.isFolderURL = require_urls.isFolderURL;
|
|
116
141
|
exports.isImportFileHandleIndex = require_ls.isImportFileHandleIndex;
|
|
117
142
|
exports.isImportFileHandleUpload = require_ls.isImportFileHandleUpload;
|
|
143
|
+
exports.isKnownServiceName = require_service_capabilities.isKnownServiceName;
|
|
118
144
|
exports.isLabelColumn = require_spec.isLabelColumn;
|
|
119
145
|
exports.isLinkerColumn = require_spec.isLinkerColumn;
|
|
120
146
|
exports.isLiveLog = require_log.isLiveLog;
|
|
147
|
+
exports.isNodeService = require_service_types.isNodeService;
|
|
121
148
|
exports.isPColumn = require_spec$1.isPColumn;
|
|
122
149
|
exports.isPColumnResult = require_spec$1.isPColumnResult;
|
|
123
150
|
exports.isPColumnSpec = require_spec$1.isPColumnSpec;
|
|
124
151
|
exports.isPColumnSpecResult = require_spec$1.isPColumnSpecResult;
|
|
125
152
|
exports.isPFrameDriverError = require_errors.isPFrameDriverError;
|
|
126
153
|
exports.isPFrameError = require_errors.isPFrameError;
|
|
154
|
+
exports.isPFrameSpecDriverError = require_errors.isPFrameSpecDriverError;
|
|
127
155
|
exports.isPTableAbsent = require_data_types.isPTableAbsent;
|
|
128
156
|
exports.isPTableNA = require_data_types.isPTableNA;
|
|
129
157
|
exports.isPTableValueAxis = require_data_types.isPTableValueAxis;
|
|
130
158
|
exports.isPartitionedDataInfoEntries = require_data_info.isPartitionedDataInfoEntries;
|
|
131
159
|
exports.isPlRef = require_ref.isPlRef;
|
|
160
|
+
exports.isServiceAlreadyRegisteredError = require_errors.isServiceAlreadyRegisteredError;
|
|
161
|
+
exports.isServiceError = require_errors.isServiceError;
|
|
162
|
+
exports.isServiceInjectionError = require_errors.isServiceInjectionError;
|
|
163
|
+
exports.isServiceInvalidIdError = require_errors.isServiceInvalidIdError;
|
|
164
|
+
exports.isServiceMethodNotFoundError = require_errors.isServiceMethodNotFoundError;
|
|
165
|
+
exports.isServiceNotRegisteredError = require_errors.isServiceNotRegisteredError;
|
|
132
166
|
exports.legacyColumnSelectorsToPredicate = require_selectors.legacyColumnSelectorsToPredicate;
|
|
133
167
|
exports.mapDataInfo = require_data_info.mapDataInfo;
|
|
134
168
|
exports.mapDataInfoEntries = require_data_info.mapDataInfoEntries;
|
|
@@ -158,10 +192,16 @@ exports.readDomainJsonOrThrow = require_spec.readDomainJsonOrThrow;
|
|
|
158
192
|
exports.readMetadata = require_spec.readMetadata;
|
|
159
193
|
exports.readMetadataJson = require_spec.readMetadataJson;
|
|
160
194
|
exports.readMetadataJsonOrThrow = require_spec.readMetadataJsonOrThrow;
|
|
195
|
+
exports.registerServiceCapabilities = require_service_capabilities.registerServiceCapabilities;
|
|
161
196
|
exports.resolveAnchors = require_anchored.resolveAnchors;
|
|
197
|
+
exports.resolveAnnotationParents = require_spec.resolveAnnotationParents;
|
|
198
|
+
exports.resolveRequiredServices = require_service_capabilities.resolveRequiredServices;
|
|
199
|
+
exports.resolveUiInjector = require_service_injectors.resolveUiInjector;
|
|
162
200
|
exports.serializeError = require_errors.serializeError;
|
|
163
201
|
exports.serializeHttpAuth = require_httpAuth.serializeHttpAuth;
|
|
164
202
|
exports.serializeResult = require_errors.serializeResult;
|
|
203
|
+
exports.service = require_service_types.service;
|
|
204
|
+
exports.serviceFnKey = require_service_types.serviceFnKey;
|
|
165
205
|
exports.sortJoinEntry = require_table_calculate.sortJoinEntry;
|
|
166
206
|
exports.sortPTableDef = require_table_calculate.sortPTableDef;
|
|
167
207
|
exports.sortSpecQuery = require_utils.sortSpecQuery;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,27 +3,15 @@ import { AnyFunction, BlockOutputsBase, ListOptionBase, OutputWithStatus } from
|
|
|
3
3
|
import { BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, DefaultNavigationState, NavigationState } from "./navigation.js";
|
|
4
4
|
import { CanonicalizedJson, JsonCompatible, JsonSerializable, StringifiedJson, bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
|
|
5
5
|
import { BlockState, BlockStateV3 } from "./block_state.js";
|
|
6
|
-
import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./flags/block_flags.js";
|
|
7
|
-
import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./flags/type_utils.js";
|
|
8
|
-
import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flags/flag_utils.js";
|
|
9
|
-
import { BlockCodeWithInfo, Code } from "./bmodel/code.js";
|
|
10
|
-
import { BlockRenderingMode } from "./bmodel/types.js";
|
|
11
|
-
import { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo } from "./bmodel/block_config.js";
|
|
12
|
-
import { BlockConfigContainer } from "./bmodel/container.js";
|
|
13
|
-
import { extractConfigGeneric } from "./bmodel/normalization.js";
|
|
14
|
-
import "./bmodel/index.js";
|
|
15
6
|
import { Branded } from "./branding.js";
|
|
7
|
+
import { Option, PlRef, Ref, createPlRef, isPlRef, plRefsEqual, withEnrichments } from "./ref.js";
|
|
8
|
+
import { ResultCollection, ResultPoolEntry } from "./pool/entry.js";
|
|
16
9
|
import { BlobLike, FileLike } from "./drivers/interfaces.js";
|
|
17
10
|
import { ArchiveFormat, BlobToURLDriver, BlockUIURL, FolderURL, FrontendDriver, isBlockUIURL, isFolderURL } from "./drivers/urls.js";
|
|
18
11
|
import { BlobDriver, BlobHandleAndSize, ContentHandler, GetContentOptions, LocalBlobHandle, LocalBlobHandleAndSize, RangeBytes, RemoteBlobHandle, RemoteBlobHandleAndSize, newRangeBytesOpt, validateRangeBytes } from "./drivers/blob.js";
|
|
19
12
|
import { ImportProgress, ImportStatus } from "./drivers/upload.js";
|
|
20
13
|
import { AnyLogHandle, LiveLogHandle, LogsDriver, ProgressLogWithInfo, ReadyLogHandle, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, isLiveLog } from "./drivers/log.js";
|
|
21
|
-
import {
|
|
22
|
-
import { ResultCollection, ResultPoolEntry } from "./pool/entry.js";
|
|
23
|
-
import { PObject, PObjectId, PObjectSpec, ensurePColumn, extractAllColumns, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, mapPObjectData } from "./pool/spec.js";
|
|
24
|
-
import { PSpecPredicate, executePSpecPredicate } from "./pool/query.js";
|
|
25
|
-
import "./pool/index.js";
|
|
26
|
-
import { Annotation, AnnotationJson, AxesId, AxesSpec, AxisId, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, ColumnValueType, Domain, DomainJson, Metadata, MetadataJson, PAxisName, PColumn, PColumnIdAndSpec, PColumnInfo, PColumnLazy, PColumnName, PColumnSpec, PColumnSpecId, PDataColumnSpec, PUniversalColumnSpec, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow } from "./drivers/pframe/spec/spec.js";
|
|
14
|
+
import { Annotation, AnnotationJson, AxesId, AxesSpec, AxisId, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, ColumnValueType, Domain, DomainJson, Metadata, MetadataJson, PAxisName, PColumn, PColumnIdAndSpec, PColumnInfo, PColumnLazy, PColumnName, PColumnSpec, PColumnSpecId, PDataColumnSpec, PUniversalColumnSpec, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnnotationParents } from "./drivers/pframe/spec/spec.js";
|
|
27
15
|
import { ColumnFilter } from "./drivers/pframe/column_filter.js";
|
|
28
16
|
import { BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, DataInfo, DataInfoEntries, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, PColumnDataEntry, PColumnKey, PColumnValue, PColumnValues, PColumnValuesEntry, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./drivers/pframe/data_info.js";
|
|
29
17
|
import { AAxisSelector, ADomain, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredPColumnId, AnchoredPColumnSelector, LegacyAxisSelector, PColumnSelector, SingleAxisSelector, isAnchoredPColumnId, legacyColumnSelectorsToPredicate, matchAxis, matchPColumn } from "./drivers/pframe/spec/selectors.js";
|
|
@@ -33,23 +21,44 @@ import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpe
|
|
|
33
21
|
import { PTableAbsent, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableAbsent, isPTableNA, isPTableValueAxis, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
|
|
34
22
|
import { FindColumnsRequest, FindColumnsResponse } from "./drivers/pframe/find_columns.js";
|
|
35
23
|
import { PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, getPTableColumnId } from "./drivers/pframe/table_common.js";
|
|
24
|
+
import { PTable } from "./drivers/pframe/table.js";
|
|
36
25
|
import { AnchoredIdDeriver, ResolveAnchorsOptions, resolveAnchors } from "./drivers/pframe/spec/anchored.js";
|
|
37
26
|
import { NativePObjectId, deriveNativeId } from "./drivers/pframe/spec/native_id.js";
|
|
38
27
|
import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin } from "./drivers/pframe/query/query_spec.js";
|
|
39
28
|
import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
|
|
40
29
|
import { UniqueValuesRequest, UniqueValuesResponse } from "./drivers/pframe/unique_values.js";
|
|
41
|
-
import { PFrame, PFrameDef } from "./drivers/pframe/pframe.js";
|
|
42
|
-
import { PTable } from "./drivers/pframe/table.js";
|
|
43
30
|
import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin } from "./drivers/pframe/query/query_data.js";
|
|
44
31
|
import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./drivers/pframe/query/utils.js";
|
|
45
|
-
import { PFrameDriver, PFrameHandle, PTableHandle } from "./drivers/pframe/driver.js";
|
|
46
32
|
import { CompositeLinkerMap, LinkerMap } from "./drivers/pframe/linker_columns.js";
|
|
33
|
+
import { PoolEntry, PoolEntryGuard } from "./pool_entry.js";
|
|
34
|
+
import { AxisQualification, ColumnAxesWithQualifications, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, EvaluateQueryResponse, MatcherMap, MultiAxisSelector, MultiColumnSelector, PFrameSpecDriver, SpecFrameHandle, StringMatcher } from "./drivers/pframe/spec_driver.js";
|
|
47
35
|
import { FileRange, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ListFilesResult, LocalImportFileHandle, LsDriver, LsEntry, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./drivers/ls.js";
|
|
48
|
-
import { AxisQualification, ColumnAxesWithQualifications, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, MatcherMap, MultiAxisSelector, MultiColumnSelector, PSpecDriver, SpecFrameHandle, StringMatcher } from "./drivers/pspec.js";
|
|
49
36
|
import { ChunkedStreamReader, ChunkedStreamReaderOptions, ErrorHandlerStatus } from "./drivers/ChunkedStreamReader.js";
|
|
50
37
|
import "./drivers/index.js";
|
|
38
|
+
import { PObject, PObjectId, PObjectSpec, ensurePColumn, extractAllColumns, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, mapPObjectData } from "./pool/spec.js";
|
|
39
|
+
import { PSpecPredicate, executePSpecPredicate } from "./pool/query.js";
|
|
40
|
+
import "./pool/index.js";
|
|
41
|
+
import { PFrame, PFrameDef } from "./drivers/pframe/pframe.js";
|
|
42
|
+
import { PFrameDriver, PFrameHandle, PFrameModelDriver, PTableHandle } from "./drivers/pframe/driver.js";
|
|
43
|
+
import { Services } from "./services/service_declarations.js";
|
|
44
|
+
import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./services/service_types.js";
|
|
45
|
+
import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
|
|
46
|
+
import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./flags/type_utils.js";
|
|
47
|
+
import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flags/flag_utils.js";
|
|
48
|
+
import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
|
|
51
49
|
import { DriverKit } from "./driver_kit.js";
|
|
52
|
-
import {
|
|
50
|
+
import { createUiServiceInjectors } from "./services/service_injector_factory.js";
|
|
51
|
+
import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
|
|
52
|
+
import "./services/index.js";
|
|
53
|
+
import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./flags/block_flags.js";
|
|
54
|
+
import "./flags/index.js";
|
|
55
|
+
import { BlockCodeWithInfo, Code } from "./bmodel/code.js";
|
|
56
|
+
import { BlockRenderingMode } from "./bmodel/types.js";
|
|
57
|
+
import { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo } from "./bmodel/block_config.js";
|
|
58
|
+
import { BlockConfigContainer } from "./bmodel/container.js";
|
|
59
|
+
import { extractConfigGeneric } from "./bmodel/normalization.js";
|
|
60
|
+
import "./bmodel/index.js";
|
|
61
|
+
import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ResultOrError, SerializedError, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
|
|
53
62
|
import { PlId, PlIdBytes, PlIdLength, digestPlId, plId, uniquePlId } from "./plid.js";
|
|
54
63
|
import { ValueWithUTag, ValueWithUTagAndAuthor } from "./utag.js";
|
|
55
64
|
import { ValueOrError, mapValueInVOE } from "./value_or_error.js";
|
|
@@ -57,4 +66,4 @@ import { Base64Compatible, Base64Encoded, base64Decode, base64Encode } from "./b
|
|
|
57
66
|
import { assertNever, uniqueBy } from "./util.js";
|
|
58
67
|
import { BasicHttpAuth, HttpAuth, parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
|
|
59
68
|
import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
|
|
60
|
-
export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DefaultNavigationState, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, Domain, DomainJson, DriverKit, ErrorHandlerStatus, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MatcherMap, Metadata, MetadataJson, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PObject, PObjectId, PObjectSpec,
|
|
69
|
+
export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DefaultNavigationState, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, Domain, DomainJson, DriverKit, ErrorHandlerStatus, EvaluateQueryResponse, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InferServiceKind, InferServiceModel, InferServiceUi, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, KnownServiceName, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MatcherMap, Metadata, MetadataJson, ModelServiceFactoryMap, ModelServiceRegistry, ModelServices, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PFrameModelDriver, PFrameSpecDriver, PFrameSpecDriverError, PObject, PObjectId, PObjectSpec, PSpecPredicate, PTable, PTableAbsent, PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, PTableDef, PTableDefV2, PTableHandle, PTableNA, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableShape, PTableSorting, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PUniversalColumnSpec, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntry, PoolEntryGuard, ProgressLogWithInfo, RangeBytes, ReadyLogHandle, Ref, RemoteBlobHandle, RemoteBlobHandleAndSize, RequireServices, ResolveAnchorsOptions, ResourceTypeName, ResourceTypePrefix, ResultCollection, ResultOrError, ResultPoolEntry, RootFilterSpec, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, SUniversalPColumnId, SerializedError, ServiceAlreadyRegisteredError, ServiceBrand, ServiceDispatch, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceName, ServiceNameLiterals, ServiceNotRegisteredError, ServiceRequireFlags, ServiceType, ServiceTypesLike, Services, SingleAxisSelector, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, SpecExprAxisRef, SpecExprColumnRef, SpecFrameHandle, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, StringMatcher, StringifiedJson, SupportedRequirement, TableRange, UiError, UiServiceFactoryMap, UiServiceInjectorMap, UiServiceRegistry, UiServices, UniqueValuesRequest, UniqueValuesResponse, UniversalPColumnId, ValueOrError, ValueType, ValueTypeSupported, ValueWithUTag, ValueWithUTagAndAuthor, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableAbsent, isPTableNA, isPTableValueAxis, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
|
package/dist/index.js
CHANGED
|
@@ -8,9 +8,9 @@ import { isLiveLog } from "./drivers/log.js";
|
|
|
8
8
|
import { assertNever, uniqueBy } from "./util.js";
|
|
9
9
|
import { getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./drivers/ls.js";
|
|
10
10
|
import { dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./drivers/pframe/data_info.js";
|
|
11
|
-
import { AbortError, PFrameDriverError, PFrameError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
|
|
11
|
+
import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
|
|
12
12
|
import { bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
|
|
13
|
-
import { Annotation, AnnotationJson, Domain, DomainJson, PAxisName, PColumnName, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow } from "./drivers/pframe/spec/spec.js";
|
|
13
|
+
import { Annotation, AnnotationJson, Domain, DomainJson, PAxisName, PColumnName, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnnotationParents } from "./drivers/pframe/spec/spec.js";
|
|
14
14
|
import { PTableAbsent, PTableNA, isPTableAbsent, isPTableNA, isPTableValueAxis, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
|
|
15
15
|
import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./drivers/pframe/query/utils.js";
|
|
16
16
|
import { mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
|
|
@@ -34,5 +34,13 @@ import { mapValueInVOE } from "./value_or_error.js";
|
|
|
34
34
|
import { base64Decode, base64Encode } from "./base64.js";
|
|
35
35
|
import { parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
|
|
36
36
|
import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
|
|
37
|
+
import { isNodeService, service, serviceFnKey } from "./services/service_types.js";
|
|
38
|
+
import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
|
|
39
|
+
import { Services } from "./services/service_declarations.js";
|
|
40
|
+
import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
|
|
41
|
+
import { createUiServiceInjectors } from "./services/service_injector_factory.js";
|
|
42
|
+
import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
|
|
43
|
+
import "./services/index.js";
|
|
44
|
+
import { PoolEntryGuard } from "./pool_entry.js";
|
|
37
45
|
|
|
38
|
-
export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, PAxisName, PColumnName, PFrameDriverError, PFrameError, PTableAbsent, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, UiError, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isLabelColumn, isLinkerColumn, isLiveLog, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPTableAbsent, isPTableNA, isPTableValueAxis, isPartitionedDataInfoEntries, isPlRef, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnchors, serializeError, serializeHttpAuth, serializeResult, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
|
|
46
|
+
export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableAbsent, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableAbsent, isPTableNA, isPTableValueAxis, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
|
package/dist/pool/query.d.ts
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/pool_entry.ts
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
|
|
5
|
+
* unless `keep()` is called to transfer ownership to the caller.
|
|
6
|
+
*/
|
|
7
|
+
var PoolEntryGuard = class {
|
|
8
|
+
kept = false;
|
|
9
|
+
constructor(entry) {
|
|
10
|
+
this.entry = entry;
|
|
11
|
+
}
|
|
12
|
+
get key() {
|
|
13
|
+
return this.entry.key;
|
|
14
|
+
}
|
|
15
|
+
get resource() {
|
|
16
|
+
return this.entry.resource;
|
|
17
|
+
}
|
|
18
|
+
/** Disarm the guard — caller takes ownership of the entry. */
|
|
19
|
+
keep() {
|
|
20
|
+
this.kept = true;
|
|
21
|
+
return this.entry;
|
|
22
|
+
}
|
|
23
|
+
[Symbol.dispose]() {
|
|
24
|
+
if (!this.kept) this.entry.unref();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.PoolEntryGuard = PoolEntryGuard;
|
|
30
|
+
//# sourceMappingURL=pool_entry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/pool_entry.d.ts
|
|
2
|
+
interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {
|
|
3
|
+
/** Resource key, calculated using provided `calculateParamsKey` function */
|
|
4
|
+
readonly key: K;
|
|
5
|
+
/** Resource itself created by `createNewResource` function */
|
|
6
|
+
readonly resource: R;
|
|
7
|
+
/**
|
|
8
|
+
* Release the reference. Idempotent.
|
|
9
|
+
* Same as `[Symbol.dispose]()` — provided as a named function
|
|
10
|
+
* for use in callbacks (e.g. `addOnDestroy(entry.unref)`).
|
|
11
|
+
*/
|
|
12
|
+
readonly unref: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
|
|
16
|
+
* unless `keep()` is called to transfer ownership to the caller.
|
|
17
|
+
*/
|
|
18
|
+
declare class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {
|
|
19
|
+
readonly entry: PoolEntry<K, R>;
|
|
20
|
+
private kept;
|
|
21
|
+
constructor(entry: PoolEntry<K, R>);
|
|
22
|
+
get key(): K;
|
|
23
|
+
get resource(): R;
|
|
24
|
+
/** Disarm the guard — caller takes ownership of the entry. */
|
|
25
|
+
keep(): PoolEntry<K, R>;
|
|
26
|
+
[Symbol.dispose](): void;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { PoolEntry, PoolEntryGuard };
|
|
30
|
+
//# sourceMappingURL=pool_entry.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/pool_entry.ts
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
|
|
4
|
+
* unless `keep()` is called to transfer ownership to the caller.
|
|
5
|
+
*/
|
|
6
|
+
var PoolEntryGuard = class {
|
|
7
|
+
kept = false;
|
|
8
|
+
constructor(entry) {
|
|
9
|
+
this.entry = entry;
|
|
10
|
+
}
|
|
11
|
+
get key() {
|
|
12
|
+
return this.entry.key;
|
|
13
|
+
}
|
|
14
|
+
get resource() {
|
|
15
|
+
return this.entry.resource;
|
|
16
|
+
}
|
|
17
|
+
/** Disarm the guard — caller takes ownership of the entry. */
|
|
18
|
+
keep() {
|
|
19
|
+
this.kept = true;
|
|
20
|
+
return this.entry;
|
|
21
|
+
}
|
|
22
|
+
[Symbol.dispose]() {
|
|
23
|
+
if (!this.kept) this.entry.unref();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { PoolEntryGuard };
|
|
29
|
+
//# sourceMappingURL=pool_entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const require_service_types = require('./service_types.cjs');
|
|
2
|
+
const require_service_registry = require('./service_registry.cjs');
|
|
3
|
+
const require_service_declarations = require('./service_declarations.cjs');
|
|
4
|
+
const require_service_capabilities = require('./service_capabilities.cjs');
|
|
5
|
+
const require_service_injector_factory = require('./service_injector_factory.cjs');
|
|
6
|
+
const require_service_injectors = require('./service_injectors.cjs');
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Services } from "./service_declarations.js";
|
|
2
|
+
import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./service_types.js";
|
|
3
|
+
import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
|
|
4
|
+
import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
|
|
5
|
+
import { createUiServiceInjectors } from "./service_injector_factory.js";
|
|
6
|
+
import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./service_injectors.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { isNodeService, service, serviceFnKey } from "./service_types.js";
|
|
2
|
+
import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
|
|
3
|
+
import { Services } from "./service_declarations.js";
|
|
4
|
+
import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
|
|
5
|
+
import { createUiServiceInjectors } from "./service_injector_factory.js";
|
|
6
|
+
import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./service_injectors.js";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const require_service_declarations = require('./service_declarations.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/services/service_capabilities.ts
|
|
4
|
+
/**
|
|
5
|
+
* All service-related `requires*` capability flag names, auto-derived from Services.
|
|
6
|
+
* Single source of truth — use this everywhere runtime capabilities are registered.
|
|
7
|
+
*/
|
|
8
|
+
const SERVICE_CAPABILITY_FLAGS = Object.keys(require_service_declarations.Services).map((key) => `requires${key}`);
|
|
9
|
+
/**
|
|
10
|
+
* Register all service capability flags with the given callback.
|
|
11
|
+
* Works with both `RuntimeCapabilities.addSupportedRequirement`
|
|
12
|
+
* and `MiddleLayer.addRuntimeCapability`.
|
|
13
|
+
*/
|
|
14
|
+
function registerServiceCapabilities(register) {
|
|
15
|
+
for (const flag of SERVICE_CAPABILITY_FLAGS) register(flag, true);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve which services are required by the given feature flags.
|
|
19
|
+
* Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags
|
|
20
|
+
* (from middle layer) and Zod-parsed records (from preload).
|
|
21
|
+
*/
|
|
22
|
+
function resolveRequiredServices(flags) {
|
|
23
|
+
if (!flags) return [];
|
|
24
|
+
return Object.keys(require_service_declarations.Services).filter((key) => flags[`requires${key}`] === true).map((key) => require_service_declarations.Services[key]);
|
|
25
|
+
}
|
|
26
|
+
function isKnownServiceName(name) {
|
|
27
|
+
return Object.values(require_service_declarations.Services).some((v) => v === name);
|
|
28
|
+
}
|
|
29
|
+
/** All service require flags set to true, auto-generated from Services.
|
|
30
|
+
* Used to distinguish service-related feature flags from non-service flags. */
|
|
31
|
+
const SERVICE_FEATURE_FLAGS = Object.fromEntries(Object.keys(require_service_declarations.Services).map((key) => [`requires${key}`, true]));
|
|
32
|
+
/** Introspect method names on an instance (including prototype chain).
|
|
33
|
+
* Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */
|
|
34
|
+
function getMethodNames(instance) {
|
|
35
|
+
const methods = /* @__PURE__ */ new Set();
|
|
36
|
+
let proto = instance;
|
|
37
|
+
while (proto && proto !== Object.prototype) {
|
|
38
|
+
for (const key of Object.getOwnPropertyNames(proto)) if (key !== "constructor" && typeof Object.getOwnPropertyDescriptor(proto, key)?.value === "function") methods.add(key);
|
|
39
|
+
proto = Object.getPrototypeOf(proto);
|
|
40
|
+
}
|
|
41
|
+
return [...methods];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
exports.SERVICE_CAPABILITY_FLAGS = SERVICE_CAPABILITY_FLAGS;
|
|
46
|
+
exports.SERVICE_FEATURE_FLAGS = SERVICE_FEATURE_FLAGS;
|
|
47
|
+
exports.getMethodNames = getMethodNames;
|
|
48
|
+
exports.isKnownServiceName = isKnownServiceName;
|
|
49
|
+
exports.registerServiceCapabilities = registerServiceCapabilities;
|
|
50
|
+
exports.resolveRequiredServices = resolveRequiredServices;
|
|
51
|
+
//# sourceMappingURL=service_capabilities.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service_capabilities.cjs","names":["Services"],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAKA,sCAAS,CAAC,KAC5F,QAAQ,WAAW,MACrB;;;;;;AAOD,SAAgB,4BACd,UACM;AACN,MAAK,MAAM,QAAQ,yBACjB,UAAS,MAAM,KAAK;;;;;;;AASxB,SAAgB,wBAAwB,OAA2D;AACjG,KAAI,CAAC,MAAO,QAAO,EAAE;AACrB,QAAQ,OAAO,KAAKA,sCAAS,CAC1B,QAAQ,QAAQ,MAAM,WAAW,WAAW,KAAK,CACjD,KAAK,QAAQA,sCAAS,KAAK;;AAKhC,SAAgB,mBAAmB,MAAwC;AACzE,QAAO,OAAO,OAAOA,sCAAS,CAAC,MAAM,MAAM,MAAM,KAAK;;;;AAKxD,MAAa,wBACX,OAAO,YAAY,OAAO,KAAKA,sCAAS,CAAC,KAAK,QAAQ,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC;;;AAIlF,SAAgB,eAAiC,UAAuB;CACtE,MAAM,0BAAU,IAAI,KAAa;CACjC,IAAI,QAAuB;AAC3B,QAAO,SAAS,UAAU,OAAO,WAAW;AAC1C,OAAK,MAAM,OAAO,OAAO,oBAAoB,MAAM,CAEjD,KAAI,QAAQ,iBAAiB,OADV,OAAO,yBAAyB,OAAO,IAAI,EACd,UAAU,WACxD,SAAQ,IAAI,IAAI;AAGpB,UAAQ,OAAO,eAAe,MAAM;;AAEtC,QAAO,CAAC,GAAG,QAAQ"}
|