@comunica/actor-query-operation-slice 3.2.0 → 3.2.2
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.
|
@@ -38,7 +38,8 @@ class ActorQueryOperationSlice extends bus_query_operation_1.ActorQueryOperation
|
|
|
38
38
|
metadata: this.sliceMetadata(output, operation),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
// In all other cases, return the result as-is.
|
|
42
|
+
return output;
|
|
42
43
|
}
|
|
43
44
|
// Slice the stream based on the pattern values
|
|
44
45
|
sliceStream(stream, pattern) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorQueryOperationSlice.js","sourceRoot":"","sources":["ActorQueryOperationSlice.ts"],"names":[],"mappings":";;;AACA,uEAEuC;AACvC,+DAA+D;AAa/D;;GAEG;AACH,MAAa,wBAAyB,SAAQ,sDAA+C;IAC3F,YAAmB,IAA2C;QAC5D,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAAyB,EAAE,QAAwB;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAAwB,EAAE,OAAuB;QAEzE,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAA0B,MAAM,IAAI,CAAC,sBAAsB;aACpE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC1E,OAAuC;gBACrC,IAAI,EAAE,UAAU;gBAChB,cAAc;gBACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAClE,OAAoC;gBAClC,IAAI,EAAE,OAAO;gBACb,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"ActorQueryOperationSlice.js","sourceRoot":"","sources":["ActorQueryOperationSlice.ts"],"names":[],"mappings":";;;AACA,uEAEuC;AACvC,+DAA+D;AAa/D;;GAEG;AACH,MAAa,wBAAyB,SAAQ,sDAA+C;IAC3F,YAAmB,IAA2C;QAC5D,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAAyB,EAAE,QAAwB;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAAwB,EAAE,OAAuB;QAEzE,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAA0B,MAAM,IAAI,CAAC,sBAAsB;aACpE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC1E,OAAuC;gBACrC,IAAI,EAAE,UAAU;gBAChB,cAAc;gBACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAClE,OAAoC;gBAClC,IAAI,EAAE,OAAO;gBACb,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+CAA+C;IACvC,WAAW,CAAC,MAA0B,EAAE,OAAsB;QACpE,yDAAyD;QACzD,MAAM,SAAS,GAAY,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvF,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,kEAAkE;IAC1D,aAAa,CACnB,MAA6C,EAC7C,OAAsB;QAEtB,yDAAyD;QACzD,MAAM,SAAS,GAAY,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3E,OAAO,GAAG,EAAE,CAAiC,MAAM,CAAC,QAAS,EAAE;aAC5D,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnE,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAO,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,OAAO,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAvED,4DAuEC","sourcesContent":["import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperationTypedMediated,\n} from '@comunica/bus-query-operation';\nimport { KeysQueryOperation } from '@comunica/context-entries';\nimport type { IActorTest } from '@comunica/core';\nimport type {\n IQueryOperationResult,\n IQueryOperationResultBindings,\n IQueryOperationResultQuads,\n IQueryOperationResultStream,\n IMetadata,\n IActionContext,\n} from '@comunica/types';\nimport type { AsyncIterator } from 'asynciterator';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica Slice Query Operation Actor.\n */\nexport class ActorQueryOperationSlice extends ActorQueryOperationTypedMediated<Algebra.Slice> {\n public constructor(args: IActorQueryOperationTypedMediatedArgs) {\n super(args, 'slice');\n }\n\n public async testOperation(_operation: Algebra.Slice, _context: IActionContext): Promise<IActorTest> {\n return true;\n }\n\n public async runOperation(operation: Algebra.Slice, context: IActionContext):\n Promise<IQueryOperationResult> {\n // Add limit indicator to the context, which can be used for query planning\n // eslint-disable-next-line unicorn/explicit-length-check\n if (operation.length) {\n context = context.set(KeysQueryOperation.limitIndicator, operation.length);\n }\n\n // Resolve the input\n const output: IQueryOperationResult = await this.mediatorQueryOperation\n .mediate({ operation: operation.input, context });\n\n if (output.type === 'bindings') {\n const bindingsStream = this.sliceStream(output.bindingsStream, operation);\n return <IQueryOperationResultBindings> {\n type: 'bindings',\n bindingsStream,\n metadata: this.sliceMetadata(output, operation),\n };\n }\n\n if (output.type === 'quads') {\n const quadStream = this.sliceStream(output.quadStream, operation);\n return <IQueryOperationResultQuads> {\n type: 'quads',\n quadStream,\n metadata: this.sliceMetadata(output, operation),\n };\n }\n\n // In all other cases, return the result as-is.\n return output;\n }\n\n // Slice the stream based on the pattern values\n private sliceStream(stream: AsyncIterator<any>, pattern: Algebra.Slice): AsyncIterator<any> {\n // eslint-disable-next-line unicorn/explicit-length-check\n const hasLength: boolean = Boolean(pattern.length) || pattern.length === 0;\n const { start } = pattern;\n const end = hasLength ? pattern.start + pattern.length! - 1 : Number.POSITIVE_INFINITY;\n return stream.transform({ offset: start, limit: Math.max(end - start + 1, 0), autoStart: false });\n }\n\n // If we find metadata, apply slicing on the total number of items\n private sliceMetadata(\n output: IQueryOperationResultStream<any, any>,\n pattern: Algebra.Slice,\n ): () => Promise<IMetadata<any>> {\n // eslint-disable-next-line unicorn/explicit-length-check\n const hasLength: boolean = Boolean(pattern.length) || pattern.length === 0;\n return () => (<() => Promise<IMetadata<any>>>output.metadata)()\n .then((subMetadata) => {\n const cardinality = { ...subMetadata.cardinality };\n if (Number.isFinite(cardinality.value)) {\n cardinality.value = Math.max(0, cardinality.value - pattern.start);\n if (hasLength) {\n cardinality.value = Math.min(cardinality.value, pattern.length!);\n }\n }\n return { ...subMetadata, cardinality };\n });\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-query-operation-slice",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.2",
|
|
4
4
|
"description": "A slice query-operation actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"build:components": "componentsjs-generator"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@comunica/bus-query-operation": "^3.2.
|
|
41
|
-
"@comunica/context-entries": "^3.2.
|
|
42
|
-
"@comunica/core": "^3.2.
|
|
43
|
-
"@comunica/types": "^3.2.
|
|
44
|
-
"sparqlalgebrajs": "^4.3.
|
|
40
|
+
"@comunica/bus-query-operation": "^3.2.2",
|
|
41
|
+
"@comunica/context-entries": "^3.2.1",
|
|
42
|
+
"@comunica/core": "^3.2.1",
|
|
43
|
+
"@comunica/types": "^3.2.1",
|
|
44
|
+
"sparqlalgebrajs": "^4.3.7"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "fbcc3a81f87738633ddf69ede5ca504236f7edd9"
|
|
47
47
|
}
|