diff --git a/packages/functions-runtime/src/ModelAPI.js b/packages/functions-runtime/src/ModelAPI.js index 03b8fdd6e..bd84f61e1 100644 --- a/packages/functions-runtime/src/ModelAPI.js +++ b/packages/functions-runtime/src/ModelAPI.js @@ -2,9 +2,9 @@ const { sql } = require("kysely"); const { useDatabase } = require("./database"); const { transformRichDataTypes, - isPlainObject, isReferencingExistingRecord, } = require("./parsing"); +const { isPlainObject } = require("./type-utils"); const { QueryBuilder } = require("./QueryBuilder"); const { QueryContext } = require("./QueryContext"); const { applyWhereConditions } = require("./applyWhereConditions"); diff --git a/packages/functions-runtime/src/camelCasePlugin.js b/packages/functions-runtime/src/camelCasePlugin.js index 443a5f0a6..f13e297b4 100644 --- a/packages/functions-runtime/src/camelCasePlugin.js +++ b/packages/functions-runtime/src/camelCasePlugin.js @@ -1,5 +1,6 @@ const { CamelCasePlugin } = require("kysely"); -const { isPlainObject, isRichType } = require("./parsing"); +const { isPlainObject, isRichType } = require("./type-utils"); + // KeelCamelCasePlugin is a wrapper around kysely's camel case plugin. class KeelCamelCasePlugin { constructor(opt) { diff --git a/packages/functions-runtime/src/parsing.js b/packages/functions-runtime/src/parsing.js index 19fca656c..aa2a16b82 100644 --- a/packages/functions-runtime/src/parsing.js +++ b/packages/functions-runtime/src/parsing.js @@ -1,5 +1,6 @@ const { Duration } = require("./Duration"); const { InlineFile, File } = require("./File"); +const { isPlainObject } = require("./type-utils"); // parseInputs takes a set of inputs and creates objects for the ones that are of a complex type. // @@ -81,18 +82,6 @@ function transformRichDataTypes(data) { return row; } -function isPlainObject(obj) { - return Object.prototype.toString.call(obj) === "[object Object]"; -} - -function isRichType(obj) { - if (!isPlainObject(obj)) { - return false; - } - - return obj instanceof Duration; -} - function isReferencingExistingRecord(value) { return Object.keys(value).length === 1 && value.id; } @@ -101,7 +90,5 @@ module.exports = { parseInputs, parseOutputs, transformRichDataTypes, - isPlainObject, - isRichType, isReferencingExistingRecord, }; diff --git a/packages/functions-runtime/src/type-utils.js b/packages/functions-runtime/src/type-utils.js new file mode 100644 index 000000000..235b82808 --- /dev/null +++ b/packages/functions-runtime/src/type-utils.js @@ -0,0 +1,18 @@ +const { Duration } = require("./Duration"); + +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} + +function isRichType(obj) { + if (!isPlainObject(obj)) { + return false; + } + + return obj instanceof Duration; +} + +module.exports = { + isPlainObject, + isRichType, +};