conditionSql(columnSql) { const operatorMethod = `${inlection.camelize(this.operator).replace( /[A-Z]/, (c) => (c != null ? c : '').toLowerCase() )}Where`; const sql = this[operatorMethod](columnSql); return this.query.paramAllocator.allocateParamsForQuestionString(sql, this.filterParams()); }
memberName(member) { return inflection.camelize(member.title.replace(/[^A-Za-z0-9]+/g, '_').toLowerCase(), true); }
tableSchema(tableName, includeJoins) { const [schema, table] = this.parseTableName(tableName); const tableDefinition = this.resolveTableDefinition(tableName); const dimensions = this.dimensions(tableDefinition); return { cube: inflection.camelize(table), tableName, schema, table, measures: this.numberMeasures(tableDefinition), dimensions, drillMembers: this.drillMembers(dimensions), joins: includeJoins ? this.joins(tableName, tableDefinition) : [] }; }
inflect(step) { return inflection.underscore(inflection.camelize(step.name.replace(/[^A-Za-z0-9]+/g, '_'))); }
cubeToJoin: inflection.camelize(definition.table), columnToJoin: columnForJoin.name, tableName: definition.tableName
async fetchAppends (ctx, appends) { for (let key of appends) { const getter = 'append' + inflection.camelize(key) if (this[getter]) { this[key] = await this[getter](ctx) } } }
if (['sms'].includes(resource)) { className = inflection.camelize(resource)