├── scripts
├── apex
│ ├── output.log
│ └── scratch.apex
├── bash
│ ├── config-sf.sh
│ ├── diagnose.sh
│ ├── invoke-lambda-func.sh
│ ├── config-github-bot.sh
│ ├── create-sfdx-auth-file.sh
│ ├── save-deployment.sh
│ ├── config-aws.sh
│ └── get-deployment.sh
├── typescript
│ └── models
│ │ ├── salesforce-response.d.ts
│ │ ├── query-response.d.ts
│ │ ├── hardis-duplicate-response.d.ts
│ │ └── org-display-response.d.ts
├── soql
│ └── scratch.soql
└── js
│ └── install-moxygen.js
├── CODEOWNERS
├── .prettierrc.json
├── docs
├── MoxygenUML.jpg
└── apexdocs
│ ├── soql-engine
│ ├── MockSOQLHandler.md
│ ├── ILimitHandler.md
│ ├── IOffsetHandler.md
│ ├── ISelectHandler.md
│ ├── AbstractSyntaxTreeWithQuery.md
│ ├── IdFieldComparator.md
│ ├── PrimitiveParserFactory.md
│ ├── Parser.md
│ ├── IDateFunc.md
│ ├── InHandler.md
│ ├── LikeHandler.md
│ ├── OperatorHandlerFactory.md
│ ├── DateFuncFactory.md
│ ├── IOperatorHandler.md
│ ├── NotInHandler.md
│ ├── EqualityHandler.md
│ ├── ExcludesHandler.md
│ ├── InequalityHandler.md
│ └── DateFuncs.md
│ ├── utilities
│ ├── NotFoundException.md
│ ├── ValidationException.md
│ ├── OrganizationSingleton.md
│ ├── TypeOf.md
│ ├── fflib_IDGenerator.md
│ └── ParsingException.md
│ ├── dml-engine
│ └── MockDMLHandler.md
│ └── moxygen
│ └── Types.md
├── .husky
└── pre-commit
├── .gitignore
├── moxygen
└── main
│ └── default
│ ├── classes
│ ├── mox
│ │ ├── DML.cls-meta.xml
│ │ ├── ORM.cls-meta.xml
│ │ ├── DMLTest.cls-meta.xml
│ │ ├── Selector.cls-meta.xml
│ │ ├── Types.cls-meta.xml
│ │ ├── Aggregate.cls-meta.xml
│ │ ├── SelectorTest.cls-meta.xml
│ │ └── Types.cls
│ ├── database
│ │ ├── Token.cls-meta.xml
│ │ ├── DataStore.cls-meta.xml
│ │ ├── DataStoreTest.cls-meta.xml
│ │ ├── MockDatabase.cls-meta.xml
│ │ ├── MockDatabaseTest.cls-meta.xml
│ │ ├── dml-engine
│ │ │ ├── DmlEngine.cls-meta.xml
│ │ │ └── mock-dml-handlers
│ │ │ │ ├── MockDMLHandler.cls-meta.xml
│ │ │ │ ├── MockDeleteHandler.cls-meta.xml
│ │ │ │ ├── MockInsertHandler.cls-meta.xml
│ │ │ │ ├── MockUndeleteHandler.cls-meta.xml
│ │ │ │ ├── MockUpdateHandler.cls-meta.xml
│ │ │ │ ├── MockUpsertHandler.cls-meta.xml
│ │ │ │ └── SaveResultService
│ │ │ │ └── SaveResultService.cls-meta.xml
│ │ └── soql-engine
│ │ │ ├── SoqlEngine.cls-meta.xml
│ │ │ ├── node
│ │ │ ├── Node.cls-meta.xml
│ │ │ ├── NodeBuilder.cls-meta.xml
│ │ │ ├── NodeService.cls-meta.xml
│ │ │ ├── NodeTest.cls-meta.xml
│ │ │ ├── NodeType.cls-meta.xml
│ │ │ ├── TopLevelNodes.cls-meta.xml
│ │ │ └── NodeTest.cls
│ │ │ ├── parser
│ │ │ ├── Parser.cls-meta.xml
│ │ │ ├── Intermediary.cls-meta.xml
│ │ │ ├── ParserTest.cls-meta.xml
│ │ │ ├── sub-parser
│ │ │ │ ├── AliasParser.cls-meta.xml
│ │ │ │ ├── FieldParser.cls-meta.xml
│ │ │ │ ├── FromParser.cls-meta.xml
│ │ │ │ ├── GroupByParser.cls-meta.xml
│ │ │ │ ├── HavingParser.cls-meta.xml
│ │ │ │ ├── LimitParser.cls-meta.xml
│ │ │ │ ├── OffsetParser.cls-meta.xml
│ │ │ │ ├── OrderByParser.cls-meta.xml
│ │ │ │ ├── ParserUtils.cls-meta.xml
│ │ │ │ ├── QueryParser.cls-meta.xml
│ │ │ │ ├── SObjectParser.cls-meta.xml
│ │ │ │ ├── ScopeParser.cls-meta.xml
│ │ │ │ ├── SelectParser.cls-meta.xml
│ │ │ │ ├── SubParser.cls-meta.xml
│ │ │ │ ├── ValueParser.cls-meta.xml
│ │ │ │ ├── WhereParser.cls-meta.xml
│ │ │ │ ├── AliasParserTest.cls-meta.xml
│ │ │ │ ├── FieldListParser.cls-meta.xml
│ │ │ │ ├── ForUpdateParser.cls-meta.xml
│ │ │ │ ├── GroupByParserTest.cls-meta.xml
│ │ │ │ ├── HavingParserTest.cls-meta.xml
│ │ │ │ ├── LimitParserTest.cls-meta.xml
│ │ │ │ ├── OffsetParserTest.cls-meta.xml
│ │ │ │ ├── OperatorParser.cls-meta.xml
│ │ │ │ ├── OrderByParserTest.cls-meta.xml
│ │ │ │ ├── ParserDateFuncTest.cls-meta.xml
│ │ │ │ ├── ParserUtilsTest.cls-meta.xml
│ │ │ │ ├── ScopeParserTest.cls-meta.xml
│ │ │ │ ├── SelectParserTest.cls-meta.xml
│ │ │ │ ├── ValueListParser.cls-meta.xml
│ │ │ │ ├── ValueParserTest.cls-meta.xml
│ │ │ │ ├── WhereParserTest.cls-meta.xml
│ │ │ │ ├── AggregateFuncParser.cls-meta.xml
│ │ │ │ ├── AggregateFuncParserTest.cls-meta.xml
│ │ │ │ ├── ForUpdateParserTest.cls-meta.xml
│ │ │ │ ├── ValueListParserTest.cls-meta.xml
│ │ │ │ ├── WithDataCategoryParser.cls-meta.xml
│ │ │ │ ├── ForViewOrReferenceParser.cls-meta.xml
│ │ │ │ ├── ForViewOrReferenceParserTest.cls-meta.xml
│ │ │ │ ├── MockDatabaseDateFuncTest.cls-meta.xml
│ │ │ │ ├── WithSecurityEnforcedParser.cls-meta.xml
│ │ │ │ ├── primitive-parsers
│ │ │ │ │ ├── DateParser.cls-meta.xml
│ │ │ │ │ ├── NullParser.cls-meta.xml
│ │ │ │ │ ├── BooleanParser.cls-meta.xml
│ │ │ │ │ ├── NumberParser.cls-meta.xml
│ │ │ │ │ ├── StringParser.cls-meta.xml
│ │ │ │ │ ├── BindVariableParser.cls-meta.xml
│ │ │ │ │ ├── DateLiteralParser.cls-meta.xml
│ │ │ │ │ ├── PrimitiveParserFactory.cls-meta.xml
│ │ │ │ │ └── PrimitiveParserFactoryTest.cls-meta.xml
│ │ │ │ ├── UpdateTrackingOrViewStatParser.cls-meta.xml
│ │ │ │ ├── WithSecurityEnforcedParserTest.cls-meta.xml
│ │ │ │ ├── LimitParserTest.cls
│ │ │ │ ├── OffsetParserTest.cls
│ │ │ │ ├── AliasParserTest.cls
│ │ │ │ ├── ScopeParserTest.cls
│ │ │ │ ├── ForUpdateParserTest.cls
│ │ │ │ ├── ForViewOrReferenceParserTest.cls
│ │ │ │ └── OrderByParserTest.cls
│ │ │ └── parser-test-util
│ │ │ │ ├── ParserTestUtil.cls-meta.xml
│ │ │ │ ├── AbstractSyntaxTreeWithQuery.cls-meta.xml
│ │ │ │ └── AbstractSyntaxTreeWithQuery.cls
│ │ │ ├── mock-soql-handlers
│ │ │ ├── MockSOQLHandler.cls-meta.xml
│ │ │ ├── QueryValidator.cls-meta.xml
│ │ │ ├── MockCountQueryHandler.cls-meta.xml
│ │ │ ├── MockRecordQueryHandler.cls-meta.xml
│ │ │ ├── date-funcs
│ │ │ │ ├── DateFuncs.cls-meta.xml
│ │ │ │ ├── IDateFunc.cls-meta.xml
│ │ │ │ ├── CalendarYearFunc.cls-meta.xml
│ │ │ │ ├── DateFuncFactory.cls-meta.xml
│ │ │ │ ├── CalendarMonthFunc.cls-meta.xml
│ │ │ │ ├── CalendarQuarterFunc.cls-meta.xml
│ │ │ │ └── IDateFunc.cls
│ │ │ ├── MockAggregateQueryHandler.cls-meta.xml
│ │ │ └── MockAggregateQueryHandlerTest.cls-meta.xml
│ │ │ └── interpreter
│ │ │ ├── alias-service
│ │ │ └── AliasService.cls-meta.xml
│ │ │ ├── comparators
│ │ │ ├── ObjectComparator.cls-meta.xml
│ │ │ ├── SObjectComparator.cls-meta.xml
│ │ │ ├── AggregateComparator.cls-meta.xml
│ │ │ ├── ObjectComparatorTest.cls-meta.xml
│ │ │ ├── SObjectComparatorTest.cls-meta.xml
│ │ │ └── AggregateComparatorTest.cls-meta.xml
│ │ │ ├── limit-handler
│ │ │ ├── ILimitHandler.cls-meta.xml
│ │ │ ├── LimitOptions.cls-meta.xml
│ │ │ ├── CountLimitHandler.cls-meta.xml
│ │ │ ├── LimitHandlerFactory.cls-meta.xml
│ │ │ ├── RecordLimitHandler.cls-meta.xml
│ │ │ └── AggregateLimitHandler.cls-meta.xml
│ │ │ ├── offset-handler
│ │ │ ├── IOffsetHandler.cls-meta.xml
│ │ │ ├── OffsetOptions.cls-meta.xml
│ │ │ ├── CountOffsetHandler.cls-meta.xml
│ │ │ ├── RecordOffsetHandler.cls-meta.xml
│ │ │ ├── AggregateOffsetHandler.cls-meta.xml
│ │ │ └── OffsetHandlerFactory.cls-meta.xml
│ │ │ ├── operator-handler
│ │ │ ├── InHandler.cls-meta.xml
│ │ │ ├── LikeHandler.cls-meta.xml
│ │ │ ├── NotInHandler.cls-meta.xml
│ │ │ ├── EqualityHandler.cls-meta.xml
│ │ │ ├── ExcludesHandler.cls-meta.xml
│ │ │ ├── IOperatorHandler.cls-meta.xml
│ │ │ ├── IncludesHandler.cls-meta.xml
│ │ │ ├── InequalityHandler.cls-meta.xml
│ │ │ ├── LessThanHandler.cls-meta.xml
│ │ │ ├── EqualityHandlerTest.cls-meta.xml
│ │ │ ├── GreaterThanHandler.cls-meta.xml
│ │ │ ├── LessThanOrEqualHandler.cls-meta.xml
│ │ │ ├── OperatorHandlerFactory.cls-meta.xml
│ │ │ ├── GreaterThanOrEqualHandler.cls-meta.xml
│ │ │ └── date-literal-comparable
│ │ │ │ ├── LastWeekComparable.cls-meta.xml
│ │ │ │ ├── LastYearComparable.cls-meta.xml
│ │ │ │ ├── NDaysAgoComparable.cls-meta.xml
│ │ │ │ ├── NextWeekComparable.cls-meta.xml
│ │ │ │ ├── ThisWeekComparable.cls-meta.xml
│ │ │ │ ├── ThisYearComparable.cls-meta.xml
│ │ │ │ ├── TodayComparable.cls-meta.xml
│ │ │ │ ├── TomorrowComparable.cls-meta.xml
│ │ │ │ ├── DateLiteralComparable.cls-meta.xml
│ │ │ │ ├── Last90DaysComparable.cls-meta.xml
│ │ │ │ ├── LastMonthComparable.cls-meta.xml
│ │ │ │ ├── LastMonthComparableTest.cls-meta.xml
│ │ │ │ ├── LastNDaysComparable.cls-meta.xml
│ │ │ │ ├── LastNDaysComparableTest.cls-meta.xml
│ │ │ │ ├── LastNMonthsComparable.cls-meta.xml
│ │ │ │ ├── LastNQuartersComparable.cls-meta.xml
│ │ │ │ ├── LastNWeeksComparable.cls-meta.xml
│ │ │ │ ├── LastNYearsComparable.cls-meta.xml
│ │ │ │ ├── LastQuarterComparable.cls-meta.xml
│ │ │ │ ├── LastWeekComparableTest.cls-meta.xml
│ │ │ │ ├── LastYearComparableTest.cls-meta.xml
│ │ │ │ ├── NDaysAgoComparableTest.cls-meta.xml
│ │ │ │ ├── NMonthsAgoComparable.cls-meta.xml
│ │ │ │ ├── NQuartersAgoComparable.cls-meta.xml
│ │ │ │ ├── NWeeksAgoComparable.cls-meta.xml
│ │ │ │ ├── NWeeksAgoComparableTest.cls-meta.xml
│ │ │ │ ├── NYearsAgoComparable.cls-meta.xml
│ │ │ │ ├── NYearsAgoComparableTest.cls-meta.xml
│ │ │ │ ├── Next90DaysComparable.cls-meta.xml
│ │ │ │ ├── NextMonthComparable.cls-meta.xml
│ │ │ │ ├── NextMonthComparableTest.cls-meta.xml
│ │ │ │ ├── NextNDaysComparable.cls-meta.xml
│ │ │ │ ├── NextNDaysComparableTest.cls-meta.xml
│ │ │ │ ├── NextNMonthsComparable.cls-meta.xml
│ │ │ │ ├── NextNQuartersComparable.cls-meta.xml
│ │ │ │ ├── NextNWeeksComparable.cls-meta.xml
│ │ │ │ ├── NextNYearsComparable.cls-meta.xml
│ │ │ │ ├── NextQuarterComparable.cls-meta.xml
│ │ │ │ ├── NextWeekComparableTest.cls-meta.xml
│ │ │ │ ├── ThisMonthComparable.cls-meta.xml
│ │ │ │ ├── ThisMonthComparableTest.cls-meta.xml
│ │ │ │ ├── ThisQuarterComparable.cls-meta.xml
│ │ │ │ ├── ThisWeekComparableTest.cls-meta.xml
│ │ │ │ ├── ThisYearComparableTest.cls-meta.xml
│ │ │ │ ├── TodayComparableTest.cls-meta.xml
│ │ │ │ ├── TomorrowComparableTest.cls-meta.xml
│ │ │ │ ├── YesterdayComparable.cls-meta.xml
│ │ │ │ ├── YesterdayComparableTest.cls-meta.xml
│ │ │ │ ├── DateLiteralComparableFactory.cls-meta.xml
│ │ │ │ ├── Last90DaysComparableTest.cls-meta.xml
│ │ │ │ ├── LastFiscalQuarterComparable.cls-meta.xml
│ │ │ │ ├── LastFiscalYearComparable.cls-meta.xml
│ │ │ │ ├── LastFiscalYearComparableTest.cls-meta.xml
│ │ │ │ ├── LastNFiscalYearsComparable.cls-meta.xml
│ │ │ │ ├── LastNMonthsComparableTest.cls-meta.xml
│ │ │ │ ├── LastNQuartersComparableTest.cls-meta.xml
│ │ │ │ ├── LastNWeeksComparableTest.cls-meta.xml
│ │ │ │ ├── LastNYearsComparableTest.cls-meta.xml
│ │ │ │ ├── LastQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── NFiscalYearsAgoComparable.cls-meta.xml
│ │ │ │ ├── NMonthsAgoComparableTest.cls-meta.xml
│ │ │ │ ├── NQuartersAgoComparableTest.cls-meta.xml
│ │ │ │ ├── Next90DaysComparableTest.cls-meta.xml
│ │ │ │ ├── NextFiscalQuarterComparable.cls-meta.xml
│ │ │ │ ├── NextFiscalYearComparable.cls-meta.xml
│ │ │ │ ├── NextFiscalYearComparableTest.cls-meta.xml
│ │ │ │ ├── NextNFiscalYearsComparable.cls-meta.xml
│ │ │ │ ├── NextNMonthsComparableTest.cls-meta.xml
│ │ │ │ ├── NextNQuartersComparableTest.cls-meta.xml
│ │ │ │ ├── NextNWeeksComparableTest.cls-meta.xml
│ │ │ │ ├── NextNYearsComparableTest.cls-meta.xml
│ │ │ │ ├── NextQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── ThisFiscalQuarterComparable.cls-meta.xml
│ │ │ │ ├── ThisFiscalYearComparable.cls-meta.xml
│ │ │ │ ├── ThisFiscalYearComparableTest.cls-meta.xml
│ │ │ │ ├── ThisQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── DateLiteralComparableFactoryTest.cls-meta.xml
│ │ │ │ ├── LastFiscalQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── LastNFiscalQuartersComparable.cls-meta.xml
│ │ │ │ ├── LastNFiscalQuartersComparableTest.cls-meta.xml
│ │ │ │ ├── LastNFiscalYearsComparableTest.cls-meta.xml
│ │ │ │ ├── NFiscalYearsAgoComparableTest.cls-meta.xml
│ │ │ │ ├── NextFiscalQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── NextNFiscalQuartersComparable.cls-meta.xml
│ │ │ │ ├── NextNFiscalQuartersComparableTest.cls-meta.xml
│ │ │ │ ├── NextNFiscalYearsComparableTest.cls-meta.xml
│ │ │ │ ├── ThisFiscalQuarterComparableTest.cls-meta.xml
│ │ │ │ ├── ThisYearComparable.cls
│ │ │ │ ├── LastNDaysComparable.cls
│ │ │ │ ├── NDaysAgoComparable.cls
│ │ │ │ ├── Next90DaysComparable.cls
│ │ │ │ ├── TodayComparable.cls
│ │ │ │ ├── YesterdayComparable.cls
│ │ │ │ ├── NextNDaysComparable.cls
│ │ │ │ ├── LastNWeeksComparable.cls
│ │ │ │ ├── TomorrowComparable.cls
│ │ │ │ ├── NextNWeeksComparable.cls
│ │ │ │ ├── ThisMonthComparable.cls
│ │ │ │ ├── LastWeekComparable.cls
│ │ │ │ ├── NextWeekComparable.cls
│ │ │ │ ├── ThisFiscalYearComparable.cls
│ │ │ │ ├── ThisWeekComparable.cls
│ │ │ │ └── LastMonthComparable.cls
│ │ │ ├── select-handler
│ │ │ ├── Attributes.cls-meta.xml
│ │ │ ├── FieldSelector.cls-meta.xml
│ │ │ ├── ISelectHandler.cls-meta.xml
│ │ │ ├── FieldSelectHandler.cls-meta.xml
│ │ │ ├── PolymorphicAttributes.cls-meta.xml
│ │ │ ├── PolymorphicSelectHandler.cls-meta.xml
│ │ │ ├── SelectHandlerFactory.cls-meta.xml
│ │ │ ├── ChildSubQuerySelectHandler.cls-meta.xml
│ │ │ └── ParentSubQuerySelectHandler.cls-meta.xml
│ │ │ ├── aggregate-calculator
│ │ │ ├── MaxCalculator.cls-meta.xml
│ │ │ ├── MinCalculator.cls-meta.xml
│ │ │ ├── SumCalculator.cls-meta.xml
│ │ │ ├── AverageCalculator.cls-meta.xml
│ │ │ ├── CountCalculator.cls-meta.xml
│ │ │ ├── CalendarMonthCalculator.cls-meta.xml
│ │ │ ├── CalendarYearCalculator.cls-meta.xml
│ │ │ ├── CountDistinctCalculator.cls-meta.xml
│ │ │ ├── IAggregateCalculator.cls-meta.xml
│ │ │ ├── AggregateCalculatorFactory.cls-meta.xml
│ │ │ ├── AggregateCalculatorOptions.cls-meta.xml
│ │ │ └── CalendarQuarterCalculator.cls-meta.xml
│ │ │ ├── aggregate-service
│ │ │ └── AggregateService.cls-meta.xml
│ │ │ ├── order-by-handler
│ │ │ ├── OrderByHandler.cls-meta.xml
│ │ │ ├── OrderByOptions.cls-meta.xml
│ │ │ ├── OrderByHandlerFactory.cls-meta.xml
│ │ │ ├── RecordOrderByHandler.cls-meta.xml
│ │ │ └── AggregateOrderByHandler.cls-meta.xml
│ │ │ ├── Id-field-comparator
│ │ │ ├── IdFieldComparator.cls-meta.xml
│ │ │ ├── IdFieldComparatorFactory.cls-meta.xml
│ │ │ ├── ReferenceFieldComparator.cls-meta.xml
│ │ │ └── IdAndReferenceFieldComparator.cls-meta.xml
│ │ │ ├── comparable-service
│ │ │ ├── ComparableRecordData.cls-meta.xml
│ │ │ ├── ComparableService.cls-meta.xml
│ │ │ ├── ParentLookupChain.cls-meta.xml
│ │ │ ├── ParentLookupResolver.cls-meta.xml
│ │ │ ├── ParentRecordData.cls-meta.xml
│ │ │ ├── QueriedFieldResolver.cls-meta.xml
│ │ │ ├── ComparableServiceTest.cls-meta.xml
│ │ │ └── QueriedFieldResolverTest.cls-meta.xml
│ │ │ ├── aggregate-query-handler
│ │ │ ├── AggregateProcessor.cls-meta.xml
│ │ │ ├── AggregateQueryHandler.cls-meta.xml
│ │ │ ├── AggregateStandardProcessor.cls-meta.xml
│ │ │ └── AggregateStandardProcessorTest.cls-meta.xml
│ │ │ └── boolean-logic-handlers
│ │ │ ├── BooleanLogicHandler.cls-meta.xml
│ │ │ ├── BooleanLogicOptions.cls-meta.xml
│ │ │ ├── HavingLogicHandler.cls-meta.xml
│ │ │ ├── WhereLogicHandler.cls-meta.xml
│ │ │ ├── WhereLogicHandlerTest.cls-meta.xml
│ │ │ ├── date-literal
│ │ │ └── DateLiteral.cls-meta.xml
│ │ │ └── where-logic-comparison
│ │ │ ├── WhereLogicComparisonResults.cls-meta.xml
│ │ │ ├── WhereLogicDateFuncStrategy.cls-meta.xml
│ │ │ ├── IWhereLogicComparisonStrategy.cls-meta.xml
│ │ │ ├── WhereLogicParentFieldStrategy.cls-meta.xml
│ │ │ ├── WhereLogicRecordFieldStrategy.cls-meta.xml
│ │ │ └── IWhereLogicComparisonStrategy.cls
│ └── utilities
│ │ ├── gmt
│ │ ├── GMT.cls-meta.xml
│ │ └── GmtTest.cls-meta.xml
│ │ ├── regex
│ │ ├── Regex.cls-meta.xml
│ │ └── RegexTest.cls-meta.xml
│ │ ├── common
│ │ ├── Common.cls-meta.xml
│ │ └── CommonTest.cls-meta.xml
│ │ ├── dynamic-types
│ │ ├── TypeOf.cls-meta.xml
│ │ ├── ApexTypes.cls-meta.xml
│ │ ├── DynamicCast.cls-meta.xml
│ │ ├── TypeOfTest.cls-meta.xml
│ │ └── DynamicCastTest.cls-meta.xml
│ │ ├── aggregate
│ │ ├── AggregateBuilder.cls-meta.xml
│ │ ├── AggregateTest.cls-meta.xml
│ │ └── ProtoAggregate.cls-meta.xml
│ │ ├── id-generator
│ │ ├── fflib_IDGenerator.cls-meta.xml
│ │ └── fflib_IDGeneratorTest.cls-meta.xml
│ │ ├── schema-service
│ │ ├── SchemaService.cls-meta.xml
│ │ └── SchemaServiceTest.cls-meta.xml
│ │ ├── singletons
│ │ ├── OrganizationSingleton.cls-meta.xml
│ │ └── OrganizationSingletonTest.cls-meta.xml
│ │ └── common-exceptions
│ │ ├── NotFoundException.cls-meta.xml
│ │ ├── ParsingException.cls-meta.xml
│ │ ├── ValidationException.cls-meta.xml
│ │ └── ValidationException.cls
│ └── staticresources
│ ├── ALIAS_0.resource-meta.xml
│ ├── HAVING_0.resource-meta.xml
│ ├── HAVING_1.resource-meta.xml
│ ├── HAVING_2.resource-meta.xml
│ ├── LIMIT_0.resource-meta.xml
│ ├── OFFSET_0.resource-meta.xml
│ ├── SCOPE_0.resource-meta.xml
│ ├── SELECT_0.resource-meta.xml
│ ├── SELECT_1.resource-meta.xml
│ ├── SELECT_2.resource-meta.xml
│ ├── SELECT_3.resource-meta.xml
│ ├── SELECT_4.resource-meta.xml
│ ├── SELECT_5.resource-meta.xml
│ ├── SELECT_6.resource-meta.xml
│ ├── SELECT_7.resource-meta.xml
│ ├── SELECT_8.resource-meta.xml
│ ├── SELECT_9.resource-meta.xml
│ ├── WHERE_0.resource-meta.xml
│ ├── WHERE_1.resource-meta.xml
│ ├── WHERE_2.resource-meta.xml
│ ├── WHERE_3.resource-meta.xml
│ ├── WHERE_4.resource-meta.xml
│ ├── WHERE_5.resource-meta.xml
│ ├── WHERE_6.resource-meta.xml
│ ├── WHERE_7.resource-meta.xml
│ ├── WHERE_8.resource-meta.xml
│ ├── WHERE_9.resource-meta.xml
│ ├── AGGREGATE_0.resource-meta.xml
│ ├── AGGREGATE_1.resource-meta.xml
│ ├── AGGREGATE_2.resource-meta.xml
│ ├── AGGREGATE_3.resource-meta.xml
│ ├── AGGREGATE_4.resource-meta.xml
│ ├── AGGREGATE_5.resource-meta.xml
│ ├── AGGREGATE_6.resource-meta.xml
│ ├── FOR_UPDATE_0.resource-meta.xml
│ ├── GROUP_BY_0.resource-meta.xml
│ ├── GROUP_BY_1.resource-meta.xml
│ ├── ORDER_BY_0.resource-meta.xml
│ ├── ORDER_BY_1.resource-meta.xml
│ ├── ORDER_BY_2.resource-meta.xml
│ ├── ORDER_BY_3.resource-meta.xml
│ ├── SELECT_10.resource-meta.xml
│ ├── SELECT_11.resource-meta.xml
│ ├── VALUE_LIST_0.resource-meta.xml
│ ├── CALENDAR_MONTH_0.resource-meta.xml
│ ├── CALENDAR_QUARTER_0.resource-meta.xml
│ ├── CALENDAR_QUARTER_1.resource-meta.xml
│ ├── CALENDAR_QUARTER_2.resource-meta.xml
│ ├── CALENDAR_YEAR_0.resource-meta.xml
│ ├── CALENDAR_YEAR_1.resource-meta.xml
│ ├── FOR_VIEW_OR_REFERENCE_0.resource-meta.xml
│ ├── FOR_VIEW_OR_REFERENCE_1.resource-meta.xml
│ ├── SELECT_0.json
│ ├── SELECT_2.json
│ ├── AGGREGATE_4.json
│ ├── SELECT_3.json
│ ├── SELECT_1.json
│ ├── AGGREGATE_5.json
│ ├── FOR_UPDATE_0.json
│ ├── AGGREGATE_0.json
│ ├── AGGREGATE_1.json
│ ├── AGGREGATE_2.json
│ ├── AGGREGATE_3.json
│ ├── FOR_VIEW_OR_REFERENCE_0.json
│ ├── AGGREGATE_6.json
│ ├── FOR_VIEW_OR_REFERENCE_1.json
│ ├── LIMIT_0.json
│ ├── OFFSET_0.json
│ ├── SELECT_4.json
│ ├── ORDER_BY_0.json
│ ├── ORDER_BY_1.json
│ ├── SELECT_5.json
│ ├── GROUP_BY_0.json
│ ├── SCOPE_0.json
│ ├── ORDER_BY_2.json
│ ├── ORDER_BY_3.json
│ ├── WHERE_4.json
│ ├── WHERE_0.json
│ ├── WHERE_3.json
│ ├── GROUP_BY_1.json
│ ├── WHERE_7.json
│ ├── SELECT_6.json
│ ├── SELECT_7.json
│ ├── CALENDAR_MONTH_0.json
│ ├── CALENDAR_QUARTER_1.json
│ ├── CALENDAR_YEAR_0.json
│ ├── HAVING_0.json
│ ├── VALUE_LIST_0.json
│ ├── CALENDAR_YEAR_1.json
│ ├── ALIAS_0.json
│ ├── CALENDAR_QUARTER_0.json
│ ├── WHERE_1.json
│ └── SELECT_9.json
├── .github
├── workflows
│ ├── code-scan.yaml
│ └── prettier-check.yaml
└── ISSUE_TEMPLATE
│ └── feature_request.md
├── .cursor
└── rules
│ └── salesforce.mdc
├── .forceignore
└── tsconfig.json
/scripts/apex/output.log:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # No touchy >.<
2 | @ZackFra
3 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "tabWidth": 4
3 | }
--------------------------------------------------------------------------------
/docs/MoxygenUML.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZackFra/Salesforce-Moxygen/HEAD/docs/MoxygenUML.jpg
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | npx lint-staged --allow-empty
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .vscode/
3 |
4 | package-lock.json
5 | .sf/
6 | .sfdx/
7 | config/
8 |
9 | hardis-report/
10 | destructiveChanges/
--------------------------------------------------------------------------------
/scripts/bash/config-sf.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | npm i -g @salesforce/cli
3 | sf org login sfdx-url --sfdx-url-file $1 --set-default-dev-hub --alias DevHub
--------------------------------------------------------------------------------
/scripts/bash/diagnose.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | echo y | sf plugins install sfdx-hardis
3 | sf hardis:org:diagnose:instanceupgrade --json > instance_upgrade.json
--------------------------------------------------------------------------------
/scripts/bash/invoke-lambda-func.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | aws lambda invoke --payload $1 --function-name $2 --cli-binary-format raw-in-base64-out outfile.json
--------------------------------------------------------------------------------
/scripts/typescript/models/salesforce-response.d.ts:
--------------------------------------------------------------------------------
1 | interface SalesforceResponse {
2 | status: number
3 | result: object
4 | warnings: string[]
5 | }
--------------------------------------------------------------------------------
/scripts/bash/config-github-bot.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | git config --global user.name 'GitHub Action Bot'
4 | git config --global user.email 'action@github.com'
--------------------------------------------------------------------------------
/scripts/bash/create-sfdx-auth-file.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | sfdx_auth_url=$1
3 | auth_file=${2:-"authFile.json"}
4 | echo "{\"sfdxAuthUrl\": \"$sfdx_auth_url\"}" > "$auth_file"
--------------------------------------------------------------------------------
/scripts/soql/scratch.soql:
--------------------------------------------------------------------------------
1 | SELECT CALENDAR_MONTH(closeDate) month, SUM(Amount) total
2 | FROM Opportunity
3 | GROUP BY CALENDAR_MONTH(CloseDate)
4 | HAVING CALENDAR_MONTH(CloseDate) < 12
--------------------------------------------------------------------------------
/scripts/typescript/models/query-response.d.ts:
--------------------------------------------------------------------------------
1 | interface QueryResponse extends SalesforceResponse {
2 | result: {
3 | totalSize: number,
4 | done: boolean,
5 | records: any[]
6 | }
7 | }
--------------------------------------------------------------------------------
/scripts/typescript/models/hardis-duplicate-response.d.ts:
--------------------------------------------------------------------------------
1 | interface HardisDuplicateResponse extends SalesforceResponse {
2 | result: {
3 | duplicates: {
4 | [key: string]: string[]
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/DML.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/ORM.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/DMLTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/Selector.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/Types.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/scripts/bash/save-deployment.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | scripts/bash/config-aws.sh
3 | node scripts/js/format-deployment-data.js "validate.json"
4 | scripts/bash/invoke-lambda-func.sh "file://deployment-request.json" $AWS_SAVE_DEPLOYMENT_FUNC
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/Token.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/Aggregate.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/SelectorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/gmt/GMT.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/DataStore.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/DataStoreTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/MockDatabase.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/gmt/GmtTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/regex/Regex.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/MockDatabaseTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common/Common.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common/CommonTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/regex/RegexTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/DmlEngine.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/SoqlEngine.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/Node.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/dynamic-types/TypeOf.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/MockSOQLHandler.md:
--------------------------------------------------------------------------------
1 | # MockSOQLHandler Class
2 | `virtual`
3 |
4 | Base class for handling SOQL queries to the mock database
5 |
6 | **Since**
7 |
8 | 4/13/2024
9 |
10 | **Group** Soql Engine
11 |
12 | **Author** Zackary Frazier
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/NodeBuilder.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/NodeService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/NodeTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/NodeType.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/Parser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/aggregate/AggregateBuilder.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/aggregate/AggregateTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/aggregate/ProtoAggregate.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/dynamic-types/ApexTypes.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/dynamic-types/DynamicCast.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/dynamic-types/TypeOfTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/TopLevelNodes.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/Intermediary.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/ParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/dynamic-types/DynamicCastTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/id-generator/fflib_IDGenerator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/schema-service/SchemaService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/schema-service/SchemaServiceTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/singletons/OrganizationSingleton.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/scripts/apex/scratch.apex:
--------------------------------------------------------------------------------
1 | Account acct = new Account(Id = '0011a00000Bb9ZzAAJ', Name = 'Test Account');
2 |
3 | Opportunity opp = new Opportunity(
4 | Id = '0061a00000Bb9ZzAAJ',
5 | Name = 'Test Opportunity',
6 | AccountId = '0011a00000Bb9ZzAAJ'
7 | );
8 |
--------------------------------------------------------------------------------
/scripts/bash/config-aws.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | npm i -g aws-cdk
3 | aws configure set aws_access_key_id $AWS_ACCESS_KEY
4 | aws configure set aws_secret_access_key $AWS_SECRET
5 | aws configure set default.region $AWS_REGION
6 | aws configure set default.output json
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common-exceptions/NotFoundException.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common-exceptions/ParsingException.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common-exceptions/ValidationException.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/id-generator/fflib_IDGeneratorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/singletons/OrganizationSingletonTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockDMLHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FieldParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FromParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/GroupByParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/HavingParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserUtils.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/QueryParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SObjectParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SelectParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SubParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WhereParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockDeleteHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockInsertHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUndeleteHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUpdateHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/MockUpsertHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockSOQLHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/QueryValidator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/FieldListParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/GroupByParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/HavingParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OperatorParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserDateFuncTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ParserUtilsTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/SelectParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueListParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WhereParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/NotFoundException.md:
--------------------------------------------------------------------------------
1 | # NotFoundException Class
2 |
3 | Generic exception for when something is not found
4 |
5 | **Since**
6 |
7 | 7/12/2024
8 |
9 | **Group** Utilities
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Inheritance**
14 |
15 | Exception
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/alias-service/AliasService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/ObjectComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/SObjectComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/ILimitHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/LimitOptions.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/IOffsetHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/OffsetOptions.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/InHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LikeHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/NotInHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/Attributes.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/FieldSelector.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ISelectHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockCountQueryHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockRecordQueryHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/DateFuncs.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/IDateFunc.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/ParserTestUtil.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AggregateFuncParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AggregateFuncParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ValueListParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithDataCategoryParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ALIAS_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/HAVING_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/HAVING_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/HAVING_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/LIMIT_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/OFFSET_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SCOPE_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_3.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_4.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_5.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_6.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_7.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_8.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_9.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_3.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_4.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_5.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_6.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_7.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_8.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_9.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/.github/workflows/code-scan.yaml:
--------------------------------------------------------------------------------
1 | name: CodeScan Pull Request On Main
2 |
3 | on:
4 | workflow_call:
5 |
6 |
7 | jobs:
8 | code-scan-pull-request:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - name: Run Code Scan
12 | uses: ZackFra/sfdx-codescan@master
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/MaxCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/MinCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/SumCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-service/AggregateService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/AggregateComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/ObjectComparatorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/SObjectComparatorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/CountLimitHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/LimitHandlerFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/RecordLimitHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/CountOffsetHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/RecordOffsetHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/EqualityHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/ExcludesHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/IOperatorHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/IncludesHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/InequalityHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LessThanHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByOptions.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/FieldSelectHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockAggregateQueryHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarYearFunc.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/DateFuncFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/MockDatabaseDateFuncTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithSecurityEnforcedParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/DateParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/NullParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_3.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_4.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_5.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_6.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_UPDATE_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/GROUP_BY_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/GROUP_BY_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_3.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_10.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_11.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/VALUE_LIST_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdFieldComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AverageCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CountCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableRecordData.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentLookupChain.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentLookupResolver.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ParentRecordData.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/QueriedFieldResolver.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparators/AggregateComparatorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/limit-handler/AggregateLimitHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/AggregateOffsetHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/offset-handler/OffsetHandlerFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/EqualityHandlerTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/GreaterThanHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/LessThanOrEqualHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/OperatorHandlerFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/OrderByHandlerFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/RecordOrderByHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/PolymorphicAttributes.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/PolymorphicSelectHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/SelectHandlerFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/MockAggregateQueryHandlerTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarMonthFunc.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/CalendarQuarterFunc.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/AbstractSyntaxTreeWithQuery.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/UpdateTrackingOrViewStatParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/WithSecurityEnforcedParserTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/BooleanParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/NumberParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/StringParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_MONTH_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_QUARTER_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_QUARTER_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_QUARTER_2.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_YEAR_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_YEAR_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/ValidationException.md:
--------------------------------------------------------------------------------
1 | # ValidationException Class
2 |
3 | This class is responsible for handling validation exceptions
4 |
5 | **Since**
6 |
7 | 11/28/2024
8 |
9 | **Group** Utilities
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Inheritance**
14 |
15 | Exception
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/dml-engine/mock-dml-handlers/SaveResultService/SaveResultService.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdFieldComparatorFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/ReferenceFieldComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarMonthCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarYearCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CountDistinctCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/IAggregateCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateProcessor.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/BooleanLogicHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/BooleanLogicOptions.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/HavingLogicHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/WhereLogicHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/WhereLogicHandlerTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/ComparableServiceTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/comparable-service/QueriedFieldResolverTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/GreaterThanOrEqualHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/order-by-handler/AggregateOrderByHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ChildSubQuerySelectHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/select-handler/ParentSubQuerySelectHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/BindVariableParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/DateLiteralParser.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_0.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_1.resource-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Public
4 | application/json
5 |
6 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/Id-field-comparator/IdAndReferenceFieldComparator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AggregateCalculatorFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/AggregateCalculatorOptions.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-calculator/CalendarQuarterCalculator.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateQueryHandler.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/date-literal/DateLiteral.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/PrimitiveParserFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateStandardProcessor.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/aggregate-query-handler/AggregateStandardProcessorTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/primitive-parsers/PrimitiveParserFactoryTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastYearComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Last90DaysComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNMonthsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNQuartersComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNYearsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastYearComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NMonthsAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NQuartersAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NWeeksAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NWeeksAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NYearsAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NYearsAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextMonthComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextMonthComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNMonthsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNQuartersComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNYearsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/scripts/bash/get-deployment.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | scripts/bash/config-aws.sh
3 | scripts/bash/invoke-lambda-func.sh "{\"pullRequestUrl\":\"/$REPOSITORY/pull/$PULL_REQUEST_NUMBER\"}" $AWS_GET_DEPLOYMENT_FUNC
4 | node scripts/js/get-job-id.js "outfile.json"
5 | echo "quick-deploy-id=$(cat job-id.txt)" >> "$GITHUB_OUTPUT"
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparableFactory.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Last90DaysComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalYearComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalYearComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalYearsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNMonthsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNQuartersComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNYearsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NFiscalYearsAgoComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NMonthsAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NQuartersAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalYearComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalYearComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalYearsComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNMonthsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNQuartersComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNYearsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalQuarterComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/utilities/common-exceptions/ValidationException.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description This class is responsible for handling validation exceptions
3 | * @author Zackary Frazier
4 | * @since 11/28/2024
5 | * @group Utilities
6 | */
7 | public with sharing class ValidationException extends Exception {
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_2.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"account.name"},"id":"select"},"query":"SELECT Account.Name FROM Contact"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicComparisonResults.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicDateFuncStrategy.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/DateLiteralComparableFactoryTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastFiscalQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalQuartersComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalQuartersComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNFiscalYearsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NFiscalYearsAgoComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextFiscalQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalQuartersComparable.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalQuartersComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNFiscalYearsComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalQuarterComparableTest.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_4.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT() FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/IWhereLogicComparisonStrategy.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicParentFieldStrategy.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/WhereLogicRecordFieldStrategy.cls-meta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 64.0
4 | Active
5 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/LimitParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class LimitParserTest {
4 | @IsTest
5 | static void selectIdFromAccountLimit10() {
6 | ParserTestUtil.assertStaticResource('LIMIT_0');
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OffsetParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class OffsetParserTest {
4 | @IsTest
5 | static void selectNameFromAccountOffset10() {
6 | ParserTestUtil.assertStaticResource('OFFSET_0');
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/AliasParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class AliasParserTest {
4 | @IsTest
5 | static void aliasParentAccountNameWhenSelectingContact() {
6 | ParserTestUtil.assertStaticResource('ALIAS_0');
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_3.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"opportunity.account.name"},"id":"select"},"query":"SELECT Opportunity.Account.Name FROM Contact"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ScopeParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class ScopeParserTest {
4 | @IsTest
5 | static void selectIdNameFromAccountUsingScopeEverything() {
6 | ParserTestUtil.assertStaticResource('SCOPE_0');
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForUpdateParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class ForUpdateParserTest {
4 | @IsTest
5 | private static void selectIdFromAccountForUpdate() {
6 | ParserTestUtil.assertStaticResource('FOR_UPDATE_0');
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_5.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT(Id) FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_UPDATE_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for update","left":null,"id":"for update"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account FOR UPDATE"}
--------------------------------------------------------------------------------
/.cursor/rules/salesforce.mdc:
--------------------------------------------------------------------------------
1 | ---
2 | description:
3 | globs: *.cls,*.apex,*.trigger
4 | ---
5 |
6 | # Your rule content
7 |
8 | - You can @ files here
9 | - You can use markdown but dont have to
10 | - Write Apex code in alignment with the PMD's expectations when using default configuration for Apex
11 | - When creating a new Apex class, create the associated .cls-meta.xml file as well
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"avg"},"id":"select"},"query":"SELECT AVG(Amount) FROM Opportunity"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"min"},"id":"select"},"query":"SELECT MIN(Amount) FROM Opportunity"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_2.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"max"},"id":"select"},"query":"SELECT MAX(Amount) FROM Opportunity"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_3.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"opportunity"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"amount"},"nodeType":"aggregate function","left":null,"id":"sum"},"id":"select"},"query":"SELECT SUM(Amount) FROM Opportunity"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for view","left":null,"id":"for view"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account FOR VIEW"}
--------------------------------------------------------------------------------
/scripts/typescript/models/org-display-response.d.ts:
--------------------------------------------------------------------------------
1 | interface OrgDisplayResponse extends SalesforceResponse {
2 | result: {
3 | id: string,
4 | apiVersion: string,
5 | accessToken: string,
6 | instanceUrl: string,
7 | username: string,
8 | clientId: string,
9 | connectedStatus: string,
10 | alias: string
11 | }
12 | }
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/AGGREGATE_6.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count_distinct"},"id":"select"},"query":"SELECT COUNT_DISTINCT(Id) FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/parser-test-util/AbstractSyntaxTreeWithQuery.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Represents and AST as stored in the parser static resources
3 | * @author Zackary Frazier
4 | * @since 7/18/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class AbstractSyntaxTreeWithQuery {
8 | public String query;
9 | public Node ast;
10 | }
11 |
--------------------------------------------------------------------------------
/.forceignore:
--------------------------------------------------------------------------------
1 | # List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
2 | # More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
3 | #
4 |
5 | package.xml
6 |
7 | # LWC configuration files
8 | **/jsconfig.json
9 | **/.eslintrc.json
10 |
11 | # LWC Jest
12 | **/__tests__/**
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/FOR_VIEW_OR_REFERENCE_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"for reference","left":null,"id":"for reference"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account FOR REFERENCE"}
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: "[FEATURE]"
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Additional context**
14 | Add any other context or screenshots about the feature request here.
15 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/LIMIT_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"limit","left":{"right":null,"nodeType":"number","left":null,"id":"10"},"id":"limit"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account LIMIT 10"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/OFFSET_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"offset","left":{"right":null,"nodeType":"number","left":null,"id":"10"},"id":"offset"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account OFFSET 10"}
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/ILimitHandler.md:
--------------------------------------------------------------------------------
1 | # ILimitHandler Interface
2 |
3 | Interface for limit handler
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `handleLimit()`
15 |
16 | Handles the limit
17 |
18 | #### Signature
19 | ```apex
20 | public Object handleLimit()
21 | ```
22 |
23 | #### Return Type
24 | **Object**
25 |
26 | ,[object Object]
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/IOffsetHandler.md:
--------------------------------------------------------------------------------
1 | # IOffsetHandler Interface
2 |
3 | Interface for offset handler
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `handleOffset()`
15 |
16 | Offset handler
17 |
18 | #### Signature
19 | ```apex
20 | public Object handleOffset()
21 | ```
22 |
23 | #### Return Type
24 | **Object**
25 |
26 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_4.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"lastname"},"id":"firstname"},"id":"select"},"query":"SELECT FirstName, LastName, Name FROM Contact"}
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/ISelectHandler.md:
--------------------------------------------------------------------------------
1 | # ISelectHandler Interface
2 |
3 | Interface for handling select operations
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `handleSelect()`
15 |
16 | Handles the select operation
17 |
18 | #### Signature
19 | ```apex
20 | public SObject handleSelect()
21 | ```
22 |
23 | #### Return Type
24 | **SObject**
25 |
26 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account ORDER BY Name, Id"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"direction","left":null,"id":"desc"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name DESC"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_5.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"myAcctName"},"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name myAcctName FROM Account GROUP BY Name"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/GROUP_BY_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"myAcctName"},"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name myAcctName FROM Account GROUP BY Name"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SCOPE_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"using scope","left":{"right":null,"nodeType":"scope","left":null,"id":"everything"},"id":"using scope"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name FROM Account USING SCOPE everything"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_2.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"nulls direction","left":null,"id":"nulls first"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name NULLS FIRST"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ORDER_BY_3.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"order by","left":{"right":{"right":null,"nodeType":"nulls direction","left":null,"id":"nulls last"},"nodeType":"field","left":null,"id":"name"},"id":"order by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account ORDER BY Name NULLS LAST"}
--------------------------------------------------------------------------------
/scripts/js/install-moxygen.js:
--------------------------------------------------------------------------------
1 | const fs = require("fs");
2 | const { execSync } = require("child_process");
3 |
4 | const FILE_NAME = "sfdx-project.json";
5 |
6 | const file = fs.readFileSync(FILE_NAME, "utf-8");
7 | const project = JSON.parse(file);
8 | const packageAliases = Object.keys(project.packageAliases);
9 | const latestVersion = packageAliases[packageAliases.length - 1];
10 | const installResults = execSync("sf package install -p " + latestVersion + " -w 10").toString();
11 | console.log(installResults);
12 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_4.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"bind variable","left":null,"id":"id"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Id = :id"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"string","left":null,"id":"test"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Name = 'Test'"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_3.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"boolean","left":null,"id":"true"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"isdeleted"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE IsDeleted = true"}
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "display": "Node 20",
4 | "_version": "20.1.0",
5 | "include": ["scripts/**/*.ts"],
6 |
7 | "compilerOptions": {
8 | "outDir": "scripts/typescript/build",
9 | "lib": ["es2023"],
10 | "module": "node16",
11 | "target": "es2022",
12 | "types": ["node"],
13 |
14 | "strict": true,
15 | "esModuleInterop": true,
16 | "skipLibCheck": true,
17 | "moduleResolution": "node16"
18 | }
19 | }
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/AbstractSyntaxTreeWithQuery.md:
--------------------------------------------------------------------------------
1 | # AbstractSyntaxTreeWithQuery Class
2 |
3 | Represents and AST as stored in the parser static resources
4 |
5 | **Since**
6 |
7 | 7/18/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Fields
14 | ### `ast`
15 |
16 | #### Signature
17 | ```apex
18 | public ast
19 | ```
20 |
21 | #### Type
22 | [Node](Node.md)
23 |
24 | ---
25 |
26 | ### `query`
27 |
28 | #### Signature
29 | ```apex
30 | public query
31 | ```
32 |
33 | #### Type
34 | String
--------------------------------------------------------------------------------
/docs/apexdocs/dml-engine/MockDMLHandler.md:
--------------------------------------------------------------------------------
1 | # MockDMLHandler Class
2 | `abstract`
3 |
4 | MockDMLHandler is an abstract class that provides a base class for mocking DML operations.
5 |
6 | **Since**
7 |
8 | 3/9/2024
9 |
10 | **Group** DML Engine
11 |
12 | **Author** Zackary Frazier
13 |
14 | ## Methods
15 | ### `wasCalled()`
16 |
17 | Returns true if the method was called, otherwise false.
18 |
19 | #### Signature
20 | ```apex
21 | public Boolean wasCalled()
22 | ```
23 |
24 | #### Return Type
25 | **Boolean**
26 |
27 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/ForViewOrReferenceParserTest.cls:
--------------------------------------------------------------------------------
1 | @isTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class ForViewOrReferenceParserTest {
4 | @isTest
5 | static void selectNameFromAccountForView() {
6 | ParserTestUtil.assertStaticResource('FOR_VIEW_OR_REFERENCE_0');
7 | }
8 |
9 | @IsTest
10 | static void selectNameFromAccountForReference() {
11 | ParserTestUtil.assertStaticResource('FOR_VIEW_OR_REFERENCE_1');
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/GROUP_BY_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"alias","left":null,"id":"Cnt1"},"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"select"},"query":"SELECT COUNT(Id) Cnt1 FROM Account GROUP BY Id"}
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/OrganizationSingleton.md:
--------------------------------------------------------------------------------
1 | # OrganizationSingleton Class
2 |
3 | Singleton for the Organization object
4 |
5 | **Since**
6 |
7 | 1/7/2025
8 |
9 | **Group** Utilities
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `getInstance()`
15 |
16 | Gets the Organization object
17 |
18 | #### Signature
19 | ```apex
20 | public static Organization getInstance()
21 | ```
22 |
23 | #### Return Type
24 | **Organization**
25 |
26 | ,[object Object]
27 |
28 | #### Throws
29 | [ValidationException](ValidationException.md):
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_7.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":null,"nodeType":"not","left":{"right":{"right":null,"nodeType":"string","left":null,"id":"test"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"firstname"},"id":"="},"id":"not"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Contact WHERE NOT FirstName = 'test'"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_6.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"nodeType":"subquery","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"subquery"},"id":"select"},"query":"SELECT (SELECT Id FROM Contacts), Id FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_7.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"id":"id"},"id":"select"},"query":"SELECT Id, (SELECT Id FROM Contacts) FROM Account"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/mock-soql-handlers/date-funcs/IDateFunc.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Interface for date functions
3 | * @author Zackary Frazier
4 | * @since 1/17/2025
5 | * @group Soql Engine
6 | */
7 | public interface IDateFunc {
8 | /**
9 | * @description Calculate the date function value for a given date or datetime value
10 | * @param dateOrDateTime Date or Datetime value to calculate the date function value of
11 | * @return The date function value of the date or datetime value
12 | */
13 | Integer calculate(Object dateOrDateTime);
14 | }
15 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisYearComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable for THIS_YEAR
3 | * @author Zackary Frazier
4 | * @since 1/4/2025
5 | * @group Soql Engine
6 | */
7 | public with sharing class ThisYearComparable extends DateLiteralComparable {
8 | public override Boolean isLessThan(DateTime fieldValue) {
9 | return fieldValue.yearGmt() < Gmt.today().year();
10 | }
11 |
12 | public override Boolean isGreaterThan(DateTime fieldValue) {
13 | return fieldValue.yearGmt() > Gmt.today().year();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.github/workflows/prettier-check.yaml:
--------------------------------------------------------------------------------
1 | name: Check Prettier
2 |
3 | on:
4 | workflow_call:
5 |
6 | jobs:
7 | prettier-check:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Set up Node.js
11 | uses: actions/setup-node@v4
12 | with:
13 | node-version: '20'
14 | - name: Checkout
15 | uses: actions/checkout@v4
16 | with:
17 | fetch-depth: 0
18 | - name: Install Dependencies
19 | run: npm ci
20 | - name: Run Prettier Check
21 | run: npm run prettier:verify
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/TypeOf.md:
--------------------------------------------------------------------------------
1 | # TypeOf Class
2 |
3 | TypeOf is a class that provides a method to determine the type of an object.
4 |
5 | **Since**
6 |
7 | 11/16/2024
8 |
9 | **Group** Utilities
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `forObject(obj)`
15 |
16 | Given an object, determine the type of the object.
17 |
18 | #### Signature
19 | ```apex
20 | public static String forObject(Object obj)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | obj | Object | `Object` |
27 |
28 | #### Return Type
29 | **String**
30 |
31 | ,[object Object]
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/fflib_IDGenerator.md:
--------------------------------------------------------------------------------
1 | # fflib_IDGenerator Class
2 |
3 | `SUPPRESSWARNINGS`
4 |
5 | Generates fake Salesforce Ids for testing purposes
6 |
7 | **Group** Utilities
8 |
9 | **Author** FinancialForce.com, inc
10 |
11 | ## Methods
12 | ### `generate(sobjectType)`
13 |
14 | Generate a fake Salesforce Id for the given SObjectType
15 |
16 | #### Signature
17 | ```apex
18 | public static Id generate(Schema.SObjectType sobjectType)
19 | ```
20 |
21 | #### Parameters
22 | | Name | Type | Description |
23 | |------|------|-------------|
24 | | sobjectType | Schema.SObjectType | |
25 |
26 | #### Return Type
27 | **Id**
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_MONTH_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"1"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_month"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_MONTH(CreatedDate) = 1"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_QUARTER_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"1"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_month"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_MONTH(CreatedDate) = 1"}
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_YEAR_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"2024"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"="},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"name"},"id":"select"},"query":"SELECT Name FROM Account WHERE CALENDAR_YEAR(CreatedDate) = 2024"}
--------------------------------------------------------------------------------
/docs/apexdocs/moxygen/Types.md:
--------------------------------------------------------------------------------
1 | # Types Class
2 |
3 | Types defined for this package
4 |
5 | **Since**
6 |
7 | 3/9/2024
8 |
9 | **Group** Moxygen
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Enums
14 | ### DML Enum
15 |
16 | The type of DML operation that was performed
17 |
18 | #### Values
19 | | Value | Description |
20 | |-------|-------------|
21 | | INSERTED | |
22 | | UPDATED | |
23 | | UPSERTED | |
24 | | DELETED | |
25 | | UNDELETED | |
26 | ### SOQL Enum
27 |
28 | The type of SOQL query that was performed
29 |
30 | #### Values
31 | | Value | Description |
32 | |-------|-------------|
33 | | RECORD | |
34 | | AGGREGATE | |
35 | | COUNT | |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/mox/Types.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Types defined for this package
3 | * @author Zackary Frazier
4 | * @since 3/9/2024
5 | * @group Moxygen
6 | */
7 | public with sharing class Types {
8 | /**
9 | * @description The type of DML operation that was performed
10 | */
11 | public enum DML {
12 | INSERTED,
13 | UPDATED,
14 | UPSERTED,
15 | DELETED,
16 | UNDELETED
17 | }
18 |
19 | /**
20 | * @description The type of SOQL query that was performed
21 | */
22 | public enum SOQL {
23 | RECORD,
24 | AGGREGATE,
25 | COUNT
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNDaysComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for LAST_N_DAYS
3 | * @author Zackary Frazier
4 | * @since 12/9/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class LastNDaysComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | return fieldValue >= Gmt.today();
10 | }
11 |
12 | public override Boolean isLessThan(DateTime fieldValue) {
13 | DateTime lastNDays = Gmt.today().addDays(-this.n);
14 | return fieldValue < lastNDays;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NDaysAgoComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for N_DAYS_AGO
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class NDaysAgoComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | return fieldValue >= Gmt.today();
10 | }
11 |
12 | public override Boolean isLessThan(DateTime fieldValue) {
13 | DateTime nDaysAgo = Gmt.today().addDays(-this.n);
14 | return fieldValue < nDaysAgo;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/Next90DaysComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for NEXT_90_DAYS
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class Next90DaysComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime next90Days = Gmt.today().addDays(90);
10 | return fieldValue > next90Days;
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | return fieldValue < Gmt.today();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/IdFieldComparator.md:
--------------------------------------------------------------------------------
1 | # IdFieldComparator Class
2 |
3 | Id Field Comparator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | Comparator
16 |
17 | ## Methods
18 | ### `compare(field1, field2)`
19 |
20 | #### Signature
21 | ```apex
22 | public Integer compare(Schema.SObjectField field1, Schema.SObjectField field2)
23 | ```
24 |
25 | #### Parameters
26 | | Name | Type | Description |
27 | |------|------|-------------|
28 | | field1 | Schema.SObjectField | |
29 | | field2 | Schema.SObjectField | |
30 |
31 | #### Return Type
32 | **Integer**
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/boolean-logic-handlers/where-logic-comparison/IWhereLogicComparisonStrategy.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Strategy inreferace for WHERE logic comparison
3 | * @author Zackary Frazier
4 | * @since 11/28/2024
5 | * @group Soql Engine
6 | */
7 | public interface IWhereLogicComparisonStrategy {
8 | /**
9 | * @description Retrieve the field value from the record based on the field node
10 | * @param record `SObject`
11 | * @param fieldNode `Node`
12 | * @return `WhereLogicComparisonResults`
13 | */
14 | WhereLogicComparisonResults getFieldValue(SObject record, Node fieldNode);
15 | }
16 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TodayComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for TODAY
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class TodayComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime today = Gmt.today();
10 | return fieldValue >= today.addDays(1);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime today = Gmt.today();
15 | return fieldValue < today;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/PrimitiveParserFactory.md:
--------------------------------------------------------------------------------
1 | # PrimitiveParserFactory Class
2 |
3 | Factory class for primitive parsers
4 |
5 | **Since**
6 |
7 | 11/30/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `getPrimitiveParser(query)`
15 |
16 | Returns the appropriate primitive parser for the given query
17 |
18 | #### Signature
19 | ```apex
20 | public static SubParser getPrimitiveParser(String query)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | query | String | `String` |
27 |
28 | #### Return Type
29 | **[SubParser](SubParser.md)**
30 |
31 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/YesterdayComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for YESTERDAY
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class YesterdayComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | return (DateTime) fieldValue >= Gmt.today();
10 | }
11 |
12 | public override Boolean isLessThan(DateTime fieldValue) {
13 | Date yesterday = GMT.today().addDays(-1);
14 | return (DateTime) fieldValue < yesterday;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNDaysComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for NEXT_N_DAYS
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class NextNDaysComparable extends DateLiteralComparable {
8 | public override Boolean isLessThan(DateTime fieldValue) {
9 | return fieldValue < Gmt.today().addDays(1);
10 | }
11 |
12 | public override Boolean isGreaterThan(DateTime fieldValue) {
13 | DateTime nextNDays = Gmt.today().addDays(this.n);
14 | return fieldValue >= nextNDays.addDays(1);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/Parser.md:
--------------------------------------------------------------------------------
1 | # Parser Class
2 |
3 | `SUPPRESSWARNINGS`
4 |
5 | The parser breaks down a SOQL query into an AST, to be fed into the parser (MockDatabase)
6 |
7 | **Since**
8 |
9 | 4/6/2024
10 |
11 | **Group** Soql Engine
12 |
13 | **Author** Zackary Frazier
14 |
15 | ## Methods
16 | ### `parse(query)`
17 |
18 | : Parses a trimmed SOQL query into an AST
19 |
20 | #### Signature
21 | ```apex
22 | public Node parse(String query)
23 | ```
24 |
25 | #### Parameters
26 | | Name | Type | Description |
27 | |------|------|-------------|
28 | | query | String | : String, the query to parse |
29 |
30 | #### Return Type
31 | **[Node](Node.md)**
32 |
33 | : Node, the head of the AST
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/HAVING_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":{"right":null,"nodeType":"having","left":{"right":{"right":null,"nodeType":"number","left":null,"id":"0"},"nodeType":"operator","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":">"},"id":"having"},"nodeType":"group by","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account GROUP BY Id HAVING COUNT(Id) > 0"}
--------------------------------------------------------------------------------
/docs/apexdocs/utilities/ParsingException.md:
--------------------------------------------------------------------------------
1 | # ParsingException Class
2 |
3 | Custom exception for parsing errors
4 |
5 | **Since**
6 |
7 | 4/9/2024
8 |
9 | **Group** Utilities
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Inheritance**
14 |
15 | Exception
16 |
17 | ## Constructors
18 | ### `ParsingException(message, expected)`
19 |
20 | Constructor for a ParsingException
21 |
22 | #### Signature
23 | ```apex
24 | public ParsingException(String message, String expected)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | message | String | ,[object Object], the message to display |
31 | | expected | String | : ,[object Object], the expected token |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastNWeeksComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for LAST_N_WEEKS
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class LastNWeeksComparable extends DateLiteralComparable {
8 | public override Boolean isLessThan(DateTime fieldValue) {
9 | DateTime lastNWeeks = Gmt.today().toStartOfWeek().addDays(-this.n * 7);
10 | return fieldValue < lastNWeeks;
11 | }
12 |
13 | public override Boolean isGreaterThan(DateTime fieldValue) {
14 | return fieldValue >= Gmt.today().toStartOfWeek();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/TomorrowComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for TOMORROW
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class TomorrowComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | Date tomorrow = GMT.today().addDays(1);
10 | return fieldValue > tomorrow.addDays(1);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | Date tomorrow = GMT.today().addDays(1);
15 | return fieldValue < tomorrow;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/node/NodeTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | private class NodeTest {
3 | @IsTest
4 | static void toStringActsAsExpected() {
5 | Parser t = new Parser();
6 | Node head = t.parse('SELECT Id FROM Account');
7 |
8 | Test.startTest();
9 | String result = head.toString();
10 | Test.stopTest();
11 |
12 | String expectedResult = '{ id: id, nodeType: field }, { id: select, nodeType: select }, { id: account, nodeType: object }, { id: from, nodeType: from }';
13 | Assert.areEqual(
14 | expectedResult,
15 | result,
16 | 'Expected result to be "' + expectedResult + '"'
17 | );
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/IDateFunc.md:
--------------------------------------------------------------------------------
1 | # IDateFunc Interface
2 |
3 | Interface for date functions
4 |
5 | **Since**
6 |
7 | 1/17/2025
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `calculate(dateOrDateTime)`
15 |
16 | Calculate the date function value for a given date or datetime value
17 |
18 | #### Signature
19 | ```apex
20 | public Integer calculate(Object dateOrDateTime)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | dateOrDateTime | Object | Date or Datetime value to calculate the date function value of |
27 |
28 | #### Return Type
29 | **Integer**
30 |
31 | The date function value of the date or datetime value
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextNWeeksComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for NEXT_N_WEEKS
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class NextNWeeksComparable extends DateLiteralComparable {
8 | public override Boolean isLessThan(DateTime fieldValue) {
9 | return fieldValue < Gmt.today().toStartOfWeek().addDays(7);
10 | }
11 |
12 | public override Boolean isGreaterThan(DateTime fieldValue) {
13 | DateTime nextNWeeks = Gmt.today().toStartOfWeek().addDays(this.n * 7);
14 | return fieldValue >= nextNWeeks.addDays(1);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/VALUE_LIST_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":null,"nodeType":"value list","left":{"right":null,"nodeType":"string","left":{"right":null,"nodeType":"value list","left":{"right":null,"nodeType":"string","left":null,"id":"test2"},"id":"value list"},"id":"test"},"id":"value list"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"firstname"},"id":"in"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Contact WHERE FirstName IN ('test', 'test2')"}
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/InHandler.md:
--------------------------------------------------------------------------------
1 | # InHandler Class
2 |
3 | Handler for IN operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the IN operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/parser/sub-parser/OrderByParserTest.cls:
--------------------------------------------------------------------------------
1 | @IsTest
2 | @SuppressWarnings('PMD.ApexUnitTestClassShouldHaveAsserts')
3 | private class OrderByParserTest {
4 | @IsTest
5 | static void selectIdFromAccountOrderByNameId() {
6 | ParserTestUtil.assertStaticResource('ORDER_BY_0');
7 | }
8 |
9 | @IsTest
10 | static void orderByDesc() {
11 | ParserTestUtil.assertStaticResource('ORDER_BY_1');
12 | }
13 |
14 | @IsTest
15 | static void nullsFirst() {
16 | ParserTestUtil.assertStaticResource('ORDER_BY_2');
17 | }
18 |
19 | @IsTest
20 | static void nullsLast() {
21 | ParserTestUtil.assertStaticResource('ORDER_BY_3');
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/LikeHandler.md:
--------------------------------------------------------------------------------
1 | # LikeHandler Class
2 |
3 | Handles the LIKE operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the LIKE operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/OperatorHandlerFactory.md:
--------------------------------------------------------------------------------
1 | # OperatorHandlerFactory Class
2 |
3 | Provides a factory for creating operator handlers.
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `getHandler(operator)`
15 |
16 | Creates an operator handler based on the operator provided.
17 |
18 | #### Signature
19 | ```apex
20 | public IOperatorHandler getHandler(String operator)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | operator | String | `String` |
27 |
28 | #### Return Type
29 | **[IOperatorHandler](IOperatorHandler.md)**
30 |
31 | ,[object Object]
32 |
33 | #### Throws
34 | QueryException:
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/DateFuncFactory.md:
--------------------------------------------------------------------------------
1 | # DateFuncFactory Class
2 |
3 | Factory class to create date functions by name
4 |
5 | **Since**
6 |
7 | 1/17/2025
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `create(name)`
15 |
16 | Create a date function by name
17 |
18 | #### Signature
19 | ```apex
20 | public static IDateFunc create(String name)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | name | String | Name of the date function to create |
27 |
28 | #### Return Type
29 | **[IDateFunc](IDateFunc.md)**
30 |
31 | Instance of an IDateFunc
32 |
33 | #### Throws
34 | IllegalArgumentException: if the name is not a valid date function
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/IOperatorHandler.md:
--------------------------------------------------------------------------------
1 | # IOperatorHandler Interface
2 |
3 | comparison handlers for WHERE and HAVING clauses
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `handle(sObjectFieldValue, fieldValue)`
15 |
16 | Handles the comparison of the field value and the sObject field value
17 |
18 | #### Signature
19 | ```apex
20 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | sObjectFieldValue | Object | `Object` |
27 | | fieldValue | Object | `Object` |
28 |
29 | #### Return Type
30 | **Boolean**
31 |
32 | ,[object Object]
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/NotInHandler.md:
--------------------------------------------------------------------------------
1 | # NotInHandler Class
2 |
3 | Handles the NotIn operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the NotIn operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_YEAR_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_year"},"id":"name"},"id":"select"},"query":"SELECT Name, CALENDAR_YEAR(CreatedDate) FROM Account GROUP BY Name, CALENDAR_YEAR(CreatedDate)"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisMonthComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for THIS_MONTH
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class ThisMonthComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime startOfMonth = Gmt.today().toStartOfMonth();
10 | return fieldValue >= startOfMonth.addMonths(1);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime startOfMonth = Gmt.today().toStartOfMonth();
15 | return fieldValue < startOfMonth;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/EqualityHandler.md:
--------------------------------------------------------------------------------
1 | # EqualityHandler Class
2 |
3 | Handles the equality operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the equality operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/ExcludesHandler.md:
--------------------------------------------------------------------------------
1 | # ExcludesHandler Class
2 |
3 | Handles the excludes operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the excludes operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/ALIAS_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"account.name"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":{"right":null,"nodeType":"alias","left":null,"id":"acctName"},"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"id"},"nodeType":"aggregate function","left":null,"id":"count"},"id":"name"},"id":"account.name"},"id":"select"},"query":"SELECT Account.Name acctName, Name, COUNT(Id) FROM Contact GROUP BY Name, Account.Name"}
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastWeekComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for LAST_WEEK
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class LastWeekComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(-7);
10 | return fieldValue >= startOfWeek.addDays(7);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(-7);
15 | return fieldValue < startOfWeek;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/NextWeekComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for NEXT_WEEK
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class NextWeekComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(7);
10 | return fieldValue >= startOfWeek.addDays(7);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime startOfWeek = Gmt.today().toStartOfWeek().addDays(7);
15 | return fieldValue < startOfWeek;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisFiscalYearComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable for the THIS_FISCAL_YEAR token
3 | * @author Zackary Frazier
4 | * @since 1/7/2025
5 | * @group Soql Engine
6 | */
7 | public with sharing class ThisFiscalYearComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(Datetime fieldValue) {
9 | Date orgFiscalYear = Gmt.startOfThisFiscalYear();
10 | return fieldValue >= orgFiscalYear.addYears(1);
11 | }
12 |
13 | public override Boolean isLessThan(Datetime fieldValue) {
14 | Date orgFiscalYear = Gmt.startOfThisFiscalYear();
15 | return fieldValue < orgFiscalYear;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/CALENDAR_QUARTER_0.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"group by","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_quarter"},"id":"name"},"id":"group by"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":{"right":null,"nodeType":"field","left":null,"id":"createddate"},"nodeType":"aggregate function","left":null,"id":"calendar_quarter"},"id":"name"},"id":"select"},"query":"SELECT Name, CALENDAR_QUARTER(CreatedDate) FROM Account GROUP BY Name, CALENDAR_QUARTER(CreatedDate)"}
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/InequalityHandler.md:
--------------------------------------------------------------------------------
1 | # InequalityHandler Class
2 |
3 | Handles the inequality operator
4 |
5 | **Since**
6 |
7 | 3/23/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | **Implements**
14 |
15 | [IOperatorHandler](IOperatorHandler.md)
16 |
17 | ## Methods
18 | ### `handle(sObjectFieldValue, fieldValue)`
19 |
20 | Handles the inequality operator
21 |
22 | #### Signature
23 | ```apex
24 | public Boolean handle(Object sObjectFieldValue, Object fieldValue)
25 | ```
26 |
27 | #### Parameters
28 | | Name | Type | Description |
29 | |------|------|-------------|
30 | | sObjectFieldValue | Object | `Object` |
31 | | fieldValue | Object | `Object` |
32 |
33 | #### Return Type
34 | **Boolean**
35 |
36 | ,[object Object]
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/ThisWeekComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for THIS_WEEK
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class ThisWeekComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime startOfWeek = Gmt.dateTime(Gmt.today().toStartOfWeek());
10 | return fieldValue >= startOfWeek.addDays(7);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime startOfWeek = Gmt.dateTime(Gmt.today().toStartOfWeek());
15 | return fieldValue < startOfWeek;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/WHERE_1.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":{"right":null,"nodeType":"where","left":{"right":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contact"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"accountid"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"nodeType":"operator","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"in"},"id":"where"},"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":null,"id":"id"},"id":"select"},"query":"SELECT Id FROM Account WHERE Id IN (SELECT AccountId FROM Contact)"}
--------------------------------------------------------------------------------
/docs/apexdocs/soql-engine/DateFuncs.md:
--------------------------------------------------------------------------------
1 | # DateFuncs Class
2 |
3 | Repository of aggregate date functions
4 |
5 | **Since**
6 |
7 | 4/28/2024
8 |
9 | **Group** Soql Engine
10 |
11 | **Author** Zackary Frazier
12 |
13 | ## Methods
14 | ### `execute(dateFunc, dateOrDateTimeValue)`
15 |
16 | Determins which date function to execute and executes it
17 |
18 | #### Signature
19 | ```apex
20 | public static Integer execute(String dateFunc, Object dateOrDateTimeValue)
21 | ```
22 |
23 | #### Parameters
24 | | Name | Type | Description |
25 | |------|------|-------------|
26 | | dateFunc | String | `String` |
27 | | dateOrDateTimeValue | Object | `Date|Datetime` |
28 |
29 | #### Return Type
30 | **Integer**
31 |
32 | ,[object Object]
33 |
34 | #### Throws
35 | IllegalArgumentException:
--------------------------------------------------------------------------------
/moxygen/main/default/classes/database/soql-engine/interpreter/operator-handler/date-literal-comparable/LastMonthComparable.cls:
--------------------------------------------------------------------------------
1 | /**
2 | * @description Comparable class for LAST_MONTH
3 | * @author Zackary Frazier
4 | * @since 12/29/2024
5 | * @group Soql Engine
6 | */
7 | public with sharing class LastMonthComparable extends DateLiteralComparable {
8 | public override Boolean isGreaterThan(DateTime fieldValue) {
9 | DateTime startOfMonth = Gmt.today().toStartOfMonth().addMonths(-1);
10 | return fieldValue >= startOfMonth.addMonths(1);
11 | }
12 |
13 | public override Boolean isLessThan(DateTime fieldValue) {
14 | DateTime startOfMonth = Gmt.today().toStartOfMonth().addMonths(-1);
15 | return fieldValue < startOfMonth;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/moxygen/main/default/staticresources/SELECT_9.json:
--------------------------------------------------------------------------------
1 | {"ast":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"account"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":{"right":{"right":null,"nodeType":"from","left":{"right":null,"nodeType":"object","left":null,"id":"contacts"},"id":"from"},"nodeType":"select","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":{"right":null,"nodeType":"field","left":null,"id":"lastname"},"id":"firstname"},"id":"id"},"id":"select"},"nodeType":"subquery","left":null,"id":"subquery"},"id":"name"},"id":"id"},"id":"select"},"query":"SELECT Id, Name, (SELECT Id, FirstName, LastName FROM Contacts) FROM Account"}
--------------------------------------------------------------------------------